Linux distribution recognize/de

From Free Pascal wiki
Jump to navigationJump to search
Crystal 128 penguin.png

Dieser Artikel behandelt ausschließlich Linux.

Siehe auch: Multiplatform Programming Guide/de

Deutsch (de)

Zurück zur Seite Code Beispiele.

Dieser Artikel beschäftigt sich mit der Linuxprogrammierung.

Die Prozedur ermittelt den Namen der aktuellen Linuxdistribution.

uses
  SysUtils, ...;

  ...

function funLeseDatei: string;
var
  txtDatei: Textfile;
begin
  Assignfile(txtDatei, '/etc/issue'); // weist txtDatei die Datei zu
  reset(txtDatei); // oeffnet die Datei zum lesen
  readln(txtDatei, Result); // liest die erste Zeile
  Closefile(txtDatei); // schliesst die Datei
end;



function funLinuxDistribution: string;
var
  strDistribution: string;

begin

  Result := '';

  strDistribution := funLeseDatei;
  if strDistribution = '' then
    exit;

  // Wandelt alle Grossbuchstaben in Kleinbuchstaben um
  strDistribution := LowerCase(strDistribution);

  // ermittelt die Distribution
  if Pos('debian', strDistribution) > 0 then
    Result := 'debian'
  else if Pos('kubuntu', strDistribution) > 0 then
    Result := 'kubuntu'
  else if Pos('red hat', strDistribution) > 0 then
    Result := 'red hat'
  else if Pos('suse', strDistribution) > 0 then
    Result := 'suse'
  else if Pos('ubuntu', strDistribution) > 0 then
    Result := 'ubuntu';
  // .. und der Distributionen mehr ...

end;
  
  ...

Auf Systemen, die dem Linux Standard Base Standard folgen, kann die Datei /etc/lsb-release ausgelesen werden.