OBS/Makros und Scripting/Allgemeines/Übersicht Prozeduren: Unterschied zwischen den Versionen
Nimz (Diskussion | Beiträge) |
Nimz (Diskussion | Beiträge) |
||
Zeile 38: | Zeile 38: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeigt nacheinander folgende Meldungen:<br /> | Zeigt nacheinander folgende Meldungen:<br /> | ||
<gallery widths= | <gallery widths=300px> | ||
File:ProcMeldungBsp1.jpg|Beispiel 1 | File:ProcMeldungBsp1.jpg|Beispiel 1 | ||
File:ProcMeldungBsp2.jpg|Beispiel 2 | File:ProcMeldungBsp2.jpg|Beispiel 2 |
Aktuelle Version vom 12. April 2019, 10:01 Uhr
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.
Beispiel:
function StartProc():Boolean;
begin
//Beispiel 1
Meldung('Hallo Welt!');
//Beispiel 2
Meldung('Hallo Welt!','Grüße');
/Beispiel 3
Meldung('Ups, da ist etwas falsch gelaufen.','Fehler',True,True);
end;
Zeigt nacheinander folgende Meldungen:
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.
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;