Sign in Join
Wiki copytemporary

Console parameters/de

│ Deutsch (de) │


Zurück zur Konsolenseite.

Contents

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:

pascal
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:

pascal
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:

pascal
...
      
    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;
      
      ...

From the Free Pascal wiki, page "Console parameters/de", as the Internet Archive kept it on 2025-03-27, last changed on 2020-02-12. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.