OBS/Makros und Scripting/Allgemeines/Übersicht Prozeduren

Aus OBS Wiki
Zur Navigation springen Zur Suche springen


Hier finden Sie nützliche Prozeduren, die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.

Liste der Prozeduren

MyFreeAndNil

Definition:

procedure MyFreeAndNil(var Obj);

Erklärung:
Schließt die Instanz eines Objektes und gibt den reservierten Arbeitsspeicher wieder frei. Die Objekt-Variable wird dabei auf nil (Nullwert in Delphi/Pascal) gesetzt.

Beispiel:

oBeispiel := TObject.Create();
MyFreeAndNil(oBeispiel);
//oBeispiel ist jetzt nil

Meldung

Definition:

procedure Meldung(const cMessage: String; cTitle: String = ''; lShowIcon: Boolean = True; lErrorIcon: Boolean = False);

Erklärung:
Zeigt eine Meldung auf dem Bildschirm an. Dies kann z. B. als Rückmeldung am Ende eines Makros eingebaut werden, um dem Benutzer mitzuteilen, dass das Ende erreicht ist.

HINWEIS: Der Parameter lShowIcon hate hier keine weitere Verwendung und wird intern immer als "True" behandelt.


Beispiel:

function StartProc():Boolean;
begin
    Meldung('Hallo Welt!');
    Meldung('Hallo Welt!','Grüße');
    Meldung('Ups, da ist etwas falsch gelaufen.','Fehler',True,True);
end;

Zeigt nacheinander folgende Meldungen:
ProcMeldungBsp1.jpg ProcMeldungBsp2.jpg ProcMeldungBsp3.jpg

FindFile

Definition:

procedure FindFile(RootFolder: string; Mask: string; var Erg_StringList : TStringList; Recurse: Boolean = True);

Erklärung:
Erstellt eine Liste Erg_StringList aus Dateipfaden, deren Dateiname und Typ der Maske Mask enspricht, ausgehend vom Verzeichnis-Pfad RootFolder. Wenn auch alle Unterverzeichnisse durchlaufen werden sollen, ist Recurse mit True ansonsten mit False zu übergeben.

HINWEIS: * ist ein Platzhalter für beliebige Zeichen. Um z. B. nur csv-Dateien zu selektieren, müsste die Maske den Wert "*.csv" erhalten. Für alle Dateien ist "*.*" zu verwenden.

siehe auch:


function StartProc():Boolean;
var oDateiListe : TStringList;
    i           : integer;
begin
    //Erstellt eine Liste, in der die Dateien des Verzeichnisses aufgelistet werden können
    oDateiListe := TStringList.Create();
    //Schreibt alle im Verzeichnis enthaltenen Dateien mit der Dateiendung "csv" in die Liste
    FindFile('c:\csvDateien\','*.csv',oDateiListe,False);
    //Geht die Liste durch und importiert eine Datei nach der anderen
    for i:=0 to oDateiListe.Count-1 do begin
        ImportiereDatei(oDateiListe[i]);
    end;
    MyFreeAndNil(oDateiListe);
end;