Unterstützung bei OOP
Moderator: Moderatoren
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Unterstützung bei OOP
Hallo Mitglieder,
Ich möchte ein Programm auf GUI erstellen, bzw. ein vorhandenes Umstellen.
Dazu bräuchte ich tatkräftige Unterstützung.
Da bei dieser Umstellung wahrscheinlich viele Ansätze sind, wo ich nachfragen müsste, wollte ich wissen, ob dies in dem Thread GUI gemacht wird, oder in welchen Thread ich da rein sollte.
Ich möchte ein Programm auf GUI erstellen, bzw. ein vorhandenes Umstellen.
Dazu bräuchte ich tatkräftige Unterstützung.
Da bei dieser Umstellung wahrscheinlich viele Ansätze sind, wo ich nachfragen müsste, wollte ich wissen, ob dies in dem Thread GUI gemacht wird, oder in welchen Thread ich da rein sollte.
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Unterstützung bei OOP
Ich kann dir dazu nur eXPress++ empfehlen, da ist die Umstellung einer bestehenden App relativ einfach. Funktioniert auch mit der 1.9Sl prima.
Viele Grüße
Wolfgang
Wolfgang
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hallo Wolfgang,Wolfgang Ciriack hat geschrieben: ↑Sa, 29. Apr 2023 18:51 Ich kann dir dazu nur eXPress++ empfehlen, da ist die Umstellung einer bestehenden App relativ einfach. Funktioniert auch mit der 1.9Sl prima.
Ich wollte eigentlich wissen, ob der Thread GUI dafür der richtige ist.
Ich will pures Xbase++, ohne irgendwelche andere Tools, welche einem das Leben angeblich leichter machen.
Bin was OOP betrifft, Anfänger, da will ich mich noch nicht mit anderen Tools beschäftigen, erstmal Xbase++ !
Ich habe auf der DEVCON 2012 eExpress erworben, Roger hat das Passwort auf einen Bierdeckel geschrieben. Dieses Passwort funktioniert nur bei einer Datei, auf dem USB Stick sind 2 Dateien. Ich habe mehrmals eine Email an Roger gesendet, keine Antwort erhalten. Das habe ich ihm gemailt: The password only works with exp19255.exe, with exp19256 I get the message that the password is wrong.
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Unterstützung bei OOP
hi Bruno,
nun wird Express++ ständig weiter entwickelt und es gibt kein "Subskription" was die neue Update garantiert
aber wenn du v1.9 nutzt kannst du neuer Futures, welche auf v2.x beruhen, eh nicht nutzen
p.s. ein Express++ Upgrade ist längst nicht so (über-) teuer die ein Xbase++ Upgrade
---
ich habe Express++ nie genutzt ... "zu viele" Optionen die Xbase++ "so" nicht hat
das selbe "Problem" habe ich mit FiveWin gegenüber HMG ( Harbour Mini GUI ) welche beide, wie Express, mit @ x,y #Command Befehlen arbeiten können
wenn man aber die #Command Befehle drauf hat kann man mit viel weniger Zeilen eine App schreiben
---
Mein Einstieg in OOP was der Formdesigner XppFD.EXE
damit bekommt man CODE wie sich Alaska das vorstellt
XppFD.EXE erzeugt 2 Dateien welche den Inhalt CLASS Newform und CLASS _Newform enthält
man muss also den CODE modifizieren weil IMMER die selben Namen erzeugt werden
! Achtung : Wenn XppFD.EXE "neuen" Code generiert wird die "_Datei" nicht überschrieben ABER die ohne "_" Datei
wenn du damit arbeitest werden wohl die ersten GUI Fragen kommen weil es unter Windows "anders" funktioniert
du hat die Express xxx erworben für die das Passwort gilt.
nun wird Express++ ständig weiter entwickelt und es gibt kein "Subskription" was die neue Update garantiert
aber wenn du v1.9 nutzt kannst du neuer Futures, welche auf v2.x beruhen, eh nicht nutzen
p.s. ein Express++ Upgrade ist längst nicht so (über-) teuer die ein Xbase++ Upgrade
---
ich habe Express++ nie genutzt ... "zu viele" Optionen die Xbase++ "so" nicht hat
das selbe "Problem" habe ich mit FiveWin gegenüber HMG ( Harbour Mini GUI ) welche beide, wie Express, mit @ x,y #Command Befehlen arbeiten können
wenn man aber die #Command Befehle drauf hat kann man mit viel weniger Zeilen eine App schreiben
---
Mein Einstieg in OOP was der Formdesigner XppFD.EXE
damit bekommt man CODE wie sich Alaska das vorstellt
XppFD.EXE erzeugt 2 Dateien welche den Inhalt CLASS Newform und CLASS _Newform enthält
man muss also den CODE modifizieren weil IMMER die selben Namen erzeugt werden
! Achtung : Wenn XppFD.EXE "neuen" Code generiert wird die "_Datei" nicht überschrieben ABER die ohne "_" Datei
wenn du damit arbeitest werden wohl die ersten GUI Fragen kommen weil es unter Windows "anders" funktioniert
gruss by OHR
Jimmy
Jimmy
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hi Jimmy,
jo das habe ich schon festgestellt, ich soll in der _Datei keine Änderungen machen, wie spreche ich aber einen Button an oder andere Objekt und hole oder ändere Werte.
Ich packe das mal in ne ZIP, wenn Du mal reinschaust und in der MAIN ein Beispiel machst, muss nicht funktionieren, sondern zum verstehen.
Ich hab mir ne Funktion zum Captionwechsel in der Statusbar gemacht, wie kann ich die in den activate eines Buttons machen, wenn die Buttons in der _Datei sind.
Da happert es noch mit dem Verstehen !
jo das habe ich schon festgestellt, ich soll in der _Datei keine Änderungen machen, wie spreche ich aber einen Button an oder andere Objekt und hole oder ändere Werte.
Ich packe das mal in ne ZIP, wenn Du mal reinschaust und in der MAIN ein Beispiel machst, muss nicht funktionieren, sondern zum verstehen.
Ich hab mir ne Funktion zum Captionwechsel in der Statusbar gemacht, wie kann ich die in den activate eines Buttons machen, wenn die Buttons in der _Datei sind.
Da happert es noch mit dem Verstehen !
- Dateianhänge
-
- XFF_Test.zip
- (5.39 KiB) 57-mal heruntergeladen
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Unterstützung bei OOP
Hallo Bruno
es passt wohl nicht ganz zu deiner Frage. Aber ich würde mir an deiner Stelle heute ernsthaft und sehr gut und ausführlich Gedanken darüber machen ob es nicht besser wäre anstelle von NEU in die GUI-Programmierung unter XBase++ einzusteigen nicht gleich einen Schritt weiter zu machen und die APP auf eine zukunftssichere Web-App im Single Page Design umzustellen ......
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Unterstützung bei OOP
hi Bruno,
du hast zwar die CLASS _DISPOEINGABE aber die CLASS DISPOEINGABE taucht nirgends auf
also generiere aus der *.XFF noch mal CLASS CODE mit anderen Namen und hole dir die Sachen aus der neuen Datei. die dort enthaltene MAIN solltest du dann umbenennen
---
was deine MAIN angeht bist du wieder im Cl*pper Style ...
es gibt kein
um Events zu empfangen (um sie dann auszuführen)
sehe ich das richtig das du "nur" Wissen willst ob die "Dispo" App läuft
für den "doppelten" Start der App kommt eine "Prüfung" hier zu spät
wenn die App doppelt läuft hast du die auch doppelt im Taskmanager aber "wie" unterscheiden
deshalb die Prüfung per DLL-Call in der Appsys was ich gepostet habe und nicht die "billlig" Lösung ob man eine DBF Exclusive öffnen kann
wenn er die App findet dann bringt er die App auch "nach vorne" so das der User die "sieht"
p.s. ich würde dem User nur was "zeigen" wenn es die betreffenden Apps im Array "aList" steht
---
in deinen "Schleifen" denkst du wieder nicht daran das die DBF im Zugriff sein "könnte"
solche "Endlos-Schleifen" können Windows "lahm" legen wenn da kein SLEEP erfolgt
---
was noch komplett fehlt sind die SET am Anfang von MAIN wie
auch die Euro Zeichen Einstellung fehlt, hier für OEM
---
ich würde zunächt eine Intro / Login Fenster bauen
von da in das Haupt Fenster mit einem Menu (egal welcher Art)
du hast dann später für jedes Fenster eine PRG
packe alle *.PRG in ein "Project" XPJ File
siehe dir nach jedem der Schritte die entsprechenden Dateien an und du wirst "sehen" was er gemacht hat
bei COMPILE_FLAGS füge /w hinzu und ändere bei GUI auf "yes" und "PROJECT.EXE" in deinen Namen
wenn du später neue Module hast schreibst du die *.PRG in de XPJ unter "STOP-AUTODEPEND" und das entsprechende OBJ unter "START-AUTODEPEN"
! Achtung : wenn man den Debugger startet wird eine Datei "Appname.XPJ" angelegt / überschrieben
---
wenn ich die XFF Datei öffne sehe ich 4 x Button und ein Feld wo "Arbeitsjahr" steht
im Source "sehe" ich das
klar kannst du die Statusbar verwenden wie du will aber "gedacht" ist die Statusbar "unten" in einem Fenster
in der generierten MAIN steht so was
das muss man erweitern um es einer Variable zuzuweisen
danach kannst du dann die Codeblock Slots für die Buttons "belegen"
da du noch keine "Eingabe" Felder eingebaut hast "fehlt" noch die ganze Sache mit dem "Datalink" für XbpSLE
im XppFD kannst du eine DBF auswählen und die FELDer welche er in den Fom-Designer übernehmen soll
aber das ist dann noch ein anderes Thema
wo hast du die DISPOEINGABE.PRG welche zum Anfang generiert wurde
du hast zwar die CLASS _DISPOEINGABE aber die CLASS DISPOEINGABE taucht nirgends auf
also generiere aus der *.XFF noch mal CLASS CODE mit anderen Namen und hole dir die Sachen aus der neuen Datei. die dort enthaltene MAIN solltest du dann umbenennen
---
was deine MAIN angeht bist du wieder im Cl*pper Style ...
es gibt kein
Code: Alles auswählen
nEvent := AppEvent ( @mp1, @mp2, @oXbp )
sehe ich das richtig das du "nur" Wissen willst ob die "Dispo" App läuft
für den "doppelten" Start der App kommt eine "Prüfung" hier zu spät
wenn die App doppelt läuft hast du die auch doppelt im Taskmanager aber "wie" unterscheiden
deshalb die Prüfung per DLL-Call in der Appsys was ich gepostet habe und nicht die "billlig" Lösung ob man eine DBF Exclusive öffnen kann
wenn er die App findet dann bringt er die App auch "nach vorne" so das der User die "sieht"
p.s. ich würde dem User nur was "zeigen" wenn es die betreffenden Apps im Array "aList" steht
---
in deinen "Schleifen" denkst du wieder nicht daran das die DBF im Zugriff sein "könnte"
solche "Endlos-Schleifen" können Windows "lahm" legen wenn da kein SLEEP erfolgt
---
was noch komplett fehlt sind die SET am Anfang von MAIN wie
Code: Alles auswählen
SET EXCLUSIVE OFF // Netzwerk SHARE
SET EPOCH TO YEAR( DATE() ) - 50
SET CENTURY OFF
SET DATE GERMAN
Code: Alles auswählen
SETLOCALE( NLS_ICURRENCYEURO, "1" )
SETLOCALE( NLS_SCURRENCY, CHR( 213 ) )
ich würde zunächt eine Intro / Login Fenster bauen
von da in das Haupt Fenster mit einem Menu (egal welcher Art)
du hast dann später für jedes Fenster eine PRG
packe alle *.PRG in ein "Project" XPJ File
Code: Alles auswählen
DIR *.PRG /B > PROJECT.TXT
PBUILD @PROJECT.TXT
PBUILD PROJECT.TXT.XPJ /g
bei COMPILE_FLAGS füge /w hinzu und ändere bei GUI auf "yes" und "PROJECT.EXE" in deinen Namen
wenn du später neue Module hast schreibst du die *.PRG in de XPJ unter "STOP-AUTODEPEND" und das entsprechende OBJ unter "START-AUTODEPEN"
! Achtung : wenn man den Debugger startet wird eine Datei "Appname.XPJ" angelegt / überschrieben
---
wenn ich die XFF Datei öffne sehe ich 4 x Button und ein Feld wo "Arbeitsjahr" steht
im Source "sehe" ich das
Code: Alles auswählen
::Status := XbpStatusBar():new( ::drawingArea, , {12,440}, {400,40} )
in der generierten MAIN steht so was
Code: Alles auswählen
DispoEingabe():New():Create()
Code: Alles auswählen
LOCAL oDlg
oDlg := DispoEingabe():New():Create()
Code: Alles auswählen
oDlg:Button1:activate := {|| MsgBox("Hello 1") }
oDlg:Button2:activate := {|| MsgBox("Hello 2") }
oDlg:Button3:activate := {|| MsgBox("Hello 3") }
oDlg:Button4:activate := {|| MsgBox("Hello 4") }
im XppFD kannst du eine DBF auswählen und die FELDer welche er in den Fom-Designer übernehmen soll
aber das ist dann noch ein anderes Thema
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Sorry Jimmy,
da ist wohl was falsches in der ZIP gelandet.
Hier nochmal die ZIP.
Ich hab mit XBFDD den Code machen lassen, in der einen _Datei steht man soll keine Änderungen darin sondern in der Datei ohne _
Da in der _Datei die Buttons mit drin stehen, wie kann ich die über die Datei ohne _ Die Codeblöcke an die Buttons zuweisen?
Das war meine Frage?
Meine Dispo funktioniert in einem CrtFenster, also ändert sich nicht viel, ausser das Hybrid WIN32 wird.
Und nein, ich wollte keine Bestätigung das die Dispo läuft.
Für mich heisst das einfach Schritt für Schritt, erstmal muss ich begreifen, wie man Objekte welche in der _Datei gemacht sind, in der MAIN oder einer anderen PRG Datei dann erreicht und anspricht.
Ich habe vor, die Verwaltung, welche momentan in der Dispo mit drin ist, zukünftig getrennt laufen zu lassen. Ich zeig dir mal das Bild momentan. Wie auf dem Bild erkennbar, ist alles in einem, das soll sich beim Neuschreiben ändern, deshalb habe ich mit XBFDD angefangen erstmal ein Dialog für die Eingabe zu erstellen.
- Dateianhänge
-
- XFF_Test.zip
- (5.45 KiB) 57-mal heruntergeladen
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Unterstützung bei OOP
hi Bruno,
du musst den CODE modifizieren wenn du "nachträglich" was ändern willst.
dazu brauchst du eine Variabel die der CLASS zugeordnet wird
alles was "Child" angeht wird mit "Parent:Child" angesprochen
auch Property, Method oder Codeblock Slot werden mit ":" angesprochen
lies bitte die Stellen wo du CODE siehst, da hab ich dir alles geschrieben.
du musst den CODE modifizieren wenn du "nachträglich" was ändern willst.
dazu brauchst du eine Variabel die der CLASS zugeordnet wird
Code: Alles auswählen
oDlg := DispoEingabe():New():Create()
Code: Alles auswählen
oDlg:Button1:activate := {|| MsgBox("Hello 1") }
gruss by OHR
Jimmy
Jimmy
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hi Jimmy,AUGE_OHR hat geschrieben: ↑Mo, 01. Mai 2023 1:34 hi Bruno,lies bitte die Stellen wo du CODE siehst, da hab ich dir alles geschrieben.
du musst den CODE modifizieren wenn du "nachträglich" was ändern willst.
dazu brauchst du eine Variabel die der CLASS zugeordnet wirdalles was "Child" angeht wird mit "Parent:Child" angesprochenCode: Alles auswählen
oDlg := DispoEingabe():New():Create()
auch Property, Method oder Codeblock Slot werden mit ":" angesprochenCode: Alles auswählen
oDlg:Button1:activate := {|| MsgBox("Hello 1") }
wie heisst es so schön? Es hat geklingelt !!! Jetzt hab ich das , sobald ich das New der Variable oDlg zuweise, wird auch New ausgeführt, und alle Objekte kann ich dann über oDlg erreichen, ändern, manipulieren, etc. !
Vielen Dank für den Weckruf , hatte Tomaten auf den Augen ! Nur der Aufruf von New startet zwar das Fenster, aber mehr auch nicht.
Genau das meinte ich mit Beispiel !!!
Mit dem Hinweis der Zuordnung an eine Variable, hätte mir das schon begreiflich gemacht. Wenn du nur geschrieben hättest setz mal ein oDlg:= vor DispoEingabe():New():Create() , dann hätte ich im Debugger gesehn, aha sieh mal.
Vielen Dank !
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hi Jimmy, Du hast ja die Funktion zum ändern der Caption gesehen, die kann ich jetzt aber nicht mehr so verwenden ?
Ich kann beim Aufruf ja nur das oDlg mitgeben.
Ich merke, OOP ist doch etwas anderes.
Oder müsste das als Methode in der Klasse definiert werden?
Code: Alles auswählen
PROCEDURE AenderCaption( oSBar, oXbp,cOldCaption )
LOCAL oParent := oSBar:setParent()
LOCAL oPanel
oPanel := oSbar:getItem( "TXTPANEL" )
IF oPanel:caption <> oXbp:caption
oPanel:caption := oXbp:caption
oPanel:autoSize := XBPSTATUSBAR_AUTOSIZE_CONTENTS
ELSE
oPanel:caption:=cOldCaption
oPanel:autoSize := XBPSTATUSBAR_AUTOSIZE_CONTENTS
ENDIF
RETURN
Ich merke, OOP ist doch etwas anderes.
Oder müsste das als Methode in der Klasse definiert werden?
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hallo Carlo,
bitte näher erklären
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Unterstützung bei OOP
hi Bruno,
es geht auch über deine Function die IMHO überflüssig ist
warum nicht, du hast doch Zugriff auf die XbpPushButton() und XbpStatusbar()
Code: Alles auswählen
oDlg:Button1:activate := {|| oDlg:Status:Caption := oDlg:Button1:Caption, MsgBox("Hello 1") }
Code: Alles auswählen
oDlg:Button1:activate := {|| AenderCaption( oDlg:Status, oDlg:Button1, oDlg:Button1:Caption ), MsgBox("Hello 1") }
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Unterstützung bei OOP
Hi Bruno
eine allen bekannte Web-App ist z.B. das Online-Banking usw. hier im Board findest du auch einiges über Web-Apps oder z.B. unter https://de.wikipedia.org/wiki/Webanwendung
Bei xb2.net findest du das nötige Tool für xbase++1.9.XXX und einige Beispiele ....
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hallo Carlo,
Dies bedeutet doch Sicher, das ein Server ( MS Server ) in Betrieb sein müsste???
Eine reine Netzwerkfestplatte ( Webdrive ) ??? Wie sieht es da aus ?
Web App hört sich gut an, wenn jedoch damit ein richtiger Serverbetrieb erfordert wird, ist das nicht so unser Ding.
Wir nutzen eine interne NAS.
Ob die NAS xBase++ Programme verarbeitet wissen wir nicht. Synology DS 218.
Dies bedeutet doch Sicher, das ein Server ( MS Server ) in Betrieb sein müsste???
Eine reine Netzwerkfestplatte ( Webdrive ) ??? Wie sieht es da aus ?
Web App hört sich gut an, wenn jedoch damit ein richtiger Serverbetrieb erfordert wird, ist das nicht so unser Ding.
Wir nutzen eine interne NAS.
Ob die NAS xBase++ Programme verarbeitet wissen wir nicht. Synology DS 218.
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Unterstützung bei OOP
Xbase++-Programm brauchen (noch) zwingend Windows als Betriebsystem. Egal ob als Server oder als Client. Ob sich da was dran ändern wird irgend wann werden wir ja vielleicht ab morgen erfahren in den Sessions von Alaska. Vor Jahren wurde von Alaska mal offiziell kommuniziert das die das auch auf Linux lauffähig machen wollen, aber da ist bislang noch nichts passiert, wurde auch nie wieder erwähnt.
Und nur so nebenbei: Xbase++ ist ein Eigenname. Und wird genau Xbase++ geschrieben. Nicht xBase++, nicht xbase++, oder sonst wie. Wobei xBase allgemein der Begriff für alle Sprachen ist, die von dBASE abstammen.
Jan
Und nur so nebenbei: Xbase++ ist ein Eigenname. Und wird genau Xbase++ geschrieben. Nicht xBase++, nicht xbase++, oder sonst wie. Wobei xBase allgemein der Begriff für alle Sprachen ist, die von dBASE abstammen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Unterstützung bei OOP
Hallo Bruno
ja, leider. Nicht zwinged ein Server: Windows10 auf einem MiniPC reicht auch. Auf den üblichen NAS kannst du Xbase++ Programme nicht aufführen.
Wir haben auch alle Daten, Datenbankem usw. auf Unix Server unter Windows läuft nur der Web-App Server. Das nervt zwar, ein Umstieg ist aber nur schon wegen der vielen verwenden Zusattools zur Dokumenten Erstellung usw. gar nicht möglich auch wenn es Xbase++ für Unix gäbe die vielen Tools gibts nicht dazu....
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hiermit entschuldige ich mich offiziell für die falsche Schreibweise !Jan hat geschrieben: ↑Do, 04. Mai 2023 10:28 Xbase++-Programm brauchen (noch) zwingend Windows als Betriebsystem. Egal ob als Server oder als Client. Ob sich da was dran ändern wird irgend wann werden wir ja vielleicht ab morgen erfahren in den Sessions von Alaska. Vor Jahren wurde von Alaska mal offiziell kommuniziert das die das auch auf Linux lauffähig machen wollen, aber da ist bislang noch nichts passiert, wurde auch nie wieder erwähnt.
Und nur so nebenbei: Xbase++ ist ein Eigenname. Und wird genau Xbase++ geschrieben. Nicht xBase++, nicht xbase++, oder sonst wie. Wobei xBase allgemein der Begriff für alle Sprachen ist, die von dBASE abstammen.
Jan
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Unterstützung bei OOP
Hallo Bruno,
Bei mir mußt Du Dich nicht entschuldigen. Wenn überhaupt nur bei Alaska. Ich wollte nur darauf hinweisen, weil alleine in diesem Thread mind. 2 Mitdiskutanten das falsch geschrieben haben, und das auch sonst recht beliebt ist (meistens die Variante xBase++). Womit wir ja alle leben können, wir wissen ja was gemeint ist.
Jan
Bei mir mußt Du Dich nicht entschuldigen. Wenn überhaupt nur bei Alaska. Ich wollte nur darauf hinweisen, weil alleine in diesem Thread mind. 2 Mitdiskutanten das falsch geschrieben haben, und das auch sonst recht beliebt ist (meistens die Variante xBase++). Womit wir ja alle leben können, wir wissen ja was gemeint ist.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Frank Grossheinrich
- Rekursionen-Architekt
- Beiträge: 147
- Registriert: Fr, 31. Mär 2017 15:06
- Wohnort: Eschborn
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 82 Mal
- Kontaktdaten:
Re: Unterstützung bei OOP
Ich wollte es schon schreiben/anmahnen. Es brannte unter den Nägeln und ich war dankbar für deinen Einwurf!
Mir tut diese falsche Schreibweise in den Augen weh. Das ist wie Franck oder Jann oder Burno oder ...
Eben falsch.
Grüße
Frank
PS: und wenn ich schon am klugschei**en bin ... das ist alles noch kein OOP. Hier schreibt keiner eine eigene Klasse oder Methoden, sondern es wird eine Klassenfunktion angewendet, Objektinstanzen erzeugt und verwendet, aber alles im funktionalen Stil. Das gab es schon bei Clipper.
We love Xbase++, and you?
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hallo Frank,Frank Grossheinrich hat geschrieben: ↑Do, 04. Mai 2023 15:35
PS: und wenn ich schon am klugschei**en bin ... das ist alles noch kein OOP. Hier schreibt keiner eine eigene Klasse oder Methoden, sondern es wird eine Klassenfunktion angewendet, Objektinstanzen erzeugt und verwendet, aber alles im funktionalen Stil. Das gab es schon bei Clipper.
sehr gut, immer auf die Kleinen ,
Es wäre für mich hilfreich, wenn Du mir einfach mal das :
Code: Alles auswählen
PROCEDURE AenderCaption( oSBar, oXbp,cOldCaption )
LOCAL oParent := oSBar:setParent()
LOCAL oPanel
oPanel := oSbar:getItem( "TXTPANEL" )
IF oPanel:caption <> oXbp:caption
oPanel:caption := oXbp:caption
oPanel:autoSize := XBPSTATUSBAR_AUTOSIZE_CONTENTS
ELSE
oPanel:caption:=cOldCaption
oPanel:autoSize := XBPSTATUSBAR_AUTOSIZE_CONTENTS
ENDIF
RETURN
Wird das B nach dem X ( Xbase++ ) auch groß geschrieben ?
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Unterstützung bei OOP
Bruno,
wie ich schrieb (und es auch oben im Foren-Banner steht): Xbase++
Jan
wie ich schrieb (und es auch oben im Foren-Banner steht): Xbase++
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Unterstützung bei OOP
hi Bruno,
umbenennen von Procedure in Method
die neue Method aufnehmen in die CLASS
---
wenn du die Dateien vom Formdesigner nimmst kannst du die neue METHOD in die CLASS dort rein schreiben
du kannst weiter mit Parameter bei der Übergabe arbeiten aber wenn es Control von der CLASS sind brauchst du es nicht
wird zu
wobei die Abfrage IHMO "überflüssig" ist
eine Procedure in eine Method zu wandeln ist ganz einfach :
umbenennen von Procedure in Method
die neue Method aufnehmen in die CLASS
---
wenn du die Dateien vom Formdesigner nimmst kannst du die neue METHOD in die CLASS dort rein schreiben
Code: Alles auswählen
CLASS DispoEingabe FROM _DispoEingabe
EXPORTED:
METHOD init
METHOD create
METHOD AenderCaption(oXbp()
ENDCLASS
Code: Alles auswählen
PROCEDURE AenderCaption( oSBar, oXbp,cOldCaption )
oPanel := oSbar:getItem( "TXTPANEL"
Code: Alles auswählen
METHOD AenderCaption(oXbp, cOldCaption )
oPanel := ::Status:getItem( "TXTPANEL"
IF oPanel:caption <> oXbp:caption
Code: Alles auswählen
METHOD AenderCaption(cNeuCaption)
::Status:Caption := cNeuCaption
RETURN self
gruss by OHR
Jimmy
Jimmy
- Bruno
- Rekursionen-Architekt
- Beiträge: 103
- Registriert: So, 16. Apr 2023 23:11
- Wohnort: Lauterbach
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: Unterstützung bei OOP
Hi Jan,
ich möchte auch mal mäkeln, , Im Forenbanner steht " Xbase-Forum " , " Xbase-Welt " , " Xbase-Entwickler " !
Da fehlt überall das " ++ "
Ich hoffe ihr versteht einen kleinen Spass !
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Xbase++ 1.9.355 ohne eExpress