OBS/Makros und Scripting/Allgemeines/Übersicht Prozeduren: Unterschied zwischen den Versionen
Nimz (Diskussion | Beiträge) |
Nimz (Diskussion | Beiträge) |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 23: | Zeile 23: | ||
Erklärung:<br /> | Erklärung:<br /> | ||
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.<br /> | 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.<br /> | ||
{{Hinweis|Der Parameter ''lShowIcon'' hate hier keine weitere Verwendung und wird intern immer als "True" behandelt.}} | |||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
function StartProc():Boolean; | function StartProc():Boolean; | ||
begin | begin | ||
//Beispiel 1 | |||
Meldung('Hallo Welt!'); | Meldung('Hallo Welt!'); | ||
//Beispiel 2 | |||
Meldung('Hallo Welt!','Grüße'); | Meldung('Hallo Welt!','Grüße'); | ||
Meldung(' | /Beispiel 3 | ||
Meldung('Ups, da ist etwas falsch gelaufen.','Fehler',True,True); | |||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeigt nacheinander folgende Meldungen:<br /> | Zeigt nacheinander folgende Meldungen:<br /> | ||
<gallery widths=300px> | |||
File:ProcMeldungBsp1.jpg|Beispiel 1 | |||
[ | File:ProcMeldungBsp2.jpg|Beispiel 2 | ||
File:ProcMeldungBsp3.jpg|Beispiel 3 | |||
</gallery> | |||
==FindFile== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
procedure FindFile(RootFolder: string; Mask: string; var Erg_StringList : TStringList; Recurse: Boolean = True); | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
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.<br /> | |||
{{Hinweis|'''<nowiki>*</nowiki>''' 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: | |||
*[http://docwiki.embarcadero.com/Libraries/Rio/en/System.Classes.TStringList TStringList]<br /> | |||
<br /> | |||
<syntaxhighlight lang="Delphi"> | |||
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; | |||
</syntaxhighlight> |
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;