DOS2UNIX/de

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de)


Zurück zur Seite Zeilenumbruch / Newline.


Das Unterprogramm konvertiert die Zeilenumbrüche einer ASCII- bzw. ANSI-Textdatei vom DOS-Format in das UNIX-Format.

uses
  FileUtil, ...;

  ...

procedure subDos2Unix(const conStrQuellDateiname, conStrZielDateiname: string);
// konvertiert Zeilenumbrüche von Windows, DOS, OS/2, CP/M oder TOS (Atari) nach
// Unix, Linux, Android, Mac OS X, AmigaOS, BSD usw.
var
  txtQuelldatei: file of char;
  txtZieldatei: file of char;
  chrZeichen: char;
  booZeiger: boolean = False;

begin

  assignfile(txtQuelldatei, UTF8ToSys(conStrQuellDateiname));
  assignfile(txtZieldatei, UTF8ToSys(conStrZielDateiname));
  Rewrite(txtZieldatei);
  Reset(txtQuelldatei);
  Reset(txtZieldatei);

  while not EOF(txtQuelldatei) do
  begin

    Read(txtQuelldatei, chrZeichen);

    if (chrZeichen = #13) then
    begin
      booZeiger := True;
      Continue;
    end;

    if (chrZeichen = #10) and (booZeiger = True) then
    begin
      booZeiger := False;
      Write(txtZieldatei, chrZeichen);
      Continue;
    end;

    booZeiger := False;
    Write(txtZieldatei, chrZeichen);

  end;

  closefile(txtQuelldatei);
  closefile(txtZieldatei);

end;

Aufruf unter DOS, Windows:

  subDos2Unix('E:\Test_alt.txt', 'E:\Test_neu.txt');

Aufruf unter Linux:

  subDos2Unix('/home/user/Test_alt.txt', '/home/user/Test_neu.txt');