Unterstützung bei OOP

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

Hallo Mitglieder,
Ich möchte ein Programm auf GUI erstellen, bzw. ein vorhandenes Umstellen.
Dazu bräuchte ich tatkräftige Unterstützung. :D
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
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Unterstützung bei OOP

Beitrag von Wolfgang Ciriack »

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
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

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.
Hallo Wolfgang,
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. :D
Bin was OOP betrifft, Anfänger, da will ich mich noch nicht mit anderen Tools beschäftigen, erstmal Xbase++ ! :banghead:

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
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Bruno,
Bruno hat geschrieben: Sa, 29. Apr 2023 19:30 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.
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
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

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 ! :banghead:
Dateianhänge
XFF_Test.zip
(5.39 KiB) 51-mal heruntergeladen
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Unterstützung bei OOP

Beitrag von ramses »

Bruno hat geschrieben: Sa, 29. Apr 2023 18:42 Ich möchte ein Programm auf GUI erstellen, bzw. ein vorhandenes Umstellen.
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
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Bruno,
Bruno hat geschrieben: So, 30. Apr 2023 15:12 Ich packe das mal in ne ZIP, wenn Du mal reinschaust und in der MAIN ein Beispiel machst, muss nicht funktionieren, sondern zum verstehen.
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 )
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

Code: Alles auswählen

   SET EXCLUSIVE OFF                                                  // Netzwerk SHARE

   SET EPOCH TO YEAR( DATE() ) - 50
   SET CENTURY OFF
   SET DATE GERMAN   
auch die Euro Zeichen Einstellung fehlt, hier für OEM

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
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

Code: Alles auswählen

::Status  := XbpStatusBar():new( ::drawingArea, , {12,440}, {400,40} )
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

Code: Alles auswählen

   DispoEingabe():New():Create()
das muss man erweitern um es einer Variable zuzuweisen

Code: Alles auswählen

LOCAL oDlg

   oDlg := DispoEingabe():New():Create()
danach kannst du dann die Codeblock Slots für die Buttons "belegen"

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") }
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
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Carlo,
ramses hat geschrieben: So, 30. Apr 2023 21:57 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 ...
braucht man dafür dann noch Xbase++ ... :roll:
gruss by OHR
Jimmy
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

AUGE_OHR hat geschrieben: So, 30. Apr 2023 22:15 hi Bruno,
Bruno hat geschrieben: So, 30. Apr 2023 15:12 Ich packe das mal in ne ZIP, wenn Du mal reinschaust und in der MAIN ein Beispiel machst, muss nicht funktionieren, sondern zum verstehen.
wo hast du die DISPOEINGABE.PRG welche zum Anfang generiert wurde :?:
du hast zwar die CLASS _DISPOEINGABE aber die CLASS DISPOEINGABE taucht nirgends auf

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.
Screenshot 2023-05-01 010954.jpg
Screenshot 2023-05-01 010954.jpg (47.45 KiB) 3031 mal betrachtet
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) 52-mal heruntergeladen
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Bruno,
Bruno hat geschrieben: Mo, 01. Mai 2023 0:58 Da in der _Datei die Buttons mit drin stehen, wie kann ich die über die Datei ohne _ Die Codeblöcke an die Buttons zuweisen?
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()
alles was "Child" angeht wird mit "Parent:Child" angesprochen

Code: Alles auswählen

   oDlg:Button1:activate := {|| MsgBox("Hello 1") }
auch Property, Method oder Codeblock Slot werden mit ":" angesprochen
gruss by OHR
Jimmy
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

AUGE_OHR hat geschrieben: Mo, 01. Mai 2023 1:34 hi Bruno,
Bruno hat geschrieben: Mo, 01. Mai 2023 0:58 Da in der _Datei die Buttons mit drin stehen, wie kann ich die über die Datei ohne _ Die Codeblöcke an die Buttons zuweisen?
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()
alles was "Child" angeht wird mit "Parent:Child" angesprochen

Code: Alles auswählen

   oDlg:Button1:activate := {|| MsgBox("Hello 1") }
auch Property, Method oder Codeblock Slot werden mit ":" angesprochen
Hi Jimmy,
wie heisst es so schön? Es hat geklingelt !!! :D 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 :D , hatte Tomaten auf den Augen :banghead: ! Nur der Aufruf von New startet zwar das Fenster, aber mehr auch nicht.
Genau das meinte ich mit Beispiel !!! :D
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
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

Hi Jimmy, Du hast ja die Funktion zum ändern der Caption gesehen, die kann ich jetzt aber nicht mehr so verwenden ?

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 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?
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

ramses hat geschrieben: So, 30. Apr 2023 21:57
Bruno hat geschrieben: Sa, 29. Apr 2023 18:42 Ich möchte ein Programm auf GUI erstellen, bzw. ein vorhandenes Umstellen.
und die APP auf eine zukunftssichere Web-App im Single Page Design umzustellen ......
Hallo Carlo,
bitte näher erklären
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Bruno,
Bruno hat geschrieben: Mo, 01. Mai 2023 6:59 Du hast ja die Funktion zum ändern der Caption gesehen, die kann ich jetzt aber nicht mehr so verwenden ?
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") }
es geht auch über deine Function die IMHO überflüssig ist

Code: Alles auswählen

oDlg:Button1:activate := {|| AenderCaption( oDlg:Status, oDlg:Button1, oDlg:Button1:Caption ), MsgBox("Hello 1") }
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Unterstützung bei OOP

Beitrag von ramses »

Bruno hat geschrieben: Mo, 01. Mai 2023 14:05 Hallo Carlo,
bitte näher erklären
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
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

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.
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
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

Beitrag von Jan »

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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Unterstützung bei OOP

Beitrag von ramses »

Bruno hat geschrieben: Do, 04. Mai 2023 10:10 Dies bedeutet doch Sicher, das ein Server ( MS Server ) in Betrieb sein müsste???
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
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

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
Hiermit entschuldige ich mich offiziell für die falsche Schreibweise !
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
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

Beitrag von Jan »

Hallo Bruno,

:lol: 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.
Benutzeravatar
Frank Grossheinrich
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 142
Registriert: Fr, 31. Mär 2017 15:06
Wohnort: Eschborn
Hat sich bedankt: 5 Mal
Danksagung erhalten: 81 Mal
Kontaktdaten:

Re: Unterstützung bei OOP

Beitrag von Frank Grossheinrich »

Jan hat geschrieben: Do, 04. Mai 2023 15:00 :lol: 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, ...
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?
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

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.
Hallo Frank,
sehr gut, immer auf die Kleinen :D ,
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
im OOP Style zeigst. Ich will nicht die direkte Übersetzung einfach so, sondern mit Hinweisen wie, wie, wo, warum, am besten so, etc.! So nach dem Motto für einen der keine Ahnung hat und es verstehen ( gedanklich übersetzten ) möchte. ( Lernen ). :D

Wird das B nach dem X ( Xbase++ ) auch groß geschrieben ?
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
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

Beitrag von Jan »

Bruno,

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.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Unterstützung bei OOP

Beitrag von AUGE_OHR »

hi Bruno,
Bruno hat geschrieben: Fr, 05. Mai 2023 9:48 Es wäre für mich hilfreich, wenn Du mir einfach mal das :

im OOP Style zeigst.
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
du kannst weiter mit Parameter bei der Übergabe arbeiten aber wenn es Control von der CLASS sind brauchst du es nicht

Code: Alles auswählen

PROCEDURE AenderCaption( oSBar, oXbp,cOldCaption )

   oPanel := oSbar:getItem( "TXTPANEL" 
wird zu

Code: Alles auswählen

METHOD AenderCaption(oXbp, cOldCaption )

   oPanel := ::Status:getItem( "TXTPANEL" 
   IF oPanel:caption <> oXbp:caption
wobei die Abfrage IHMO "überflüssig" ist

Code: Alles auswählen

METHOD AenderCaption(cNeuCaption)
   ::Status:Caption := cNeuCaption
RETURN self
gruss by OHR
Jimmy
Benutzeravatar
Bruno
Rekursionen-Architekt
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

Beitrag von Bruno »

Jan hat geschrieben: Fr, 05. Mai 2023 10:24 Bruno,

wie ich schrieb (und es auch oben im Foren-Banner steht): Xbase++

Jan
Hi Jan,
ich möchte auch mal mäkeln, :D , Im Forenbanner steht " Xbase-Forum " , " Xbase-Welt " , " Xbase-Entwickler " ! :D
Da fehlt überall das " ++ " :evil4: :evil4: :evil4:
Ich hoffe ihr versteht einen kleinen Spass ! :D
Gruss Bruno
Xbase++ 1.9.355 ohne eExpress
Antworten