Difference between revisions of "ubuntu kernelversion number/de"
From Lazarus wiki
Jump to navigationJump to searchm (nicer syntax highlighting) |
m (more highlighting) |
||
Line 57: | Line 57: | ||
Das ganze läßt sich strukturierter mit {{Doc|package=RTL|unit=baseunix=identifier=fpuname|text=<syntaxhighlight lang="pascal" enclose="none">FPUname</syntaxhighlight>}} ermitteln: | Das ganze läßt sich strukturierter mit {{Doc|package=RTL|unit=baseunix=identifier=fpuname|text=<syntaxhighlight lang="pascal" enclose="none">FPUname</syntaxhighlight>}} ermitteln: | ||
− | <syntaxhighlight lang="pascal" line start="0" highlight=" | + | <syntaxhighlight lang="pascal" line start="0" highlight="3-5,16-17,21,27-28"> |
program kerninfo(input, output, stderr); | program kerninfo(input, output, stderr); | ||
Revision as of 17:57, 11 February 2018
Zurück zur Seite Code Beispiele.
Dieser Artikel beschäftigt sich mit der Linuxprogrammierung (Ubuntu).
Die Prozedur ermittelt die aktuelle Versionsnummer des Kernels.
uses
SysUtils, ...;
...
function funLeseDatei: string;
var
txtDatei: Textfile;
begin
Assignfile(txtDatei, '/proc/version'); // 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 funKernelversionsNummer: string;
var
intI: integer = 0;
intZaehler: integer = 0;
strProcVersion: string = '';
begin
Result := '';
strProcVersion := funLeseDatei();
if strProcVersion = '' then
exit;
for intI := 1 to Length(strProcVersion) do
begin
if (strProcVersion[intI] = '-') then
begin
intZaehler := intZaehler + 1;
if intZaehler > 1 then break;
end;
if (strProcVersion[intI] in ['0'..'9', '.', '-']) then
Result := Result + strProcVersion[intI];
end;
end;
...
Das ganze läßt sich strukturierter mit FPUname
ermitteln:
0program kerninfo(input, output, stderr);
1
2uses
3 // baseUnix for fpUname
4 baseunix,
5 // sysutils for format
6 sysutils,
7 // gettext for internationalization
8 gettext;
9
10resourcestring
11 unameFailure = 'uname(2) failed';
12 releaseNumber = 'release number: %0:s';
13 versionNumber = 'version number: %0:s';
14
15var
16 kernelInfo: utsName;
17begin
18 translateResourceStrings('./' + applicationName() + '.%s.mo');
19
20 if fpUname(kernelInfo) <> 0 then
21 begin
22 writeLn(stderr, unameFailure);
23 halt(1);
24 end;
25
26 writeLn(format(releaseNumber, [kernelInfo.release]));
27 writeLn(format(versionNumber, [kernelInfo.version]));
28end.