Klassen Erstellung

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Re: Klassen Erstellung

Beitragvon Tom » Mi, 25. Apr 2012 12:37

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.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6657
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Klassen Erstellung

Beitragvon messing » Mi, 25. Apr 2012 12:48

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.
Gruß
Bruno
Messing
Benutzeravatar
messing
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 216
Registriert: Mi, 13. Jan 2010 9:42
Wohnort: Lauterbach / Hessen

Re: Klassen Erstellung

Beitragvon AUGE_OHR » Do, 26. Apr 2012 5:53

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 ... ;)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10065
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Klassen Erstellung

Beitragvon messing » Mo, 07. Mai 2012 15:16

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.
Gruß
Bruno
Messing
Benutzeravatar
messing
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 216
Registriert: Mi, 13. Jan 2010 9:42
Wohnort: Lauterbach / Hessen

Vorherige

Zurück zu OOP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast