Seite 2 von 2

Re: Klassen Erstellung

Verfasst: Mi, 25. Apr 2012 13:37
von Tom
Wenn man das ein bisschen erweitert, kommt man zu einer Get/Set-Funktion, dem Mittel der Wahl, um beispielsweise Optionen applikationsglobal zu setzen, ohne mit PUBLICs arbeiten zu müssen:

Code: Alles auswählen

FUNCTION AufrufNr(nX)
STATIC nI := 0
IF PCount()>0
  nI := nX
  ELSE
  nI ++
ENDIF
RETURN nI
Die Funktion retourniert, wenn sie ohne den Parameter aufgerufen wird, den inkrementierten Zähler ("Get"-Anteil), und bei Aufruf mit Parameter setzt sie ihn auf den übergebenen Wert ("Set"-Anteil). Ergänzend könnte sie noch irgendwas in XPF/INI/XML-Dateien oder in der Registry speichern bzw. von dort abholen.

Re: Klassen Erstellung

Verfasst: Mi, 25. Apr 2012 13:48
von messing
Martin Altmann hat geschrieben:kleiner Hinweis am Rand: Wenn Du eine Variable in der Funktion oder Prozedur als STATIC deklarierst, dann merkt sie sich sehr wohl den Wert!
Beispiel:

Code: Alles auswählen

PROCEDURE AufrufNr()
STATIC nI := 0
? "Dies ist der " + ALLTRIM( STR( nI++ ) ) + ". Aufruf der Prozedur."
RETURN
Wenn Du das jetzt aufrufst, kommt jeweils die folgende Ausgabe auf den Bildschirm:

Code: Alles auswählen

AufrufNr() // -> Dies ist der 1. Aufruf der Prozedur.
AufrufNr() // -> Dies ist der 2. Aufruf der Prozedur.
AufrufNr() // -> Dies ist der 3. Aufruf der Prozedur.
AufrufNr() // -> Dies ist der 4. Aufruf der Prozedur.
Viele Grüße,
Martin
Servus Martin,
Danke für die nachgeworfenen Blumen, hättest Du nicht den Topf abmachen können :D ?
OK. Ja, ja, ich geb euch nicht die Schuld wenn mein Kopf platzt :D , also her mit den Infos. :D
Hoffe Du bist ebenfalls gut Zuhaus angekommen.

Re: Klassen Erstellung

Verfasst: Do, 26. Apr 2012 6:53
von AUGE_OHR
messing hat geschrieben:na gut Heim gekommen?
YUP ... und fleissig am erforschen was die Devcon Build kann/macht
messing hat geschrieben:validate, hilf mal auf die sprünge.
naja ob die Uhrzeit auch gültig ist ;)
messing hat geschrieben:Mit SLE verknüpfen meine ich eigentlich, Eingabe von zwei SLE mit versch, Zeiten, welche dann auf das Objekt zugreifen und somit in einem SLE oder Static die Differenz erscheint.
Ich hab erst mal damit angefangen, um den Aufbau der Klassen besser zu verstehen.
eine SLE hat ja nicht wie ein GET eine PICTURE, also musst du nun mit val(substr()) arbeiten um daraus HH:MM:SS zu machen.

als Erweiterung deine Class dachte ich an ein weiteres "zerlegen" des HH:MM:SS String in 3 SLE

wenn man 3 x SLE nimmt könnte man auch leichter jedes einzelnen SLE "ansteuern" z.b. mit einem Spinbutton wie es auch das Windows Control hat (Option).
mit der "+" und "-" könnte man dann auch das SLE für HH, MM oder SS "ansteuern".

Nachteil : das von Tom angesprochene Focus Thema der dann 3 Objecte in deiner Class.

Frage : sind die Uhrzeiten Abschnitte "konstant" ( alle 15min ), dann könnte man man das ganze noch mit einer Combobox und inkrementeller suche verknüpfen ... ;)

Re: Klassen Erstellung

Verfasst: Mo, 07. Mai 2012 16:16
von messing
AUGE_OHR hat geschrieben: Frage : sind die Uhrzeiten Abschnitte "konstant" ( alle 15min ), dann könnte man man das ganze noch mit einer Combobox und inkrementeller suche verknüpfen ... ;)
Servus Jimmy, nein, wird Minutengenau benötigt.