摘要:
命令行解压缩文件 ShellExecute(Handle,'open',PChar('command.com'), PChar('/c '+ExtractFilePath(ParamStr(0))+'unrar x '+ fabsdir+fupdatecab+' '+fabsdir),nil,sw_show); 阅读全文
摘要:
{-------------------------------------------------------------------------------过程名: MakeFileList 遍历文件夹及子文件夹作者: SWGWEB日期: 2007.11.25参数: Path,FileExt:string 1.需要遍历的目录 2.要遍历的文件扩展名返回值: TStringList Eg:ListBox1.Items:= MakeFileList( 'E:/极品飞车','.exe') ; ListBox1.Items:= MakeFileList( ' 阅读全文
摘要:
ADO:var List: TStringList;begin List:=TStringList.Create; try ADOConnection.GetTableNames(List, True); if List.IndexOf('TableNaem')=-1 then //不存在 else //存在 finally List.Free endend 阅读全文
摘要:
unit MyLib;interfaceuses classes, Printers, DBGrids, Graphics, Sysutils, Windows, Forms, DB, Grids, Dialogs, ComObj, Controls,StdCtrls,ShellAPI;type//打印Tdbgrid TPrnOut = class(TObject) procedure PrintHeader(s:string); procedure PrintFoot(s:string); procedure PrintLine(x1,y1,x2,y2:integer); procedure 阅读全文
摘要:
1.加权移动平均核算成本单价=(不含税库存金额+不含税入库金额)/(库存数量+入库数量)2.先进先出按进货时的单价及数量记录序列,以日期升序提取进价作为销售出库成本单价,核算出库成本金额。3.后进先出按进货时的单价及数量记录序列,以日期降序提取进价作为销售出库成本单价,核算出库成本金额。 4.高进先出按进货时的单价及数量记录序列,以单价降序提取进价作为销售出库成本单价,核算出库成本金额。 5.低进先出按进货时的单价及数量记录序列,以单价升序提取进价作为销售出库成本单价,核算出库成本金额。6.最高进价在进货时比较刷新最高进价记录,以此进价作为销售出库成本单价,核算出库成本金额。7.最低进价在进货 阅读全文
摘要:
移动平均算法说明: 进行成本计算时,系统自动按照单据业务发生的先后顺序进行出库成本计算,对于入库业务,系统自动计算结存金额、结存单价,结存数量,结存数量=上一笔结存数量+本次入库数量 ,结存金额=上一笔结存金额+本次入库金额,结存单价=结存金额/结存数量,对于出库业务,系统自动取当前的结存单价作为出库单价,并自动计算出库成本。 例如: 数量 单价 金额 某企业 期初结存 10 10 100 3.1购入 10 8 ... 阅读全文
摘要:
对静态数组指针, 虽然在声明之处并没有分配内存, 但这个指针应该分配多少内存是有定数的.这种情况, 我们应该用 New 和 Dispose 来分配与释放内存. 譬如: type TArr1 = array[0..255] of Char; TArr2 = array[0..255] of Integer;var arr1: ^TArr1; arr2: ^TArr2;begin New(arr1); New(arr2); arr1^ := '万一的 Delphi 博客'; ShowMessageFmt('%s%s', [arr1^[0], arr1^[1]]); 阅读全文
摘要:
但在很多时候, 一些参数是结构指针; 特别是在接受数据时, 一般需要手动分配内存. 如果只使用一个单结构指针, 用 New 分配内存是最合适的, 譬如: var p: PPoint; {这是点结构 TPoint 的指针, 系统早定义好的}begin New(p);// p^.X := 1; p^.Y := 2; {或者写成下面这样} p.X := 1; p.Y := 2; ShowMessageFmt('%d,%d', [p.X, p.Y]); Dispose(p);end; 阅读全文
摘要:
StrAlloc 虽然最终也是调用了 GetMem, 但 StrAlloc 会在指针前面添加 Delphi 需要的 4 个管理字节(记录长度).StrAlloc 分配的内存, 用 StrDispose 释放, 用 StrBufSize 获取大小.用 FreeMem 释放可以吗? 这样会少释放 4 个字节.这种类型的指针一般用于 API 函数的参数, 譬如获取窗口标题:--------------------------------------------------------------------------------var p: PChar;begin p := StrAlloc(25 阅读全文
摘要:
FillMemory、ZeroMemory 一目了然的两个函数, 但其实它们都是调用了 FillChar;清空不过就是填充空字符(#0: 编号为 0 的字符), 说来说去是一回事.为了下面的测试, 先写一个以十六进制方式查看内存的函数:--------------------------------------------------------------------------------function GetMemBytes(var X; size: Integer): string;var pb: PByte; i: Integer;begin pb := PByte(X); for 阅读全文