Показать сообщение отдельно

  #25  
Старый 30.05.2007, 09:38
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами: 10088966

Репутация: 646


По умолчанию

Код:
procedure FileToPas(FileName: string);
var
  BF: file of Byte;
  F: TextFile;
  N, S: string;
  BFSize: integer;
  BBB: Byte;
begin
  AssignFile(BF, FileName);
  Reset(BF);
  BFSize := FileSize(BF);
  N := ChangeFileExt(FileName, '.PAS');
  AssignFile(F, N);
  ReWrite(F);
  Writeln(F, 'unit ' + ExtractFileName(ChangeFileExt(N, '')) + ';');
  Writeln(F);
  Writeln(F, 'interface');
  Writeln(F);
  Writeln(F, 'const FileSize:integer=' + IntToStr(BFSize) + ';');
  Writeln(F, 'FileData:array[0..' + IntToStr(BFSize - 1) + '] of Byte=');
  Writeln(F, '(');
    while not Eof(BF) do
      begin
        S := '';
          while (not Eof(BF)) and (Length(S) < 80) do
            begin
              Read(BF, BBB);
              S := S + IntToStr(BBB) + ',';
            end;
        if Eof(BF) then
          Delete(S, Length(S), 1);
        Writeln(F, S);
      end;
  CloseFile(BF);
  Writeln(F, ');');
  Writeln(F);
  Writeln(F, 'procedure SaveToFile(FileName:String);');
  Writeln(F);
  Writeln(F, 'implementation');
  Writeln(F);
  Writeln(F, 'procedure SaveToFile(FileName:String);');
  Writeln(F, 'var F: File;');
  Writeln(F, 'begin');
  Writeln(F, 'AssignFile(F,FileName);');
  Writeln(F, 'ReWrite(F,1);');
  Writeln(F, 'BlockWrite(F, FileData, FileSize);');
  Writeln(F, 'CloseFile(F);');
  Writeln(F, 'end;');
  Writeln(F);
  Writeln(F, 'end.');
  CloseFile(F);
end;