Difference between revisions of "Linux distribution recognize/de"

From Lazarus wiki
Jump to navigationJump to search
m
(add hint about LSB)
Line 1: Line 1:
 
{{Linux distribution recognize}}
 
{{Linux distribution recognize}}
<br>
+
 
Zurück zur Seite [[code examples/de|Code Beispiele]].<br>
+
Zurück zur Seite [[code examples/de|Code Beispiele]].
<br>
+
 
Dieser Artikel beschäftigt sich mit der Linuxprogrammierung.<br>
+
Dieser Artikel beschäftigt sich mit der Linuxprogrammierung.
Die Prozedur ermittelt den Namen der aktuellen Linuxdistribution.<br>
+
 
<br>
+
Die Prozedur ermittelt den Namen der aktuellen Linuxdistribution.
 +
 
 
<syntaxhighlight>
 
<syntaxhighlight>
 
uses
 
uses
Line 16: Line 17:
 
   txtDatei: Textfile;
 
   txtDatei: Textfile;
 
begin
 
begin
   Assignfile(txtDatei, '/etc/issue'); //Weist txtDatei die Datei zu   --  hier z.B. :  Linux Mint 18.2 Sonya \n \l
+
   Assignfile(txtDatei, '/etc/issue'); // weist txtDatei die Datei zu
   reset(txtDatei); //Öffnet die Datei zum lesen
+
   reset(txtDatei); // oeffnet die Datei zum lesen
   readln(txtDatei, Result); //liest die erste Zeile
+
   readln(txtDatei, Result); // liest die erste Zeile
   Closefile(txtDatei); //Schließt die Datei
+
   Closefile(txtDatei); // schliesst die Datei
 
end;
 
end;
  
Line 57: Line 58:
 
    
 
    
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 06:35, 30 May 2013 (UTC)
 
  
 +
Auf Systemen, die dem [https://www.linuxbase.org/ Linux Standard Base] Standard folgen, kann die Datei <tt>/etc/lsb-release</tt> ausgelesen werden.
  
 
{{AutoCategory}}
 
{{AutoCategory}}
 
[[Category:Code Snippets/de]]
 
[[Category:Code Snippets/de]]

Revision as of 03:16, 30 January 2018

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.