Difference between revisions of "Console parameters/de"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Console parameters}} <br> __TOC__ Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als ...")
 
m (Fixed syntax highlighting; deleted category already in page template)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Console parameters}}
 
{{Console parameters}}
<br>
+
 
 +
Zurück zur [[Console/de|Konsolenseite]].
 +
 
 +
 
 
__TOC__
 
__TOC__
 +
 +
=Auswertung der an der Konsole übergebenen Parameter=
 +
 
Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als '''Programm''' erstellt wurden.<br>
 
Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als '''Programm''' erstellt wurden.<br>
Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.<br>
+
Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.
<br>
+
 
 
=Hilfedatei=
 
=Hilfedatei=
 +
 
Die Hilfedatei:
 
Die Hilfedatei:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
unit uHilfe;
 
unit uHilfe;
  
Line 27: Line 35:
 
end.
 
end.
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
 
=Parameterauswertung=
 
=Parameterauswertung=
 +
 
Beispiel für die Parameterauswertung:
 
Beispiel für die Parameterauswertung:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
unit uParameter;
 
unit uParameter;
  
Line 88: Line 98:
 
end.
 
end.
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
 
=Hauptprogramm=
 
=Hauptprogramm=
 +
 
Beispiel für das Hauptprogramm:
 
Beispiel für das Hauptprogramm:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
    
 
    
 
   ...
 
   ...
Line 129: Line 141:
 
    
 
    
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 19:21, 20 February 2014 (CET)
 
[[Category:Tutorials/de]][[Category:Console/de]]{{AutoCategory}}
 

Latest revision as of 01:16, 12 February 2020

Deutsch (de)

Zurück zur Konsolenseite.


Auswertung der an der Konsole übergebenen Parameter

Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als Programm erstellt wurden.
Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.

Hilfedatei

Die Hilfedatei:

unit uHilfe;

{$mode objfpc}{$H+}
{$IMPLICITEXCEPTIONS OFF}

interface

procedure subHilfe;

implementation

procedure subHilfe;
begin
  // hier steht die Hilfe für die Konsolenausgabe
  WriteLn('...');
end;

end.

Parameterauswertung

Beispiel für die Parameterauswertung:

unit uParameter;

{$mode objfpc}{$H+}
{$IMPLICITEXCEPTIONS OFF}

interface

uses
  SysUtils;

// hier können noch mehr Funktionen und Prozeduren deklariert werden
function funHatParameter: boolean;
function funHatHilfeParameter: boolean;

implementation

function funHatParameter: boolean;
begin
  Result := False;
  
  // Prüft, ob es Parameter jenseits
  // von ParamStr(0) gibt
  if ParamCount > 0 then
    Result := True;
end;



function funHatHilfeParameter: boolean;
var
  intI: integer;

begin

  // Prüft alle übergebenen Parameter, ob einer von Ihnen die Hilfe aufruft
  // ParamStr(0) enthält immer Pfad und Dateiname
  for intI := 1 to ParamCount do
  begin
    // Wandelt den Parameter in Kleinbuchstaben um
    case LowerCase(ParamStr(intI)) of
      '-?', '--?', '/?':
        Result := True;
      '-h', '--h', '/h':
        Result := True;
      '-help', '--help', '/help':
        Result := True;
      '-hilfe', '--hilfe', '/hilfe':
        Result := True;
      else
        Result := False;
    end;
  end;

end;

end.

Hauptprogramm

Beispiel für das Hauptprogramm:

  
  ...
  
uses
  uParameter, uHilfe, ...;
  
  ...
  
    // Prüft, ob das Programm mit Parametern gestartet wurde
    if uParameter.funHatParameter = True then
    begin
      
      // Prüft, ob an der Konsole / Terminal die Hilfe angefordert wurde
      if uParameter.funHatHilfeParameter = True then
      begin
        
        // Gibt die Hilfe aus
        uHilfe.subHilfe;
        
        // Beendet das Programm mit dem Rückgabewert 0
        // d. h. es sind keine Fehler aufgetreten
        Halt(0);
      end;
      
      // unter Umständen weitere Prüfungen auf Parameter
      
      ...
      
    else
      
      // Was passiert, wenn das Programm ohne Parameter gestartet wurde
      
    end;
  
  ...