Difference between revisions of "Linux distribution recognize/de"

From Lazarus wiki
Jump to navigationJump to search
(add hint about LSB)
m (Fixed syntax highlighting; deleted category included in page template)
 
Line 7: Line 7:
 
Die Prozedur ermittelt den Namen der aktuellen Linuxdistribution.
 
Die Prozedur ermittelt den Namen der aktuellen Linuxdistribution.
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
uses
 
uses
 
   SysUtils, ...;
 
   SysUtils, ...;
Line 60: Line 60:
  
 
Auf Systemen, die dem [https://www.linuxbase.org/ Linux Standard Base] Standard folgen, kann die Datei <tt>/etc/lsb-release</tt> ausgelesen werden.
 
Auf Systemen, die dem [https://www.linuxbase.org/ Linux Standard Base] Standard folgen, kann die Datei <tt>/etc/lsb-release</tt> ausgelesen werden.
 
{{AutoCategory}}
 
[[Category:Code Snippets/de]]
 

Latest revision as of 02:41, 19 February 2020

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.