易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 流分割与合并文件的函数

//分割文件的函数
{参数 1 是要分割的文件名; 参数 2 是要风格文件的大小, 单位是 KB}
{分割后的文件名扩展名用序号替换}
function SplitFile(const FileName: string; Size: Cardinal): Boolean;
var
 fStream: TFileStream;  {原始文件}
 toStream: TMemoryStream; {分文件}
 p,i: Integer;      {p 记录当前指针位置; i 记录这是第几个分的文件}
begin
 Result := False;
 Size := Size * 1024;   {把大小的单位转换为字节}
 fStream := TFileStream.Create(FileName, fmOpenRead);
 p := 0;
 i := 0;
 
 toStream := TMemoryStream.Create;
 
 while p < fStream.Size do
 begin
  toStream.Clear;    {清空上次数据}
  fStream.Position := p; {放好指针位置}
 
  if fStream.Size-p < Size then Size := fStream.Size-p; {最后一个时, 有多少算多少}
 
  toStream.Copyfrom(fStream, Size); {复制}
  toStream.SaveToFile(FileName + '.' + IntToStr(i));    {保存}
  Inc(i);
  p := p + Size;
 end;
 
 fStream.Free;
 toStream.Free;
 Result := True;
end;
 
 
//合并文件, 参数是其中一个分文件名
function MergeFile(const FileName: string): Boolean;
var
 ms: TMemoryStream; {读取分文件}
 fs: TFileStream;  {合并后的文件}
 path: string;
 i: Integer;
begin
 path := ChangeFileExt(FileName,''); {去掉序号扩展名} 
 i := 0;
 
 ms := TMemoryStream.Create;
 fs := TFileStream.Create(path, fmCreate);
 
 while FileExists(path + '.' + IntToStr(i)) do
 begin
  ms.LoadfromFile(path + '.' + IntToStr(i));
  fs.Copyfrom(ms, 0); {TFileStream 不需要 SetSize; 但如果用 TMemoryStream 就需要}
  Inc(i);
 end;
 
 ms.Free;
 fs.Free;
end;
 
//测试分割
procedure TForm1.Button1Click(Sender: TObject);
begin
 SplitFile('c:\temp\test


相关文档:

Delphi实现操作Excel示例

implementation
uses ComOBJ;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ExcelAPP1:Variant;
    ExcelApp2:Variant;
    I,j: Integer;
    ID,IDX:string;
begin
try
  ExcelAPP1:=CreateOleObject('Excel.Application');
  E ......

Delphi操作Excel的方法

(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 显示当前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add ......

7 个非常好的免费 Delphi 组件集

1)JEDI - VCL
JEDI-VCL(JVCL) 库构建于 JEDI 社区捐赠的代码。他由超过 400 个可以在你的 Delphi 和 Kylix 项目中立即重用的组件构成。整个 JEDI VCL 在 Mozilla 公共许可证(MPL)条款下分发,他可以自由使用于免费软件和共享软件,以及开放源代码工程和商业项目。
网站:http://jvcl.sourceforge.net
(2)RXLib
RxLib ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号