procedure Tfrm_save.btn_saveClick(Sender: TObject);
var cn_file:TextFile; //这是文本文件格式,但也可以保存16进制的数据
s3:Integer; // 既然是16进制数据,就应该是数值而不是字符串
s1:string;
i: Integer;
begin
s3:=12345678; // 同上
AssignFile(Cn_file,'c:\diskinfo.sbj');
Reset(cn_file);
for i:=0 to SizeOf(s3)-1 do
s1 := Chr(PByte(Integer(@s3)+i)^)+s1;
Rewrite(cn_file);
Writeln(cn_file,s1);
closefile(cn_file);
end;12345678保存成十六进制文件后,用ultraedit打开文件,除了看到4E 61 BC 00以外,还将看到末尾有0D 0A,怎样去掉末尾的OD 0A???还有我要求年月日如20051104保存后,用ultraedit打开后,看到的还是原样即20 05 11 04,该怎么做??分不够另外开贴加.....
var cn_file:TextFile; //这是文本文件格式,但也可以保存16进制的数据
s3:Integer; // 既然是16进制数据,就应该是数值而不是字符串
s1:string;
i: Integer;
begin
s3:=12345678; // 同上
AssignFile(Cn_file,'c:\diskinfo.sbj');
Reset(cn_file);
for i:=0 to SizeOf(s3)-1 do
s1 := Chr(PByte(Integer(@s3)+i)^)+s1;
Rewrite(cn_file);
Writeln(cn_file,s1);
closefile(cn_file);
end;12345678保存成十六进制文件后,用ultraedit打开文件,除了看到4E 61 BC 00以外,还将看到末尾有0D 0A,怎样去掉末尾的OD 0A???还有我要求年月日如20051104保存后,用ultraedit打开后,看到的还是原样即20 05 11 04,该怎么做??分不够另外开贴加.....
s1是20051104吧?你根本没有转成16进制的!
SysUtils;var
s: string = '20051102';
tmp: string;
buf: array[0..3] of byte;
f: Integer;
i: integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
for i:=0 to 3 do
begin
tmp:=Copy(s, i*2+1, 2);
buf[i]:=StrToInt(Copy(tmp, 1, 1))*16+StrToInt(Copy(tmp, 2, 1));
end;
f:=FileCreate('1.txt');
FileWrite(f, buf, sizeof(buf));
readln;
end.