Difference between revisions of "Console parameters/de"

From Free Pascal 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
Line 2: Line 2:
 
<br>
 
<br>
 
__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>

Revision as of 20:26, 28 February 2014

Deutsch (de)

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



--Olaf 19:21, 20 February 2014 (CET)