Linux distribution recognize/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.
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.