DOS2UNIX/de

From Lazarus wiki

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');



--Olaf 12:11, 20 August 2013 (CEST)