procedure WriteToStream(Str: string; Stream: TStream);
var
Len: integer;
begin
Len := Length(Str);
Stream.WriteBuffer(Len,sizeof(Len));
if Len > 0 then
Stream.WriteBuffer(Str[1],Len);
end;
var
stream: tfilestream;
str: string;
begin
str := 'i am naughtboy';
stream := tfilestream.Create('c:\aaa.bat',fmcreate);
writetostream(str,stream)
end;
var
BackupName: string;
FileHandle: Integer;
StringLen: Integer;
begin
if SaveDialog1.Execute then
begin
if FileExists(SaveDialog1.FileName) then
begin
BackupName := ExtractFileName(SaveDialog1.FileName);
BackupName := ChangeFileExt(BackupName, '.BAt');
if not RenameFile(SaveDialog1.FileName, BackupName) then