isAnsi/de

From Lazarus wiki

Deutsch (de)
Zurück zur Seite Code Beispiele.

Das Unterprogramm prüft, unabhängig vom zugrunde liegenden Betriebssystem, ob es sich um eine ANSI-Datei handelt.
Mit dieser Methode werden auch ASCII-Dateien als ANSI-Dateien erkannt.
Eine 100 prozentige Methode, eine Textdatei zweifelsfrei als ANSI-Datei zu erkennen, gibt es nicht.

uses
  FileUtil, ...;

  ...

function isAnsi(const conStrQuellDateiname: string): boolean;
var
  txtQuelldatei: file of char;
  chrZeichen: char;

begin

  Result := False;
  AssignFile(txtQuelldatei, UTF8ToSys(conStrQuellDateiname));
  Reset(txtQuelldatei);

  while not EOF(txtQuelldatei) do
  begin

    Read(txtQuelldatei, chrZeichen);

    if (chrZeichen < #32) and (not (chrZeichen in [#9, #10, #13, #26])) then
    begin
      closefile(txtQuelldatei);
      exit;
    end;

  end;

  Result := True;
  closefile(txtQuelldatei);

end;

Aufruf unter Windows:

  ...

  if isAnsi('E:\Test.txt') = True then
    ...

  ...


Aufruf unter Linux:

  ...

  if isAnsi('/home/user/Test.txt') = True then
    ...

  ...



--Olaf 07:26, 28 August 2013 (CEST)