OBS/Makros und Scripting/Allgemeines/Übersicht Prozeduren: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Makros und Scripting}} Hier finden Sie nützliche [https://de.wikipedia.org/wiki/Prozedur_(Programmierung) Funktionen], die Sie in den Makros verwenden könn…“)
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Makros und Scripting}}
{{Makros und Scripting}}
Hier finden Sie nützliche [https://de.wikipedia.org/wiki/Prozedur_(Programmierung) Funktionen], die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.
Hier finden Sie nützliche [https://de.wikipedia.org/wiki/Prozedur_(Programmierung) Prozeduren], die Sie in den Makros verwenden können, um das gewünschte Ergebnis zu erzielen.
=Liste der Prozeduren=
=Liste der Prozeduren=
==MyFreeAndNil==
==MyFreeAndNil==
Zeile 15: Zeile 15:
MyFreeAndNil(oBeispiel);
MyFreeAndNil(oBeispiel);
//oBeispiel ist jetzt nil
//oBeispiel ist jetzt nil
</syntaxhighlight>
==Meldung==
Definition:
<syntaxhighlight lang="Delphi">
procedure Meldung(const cMessage: String; cTitle: String = ''; lShowIcon: Boolean = True; lErrorIcon: Boolean = False);
</syntaxhighlight>
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 />
{{Hinweis|Der Parameter ''lShowIcon'' hate hier keine weitere Verwendung und wird intern immer als "True" behandelt.}}
<br />
Beispiel:
<syntaxhighlight lang="Delphi">
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;
</syntaxhighlight>
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>
</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.

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


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.

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;