如何用Delphi创建一个二进制文件,Up有分 你利用TFilestream很容易做到! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var fs : TFileStream; buf : Pchar; vsize : LongInt;begin strpcopy(buf, 'Provider='); vSize := sizeof(buf); fs := TFileCreate('c:\fs.dat', ftCreate); fs.write(buf, vSize); fs.Free;end; 不难呀!var F:File;begin AssignFile(F,FileName); if FileExists(FileName) then Reset(F) else Rewrite(F); //.......do your things CloseFile(F);end; 同意 blazingfire(烈焰) UP 接分! 回复人: Michaelyfj(向五角星看齐) 你的这段代码无法运行! 回复人: blazingfire(烈焰) l_xiaofeng(流水不腐) 可是我要求的是一个二进制的文件!我觉得blazingfire(烈焰) 只是创建一个普通的文本文件! 将 Michaelyfj(向五角星看齐) 的代码一句改为:fs:=TFileStream.Create('c:\fs.dat',FmCreate); 将 Michaelyfj(向五角星看齐) 的代码改为:(dupenf提示)var fs : TFileStream;// buf : Pchar; buf : array[0..2052] of Char; vsize : LongInt;begin strpcopy(buf, 'Provider='); vSize := sizeof(buf); fs:=TFileStream.Create('c:\fs.dat',FmCreate); fs.write(buf, vSize); fs.Free;end;是创建了一个二进制文件,可是后面的一段二进制码为什么全是乱码,这些乱码是那里来的?如果我想让后面的全是00 00 00 00......怎么办? var fs : TFileStream;// buf : Pchar; buf : array[0..2052] of Char; vsize : LongInt; b : byte;begin strpcopy(buf, 'Provider='); vSize := sizeof(buf); fs:=TFileStream.Create('c:\fs.dat',FmCreate); fs.write(buf, vSize); //////// b:=0; fs.write(b, 1); b:=1; //设为你想要的值如13代表回车9代表Tab符号 fs.write(b, 1); /////// fs.Free;end; var fs : TFileStream;// buf : Pchar; buf : array[0..2052] of Char; vsize : LongInt; b : byte; w : word; c : cardinal;begin strpcopy(buf, 'Provider='); vSize := sizeof(buf); fs:=TFileStream.Create('c:\fs.dat',FmCreate); fs.write(buf, vSize); //////// b:=0; fs.write(b, 1); //byte类型一个字节 w:=1111; //设为你想要的值如13代表回车9代表Tab符号 fs.write(w, 2); //word类型两个字节 c:=0; fs.write(c, 4); //cardinal类型一个字节 /////// fs.Free;end; 谢谢各位的帮忙,经过大家的提示,这样就行了!var fs : TFileStream; strConnect: String; intLength: Integer; Buf : array[0..2052] of Char; vSize : LongInt; i: Integer;begin StrConnect := 'Provider=SQLOLEDB.1;Password=;' + 'Persist Security Info=True;User ID=SA;' + 'Initial Catalog=Juling_Jxc;Data Source=(LOCAL)'; intLength := Length(strConnect); for i := 0 to 2052 do buf[i] := #0; Buf[0] := #1; Buf[1] := #8; Buf[2] := #0; Buf[3] := #0; for i := 4 to intLength + 3 do buf[i] := Char(Ord(strConnect[i-3]) + 128);// strpcopy(buf, 'Provider='); vSize := sizeof(buf); fs:=TFileStream.Create('D:\DataBase.dat',FmCreate); fs.write(buf, vSize); fs.Free;// StrDispose(buf);end; 该用什么工具和技术来制作这些报表 怎么判断一个表是否存在,如存在就删除,不存在就创建? 才鸟问! Delphi5的SN和CDKEY linux编译报错?求大虾解释 很简单的问题, 在线等待...... 关于dbgrid里面子菜单问题. Currency类型存入数据库的问题 Delphi如何调用winpcap 文本文件如何导入access数据库 怎样实现模糊查询 怎样给dbgrid1中对应数据集的某一列用变量赋一个值?
fs : TFileStream;
buf : Pchar;
vsize : LongInt;
begin
strpcopy(buf, 'Provider=');
vSize := sizeof(buf);
fs := TFileCreate('c:\fs.dat', ftCreate);
fs.write(buf, vSize);
fs.Free;
end;
var
F:File;
begin
AssignFile(F,FileName);
if FileExists(FileName) then
Reset(F)
else
Rewrite(F);
//.......do your things
CloseFile(F);
end;
你的这段代码无法运行!
l_xiaofeng(流水不腐)
可是我要求的是一个二进制的文件!
我觉得blazingfire(烈焰) 只是创建一个普通的文本文件!
fs:=TFileStream.Create('c:\fs.dat',FmCreate);
var
fs : TFileStream;
// buf : Pchar;
buf : array[0..2052] of Char;
vsize : LongInt;
begin
strpcopy(buf, 'Provider=');
vSize := sizeof(buf);
fs:=TFileStream.Create('c:\fs.dat',FmCreate);
fs.write(buf, vSize);
fs.Free;
end;
是创建了一个二进制文件,可是后面的一段二进制码为什么全是乱码,
这些乱码是那里来的?如果我想让后面的全是00 00 00 00......
怎么办?
fs : TFileStream;
// buf : Pchar;
buf : array[0..2052] of Char;
vsize : LongInt;
b : byte;
begin
strpcopy(buf, 'Provider=');
vSize := sizeof(buf);
fs:=TFileStream.Create('c:\fs.dat',FmCreate);
fs.write(buf, vSize);
////////
b:=0;
fs.write(b, 1);
b:=1; //设为你想要的值如13代表回车9代表Tab符号
fs.write(b, 1);
///////
fs.Free;
end;
fs : TFileStream;
// buf : Pchar;
buf : array[0..2052] of Char;
vsize : LongInt;
b : byte;
w : word;
c : cardinal;
begin
strpcopy(buf, 'Provider=');
vSize := sizeof(buf);
fs:=TFileStream.Create('c:\fs.dat',FmCreate);
fs.write(buf, vSize);
////////
b:=0;
fs.write(b, 1); //byte类型一个字节
w:=1111; //设为你想要的值如13代表回车9代表Tab符号
fs.write(w, 2); //word类型两个字节
c:=0;
fs.write(c, 4); //cardinal类型一个字节 ///////
fs.Free;
end;
var
fs : TFileStream;
strConnect: String;
intLength: Integer;
Buf : array[0..2052] of Char;
vSize : LongInt;
i: Integer;
begin
StrConnect := 'Provider=SQLOLEDB.1;Password=;'
+ 'Persist Security Info=True;User ID=SA;'
+ 'Initial Catalog=Juling_Jxc;Data Source=(LOCAL)';
intLength := Length(strConnect);
for i := 0 to 2052 do
buf[i] := #0;
Buf[0] := #1; Buf[1] := #8;
Buf[2] := #0; Buf[3] := #0;
for i := 4 to intLength + 3 do
buf[i] := Char(Ord(strConnect[i-3]) + 128);
// strpcopy(buf, 'Provider=');
vSize := sizeof(buf);
fs:=TFileStream.Create('D:\DataBase.dat',FmCreate);
fs.write(buf, vSize); fs.Free;
// StrDispose(buf);
end;