1.9 generell (1.9.331)
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Das war es,
ich gebe mich geschlagen. Ich mache erstmal im Textmodus weiter. Das ist mir im Moment einfach alles eine Nummer zu hoch.
Wenn ich mal irgendwann wieder mehr Zeit und Kopf dafür habe, werde ich es nochmal versuchen. Aber jetzt geht es nicht mehr, ich habe in den letzten 2 Wochen soviel Zeit damit vergurkt.......
Danke hier erstmal für eure Mühe, aber mir brummt der Kopf. Ich muß jetzt erstmal wieder ein wenig Erfolg sehen, sonst droht das Projekt zu kippen.
ich gebe mich geschlagen. Ich mache erstmal im Textmodus weiter. Das ist mir im Moment einfach alles eine Nummer zu hoch.
Wenn ich mal irgendwann wieder mehr Zeit und Kopf dafür habe, werde ich es nochmal versuchen. Aber jetzt geht es nicht mehr, ich habe in den letzten 2 Wochen soviel Zeit damit vergurkt.......
Danke hier erstmal für eure Mühe, aber mir brummt der Kopf. Ich muß jetzt erstmal wieder ein wenig Erfolg sehen, sonst droht das Projekt zu kippen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Hi Hubert,
hm, nicht letztendlich, aber ich habe jetzt ca. 1 Woche herumgekaspert und bin zwar weitergekommen, aber nicht so weit, dass ich frohlocken könnte. Ich muß erstmal genau in Erfahrung bringen und dann auch kapieren, was eigentlich alles wie im Hintergrund passiert. Die Beispiele, die in der Anleitung stehen, sind zwar recht nett, aber irgendwie kann ich die nicht für mich umsetzen. Ich muß mir erstmal im klaren darüber werden, welche Xbaseparts ich wofür am besten verwende und vor allen Dingen wie ich sie verwende. Ich schätze, ich werde die Sache mit einfachen Eingabemasken unter GUI weiterverfolgen und ausprobieren, aber die Masken, in denen echte Validierungen stattfinden müssen, die muß ich weiterhin im Textmodus programmieren.
Ich habe mich wohl anfänglich auch zu sehr an dieser Combobox festgebissen, bei der ich jetzt der Meinung bin, dass sie für die Zwecke, für die ich sie benutzen wollte, anscheinend überhaupt nicht zu gebrauchen ist. Aber wie schon oben erwähnt, es fehlt die Erfahrung um aus dem Handgelenk sagen zu können: "Das nimmt man dafür und das am besten dafür."
hm, nicht letztendlich, aber ich habe jetzt ca. 1 Woche herumgekaspert und bin zwar weitergekommen, aber nicht so weit, dass ich frohlocken könnte. Ich muß erstmal genau in Erfahrung bringen und dann auch kapieren, was eigentlich alles wie im Hintergrund passiert. Die Beispiele, die in der Anleitung stehen, sind zwar recht nett, aber irgendwie kann ich die nicht für mich umsetzen. Ich muß mir erstmal im klaren darüber werden, welche Xbaseparts ich wofür am besten verwende und vor allen Dingen wie ich sie verwende. Ich schätze, ich werde die Sache mit einfachen Eingabemasken unter GUI weiterverfolgen und ausprobieren, aber die Masken, in denen echte Validierungen stattfinden müssen, die muß ich weiterhin im Textmodus programmieren.
Ich habe mich wohl anfänglich auch zu sehr an dieser Combobox festgebissen, bei der ich jetzt der Meinung bin, dass sie für die Zwecke, für die ich sie benutzen wollte, anscheinend überhaupt nicht zu gebrauchen ist. Aber wie schon oben erwähnt, es fehlt die Erfahrung um aus dem Handgelenk sagen zu können: "Das nimmt man dafür und das am besten dafür."
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- 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:
Manfred,
ich kann Deinen Frust verstehen. Mir geht das auch immer wieder so. Und die Beispiele helfen oft nicht wirklich weiter. Zum Einen sind sie, wie Du auch sagst, oftmals ein wenig abgehoben, theoretisch, verwinkelt (zeigen alles Mögliche, aber nur rudimentär das, worum es wirklich geht). Zum Anderen gehen die grundsätzlich auf XbpCrt-Fenster ein. Und damit arbeite ich grundsätzlich nicht. Ich habe mich damals entschlossen, dierekt auf GUI umzuschreiben und nicht den Umweg Hybrid zu nehmen.
Mir war das zu doof erst auf Hybrid zu gehen und dann irgendwann noch einmal wieder alles umzuschreiben auf GUI.
Jan
ich kann Deinen Frust verstehen. Mir geht das auch immer wieder so. Und die Beispiele helfen oft nicht wirklich weiter. Zum Einen sind sie, wie Du auch sagst, oftmals ein wenig abgehoben, theoretisch, verwinkelt (zeigen alles Mögliche, aber nur rudimentär das, worum es wirklich geht). Zum Anderen gehen die grundsätzlich auf XbpCrt-Fenster ein. Und damit arbeite ich grundsätzlich nicht. Ich habe mich damals entschlossen, dierekt auf GUI umzuschreiben und nicht den Umweg Hybrid zu nehmen.
Mir war das zu doof erst auf Hybrid zu gehen und dann irgendwann noch einmal wieder alles umzuschreiben auf GUI.
Jan
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Hi Jan,
jetzt verstehe ich nicht ganz. OK Hybridmodus ist mir klar, da wird ein Textmodus gebaut, über den ein GUI Modus gelegt werden kann. Aber in diesem GUI Modus arbeite ich doch mehr oder weniger richtig im grafischen Modus? Ich meine ich baue ein Dialogfenster aus einem XbpDialog und der ist doch rein grafisch. Ich arbeite eventgesteuert und gebe XY Koordinaten in Pixel ein. Was will ich denn dann mehr, bzw. was muß mehr gemacht werden um GUI zu haben. (Jetzt mal vom Textmodus drunter abgesehen). Aber eine reine Gui Anwendung sieht doch auch nicht anders aus, bzw. wartet anders auf Eingaben, oder Reaktionen des Users.
jetzt verstehe ich nicht ganz. OK Hybridmodus ist mir klar, da wird ein Textmodus gebaut, über den ein GUI Modus gelegt werden kann. Aber in diesem GUI Modus arbeite ich doch mehr oder weniger richtig im grafischen Modus? Ich meine ich baue ein Dialogfenster aus einem XbpDialog und der ist doch rein grafisch. Ich arbeite eventgesteuert und gebe XY Koordinaten in Pixel ein. Was will ich denn dann mehr, bzw. was muß mehr gemacht werden um GUI zu haben. (Jetzt mal vom Textmodus drunter abgesehen). Aber eine reine Gui Anwendung sieht doch auch nicht anders aus, bzw. wartet anders auf Eingaben, oder Reaktionen des Users.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- 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:
Manfred,
Nun, im Hybridmodus (so wie ich das verstehe) kann ich sowohl GUI als auch Text haben. Und dann muß ich den entsprechenden Unterbau auch für beides haben. Warum soll ich mich damit abgeben, wenn ich doch eh 100 % GUI haben möchte? Und viele Dinge gehen eben nur unter GUI, warum soll ich dann mit Mischmasch anfangen?
Jan
Eher mehr als weniger, nämlich 100 %Aber in diesem GUI Modus arbeite ich doch mehr oder weniger richtig im grafischen Modus?
Nun, im Hybridmodus (so wie ich das verstehe) kann ich sowohl GUI als auch Text haben. Und dann muß ich den entsprechenden Unterbau auch für beides haben. Warum soll ich mich damit abgeben, wenn ich doch eh 100 % GUI haben möchte? Und viele Dinge gehen eben nur unter GUI, warum soll ich dann mit Mischmasch anfangen?
Jan
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Alles klar, so hatte ich es auch aus der Anleitung heraus verstanden, war aber etwas verwirrt über Deine Aussage.
Es wird Performance klauen.
Es wird Performance klauen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo Manfred,
@say und get Befehle etc. unter einer grafischen Anzeige wie bisher im DOS Modus aussehen zu lassen, das kostet Leistung und bläht die EXE Dateien auf. Reines GUI kann die - sowieso - vorhandenen GUI Elemente nutzen, das spart Speicher und ist in der Geschwindigkeit effizienter.
Allerdings sind aktuelle Rechner für beide Programmen flott genug.
@say und get Befehle etc. unter einer grafischen Anzeige wie bisher im DOS Modus aussehen zu lassen, das kostet Leistung und bläht die EXE Dateien auf. Reines GUI kann die - sowieso - vorhandenen GUI Elemente nutzen, das spart Speicher und ist in der Geschwindigkeit effizienter.
Allerdings sind aktuelle Rechner für beide Programmen flott genug.
Gruß
Hubert
Hubert
- 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:
Mir geht es bei GUI statt Hybrid auch nicht so sehr um die Ausführungsgeschwindigkeit (die ist wie Hubert richtig sagt total egal auf aktuellen, überzüchteten Rechnern).
Ich hatte einfach keine Lust, Text- und GUI-Mischmasch zu veranstalten. Das mag blöd klingen, aber ich habe mich eben einfach dazu entschieden damals zu Beginn meiner Xbase-Zeit.
Jan
Ich hatte einfach keine Lust, Text- und GUI-Mischmasch zu veranstalten. Das mag blöd klingen, aber ich habe mich eben einfach dazu entschieden damals zu Beginn meiner Xbase-Zeit.
Jan
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Hi Wolfgang,
jetzt muß ich generell einmal eine Frage stellen, an die Benutzer von eXpress++.
Bei mir geht es in allererster Linie um die Vailiderung der Daten während der Eingabe. Also jedes Feld direkt nach dem Verlassen, oder vor dem Ansprung prüfen, ob das was gemacht werden soll auch gemacht wurde. Es gibt Felder, bei denen geprüft wird, ob der Datensatz schon so eingegeben wurde, bzw. wenn Zahlen erfasst werden müssen, dann eben bei einer "0" und RETURN ein Auswahlfenster aufgeht. Das nur so als Beispiel und daran habe ich mir in der letzten Woche die Zähne ausgebissen. Es ist nicht schlimm, aber es hat halt keinen Erfolg gebracht. (Ich habe aber etliche andere Dinge wieder dabei gelernt) Einfache GUI mit simplen Eingaben, ohne viel zu prüfen, dass war eigentlich nicht das Problem. Es sind die vielen Verknüpfungen, die ich nicht zustande bringe, weil der User mit der Maus kreuz und quer in dem Formular wüten kann.
Und da taucht eben die Frage auf, kann eXpress++ neben der Umwandlung von @ x,y Say z.B. diese Validierungen auch?
jetzt muß ich generell einmal eine Frage stellen, an die Benutzer von eXpress++.
Bei mir geht es in allererster Linie um die Vailiderung der Daten während der Eingabe. Also jedes Feld direkt nach dem Verlassen, oder vor dem Ansprung prüfen, ob das was gemacht werden soll auch gemacht wurde. Es gibt Felder, bei denen geprüft wird, ob der Datensatz schon so eingegeben wurde, bzw. wenn Zahlen erfasst werden müssen, dann eben bei einer "0" und RETURN ein Auswahlfenster aufgeht. Das nur so als Beispiel und daran habe ich mir in der letzten Woche die Zähne ausgebissen. Es ist nicht schlimm, aber es hat halt keinen Erfolg gebracht. (Ich habe aber etliche andere Dinge wieder dabei gelernt) Einfache GUI mit simplen Eingaben, ohne viel zu prüfen, dass war eigentlich nicht das Problem. Es sind die vielen Verknüpfungen, die ich nicht zustande bringe, weil der User mit der Maus kreuz und quer in dem Formular wüten kann.
Und da taucht eben die Frage auf, kann eXpress++ neben der Umwandlung von @ x,y Say z.B. diese Validierungen auch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Hi Jan,
jaja, ich kann ein xPart:keyboard.... einbauen und dann abfragen, was gedrückt wurde und ein TAB oder so abfangen und dann in eine Prüfroutine schicken. Mehr wüsste ich jetzt auf Anhieb nicht, aber mit der Maus kann ich hinspringen wohin ich will und dann fällt die Prüfung flach.
Außerdem finde ich es etwas ungünstig (um einmal ein stubenreines Wort zu finden), erst die Überprüfung zu machen, wenn alles schon durchwandert wurde. Das nervt mich auch immer auf Internetseiten, wenn dann irgendwann nach 3km Eingaben ein Hinweis kommt, da oder da ist etwas falsch gelaufen. M.E. sollte eine Abfrage sofort bei der Eingabe erfolgen und dann sofort alles klarstellen.
Es gibt ein schönes Beispiel im Verzeichns source\samples\solution\xbpget\ aber das Teil habe ich nicht in meiner Anwendung ans Laufen gekriegt. Sicherlich deshalb, weil ich keinen Durchblick habe, was da alles abläuft.
Also, bleibt nichts anderes, als abwarten und Tee trinken, bis die Erleuchtung kommt. (Und natürlich lesen und probieren)
jaja, ich kann ein xPart:keyboard.... einbauen und dann abfragen, was gedrückt wurde und ein TAB oder so abfangen und dann in eine Prüfroutine schicken. Mehr wüsste ich jetzt auf Anhieb nicht, aber mit der Maus kann ich hinspringen wohin ich will und dann fällt die Prüfung flach.
Außerdem finde ich es etwas ungünstig (um einmal ein stubenreines Wort zu finden), erst die Überprüfung zu machen, wenn alles schon durchwandert wurde. Das nervt mich auch immer auf Internetseiten, wenn dann irgendwann nach 3km Eingaben ein Hinweis kommt, da oder da ist etwas falsch gelaufen. M.E. sollte eine Abfrage sofort bei der Eingabe erfolgen und dann sofort alles klarstellen.
Es gibt ein schönes Beispiel im Verzeichns source\samples\solution\xbpget\ aber das Teil habe ich nicht in meiner Anwendung ans Laufen gekriegt. Sicherlich deshalb, weil ich keinen Durchblick habe, was da alles abläuft.
Also, bleibt nichts anderes, als abwarten und Tee trinken, bis die Erleuchtung kommt. (Und natürlich lesen und probieren)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan und Manfred,
es gibt sowohl Prä-Validierung (WHEN...) als auch Post-Validierung (VALID...) unter GUI.
Schaut euch mal einfach SetInputFocus() (sinnvoll für Prä-Validierung) und KillInputFocus() (sinnvoll für Post-Validierung) an...
Viele Grüße,
Martin
es gibt sowohl Prä-Validierung (WHEN...) als auch Post-Validierung (VALID...) unter GUI.
Schaut euch mal einfach SetInputFocus() (sinnvoll für Prä-Validierung) und KillInputFocus() (sinnvoll für Post-Validierung) an...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender 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
hi,
und die "Slots" SetInputFocus beim "anspringen" und KillinputFocus /
Validate beim "verlassen" eines XbPart verwenden. für SLE würde ich
SLEPIc nehmen weil dort die "Slots" schon vorhanden sind (Sourcecode)
Cl*pper.
btw du solltest zuerst unter GUI nichts machen was du nicht auch
mit Cl*pper tun kannst. Eine "ComboBox" unter Cl*pper ist auch
nicht gerade "einfach"
gruss by OHR
Jimmy
wie Martin in der letzten Msg schon sagte musst du hier etwas umdenkenManfred hat geschrieben: aber mit der Maus kann ich hinspringen wohin ich will und dann fällt
die Prüfung flach.
und die "Slots" SetInputFocus beim "anspringen" und KillinputFocus /
Validate beim "verlassen" eines XbPart verwenden. für SLE würde ich
SLEPIc nehmen weil dort die "Slots" schon vorhanden sind (Sourcecode)
vergiss das Teil (erstmal) und nehme SLEPic. Das verhält sich wieEs gibt ein schönes Beispiel im Verzeichns source\samples\solution\xbpget\ aber das Teil habe ich nicht in meiner Anwendung ans Laufen gekriegt. Sicherlich deshalb, weil ich keinen Durchblick habe, was da alles abläuft.
Cl*pper.
btw du solltest zuerst unter GUI nichts machen was du nicht auch
mit Cl*pper tun kannst. Eine "ComboBox" unter Cl*pper ist auch
nicht gerade "einfach"
gruss by OHR
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Hi Jimmy,
sagen wir mal so, die Combobox war eigentlich recht einfach, aber sie entsprach leider nicht meinen Vorstellungen. Es ist eine prima Sache, in der Box mit Anfangsbuchstaben zum Satz springen zu können, aber leider wollte ich mit dem Feld eine Verknüpfung zwischen 2 DB erstellen und hatte nachher festgestellt, dass ich überhaupt keinen Plan hatte, wie das beim Editieren laufen sollte. Das Erfassen als solches war nachher relativ einfach. Ok, mal abgesehen von dem Sonderwunsch, die ID haben zu wollen und nicht die Bezeichnung. Aber ansonsten fand ich dass man schon recht gut damit klarkommen konnte.
sagen wir mal so, die Combobox war eigentlich recht einfach, aber sie entsprach leider nicht meinen Vorstellungen. Es ist eine prima Sache, in der Box mit Anfangsbuchstaben zum Satz springen zu können, aber leider wollte ich mit dem Feld eine Verknüpfung zwischen 2 DB erstellen und hatte nachher festgestellt, dass ich überhaupt keinen Plan hatte, wie das beim Editieren laufen sollte. Das Erfassen als solches war nachher relativ einfach. Ok, mal abgesehen von dem Sonderwunsch, die ID haben zu wollen und nicht die Bezeichnung. Aber ansonsten fand ich dass man schon recht gut damit klarkommen konnte.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Mit beidem muß man aber sehr vorsichtig sein, denn ein SetInputFocus() wird erst aufgerufen, wenn das control schon den Input HAT, bei Clipper kam es erst gar nicht rein. Nun kann man zwar mit einer Fehlermeldung wieder den SetAppFocus() umsetzen, aber NUR wenn in diesem Feld das Verlassen überhaupt erlaubt ist. Es geht (fast) alles, aber wenn man nicht höllisch aufpaßt, geht im Programm gar nichts mehr (deadlock).Martin Altmann hat geschrieben:es gibt sowohl Prä-Validierung (WHEN...) als auch Post-Validierung (VALID...) unter GUI.
Schaut euch mal einfach SetInputFocus() (sinnvoll für Prä-Validierung) und KillInputFocus() (sinnvoll für Post-Validierung) an...
Grundsätzlich ist Windows nicht auf eine einzelne Feldüberprüfung sondern auf eine Seitenüberprüfung ausgelegt (vor Speichern oder Blättern alle Felder ).
@Manfred,
Controls, welche gesperrt werden sollen (nicht klicken können), muß man immer disablen.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 71 Mal
Ist alles kein Thema, diese Dinge habe ich schon recht gut im Griff, aber die Kleinigkeiten. Aber trotzdem habe ich in der letzten Woche etliche Tricks und Kniffe gelernt, die ich für den Textmodus sehr gut gebrauchen kann.@Manfred,
Controls, welche gesperrt werden sollen (nicht klicken können), muß man immer disablen.
Also ganz "vertan" waren die letzten Tage dann doch nicht
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Hubert,
Also muss man sich bei allen Prüfungen entsprechend merken, ob man bereits einen Fehler anmeckert, oder nicht. Sonst kann es natürlich passieren, dass der Benutzer andauernd zwischen zwei Controls hin- und hergescheucht wird (wenn man nach dem Meckern das entsprechende Control mit SetAppFocus() wieder anspringt).
Viele Grüße,
Martin
richtig! Und das gleiche (nur andersherum ) gilt auch für KillInputFocus() - das wird erst aufgerufen, wenn das Control den Fokus bereits verloren hat!brandelh hat geschrieben:Mit beidem muß man aber sehr vorsichtig sein, denn ein SetInputFocus() wird erst aufgerufen, wenn das control schon den Input HAT, bei Clipper kam es erst gar nicht rein.
Also muss man sich bei allen Prüfungen entsprechend merken, ob man bereits einen Fehler anmeckert, oder nicht. Sonst kann es natürlich passieren, dass der Benutzer andauernd zwischen zwei Controls hin- und hergescheucht wird (wenn man nach dem Meckern das entsprechende Control mit SetAppFocus() wieder anspringt).
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo,
ich habe ein Programm, bei dem mehrere Tabpages ausgefüllt werden müssen. Jede Tabpage hat eine Methode Validate(lAnzeigen) spendiert bekommen, die alle Plausiprüfungen und Warnungen (Meldung, aber man darf weiter) der jeweiligen Tabpage erledigt. Die SLE die Fehler verursachen werden rot eingefärbt und in das erste gesprungen, wenn lAnzeigen = .t. ist. Immer wird der Status (Valide=.t., Fehler=.f.) zurückgegeben.
Auf jeder Tabpage habe ich immer an der gleichen Stelle ein Pushbutton 'Weiter zu ...' eingebaut (...=Name der nächsten Tabpage).
Wenn man darauf klickt, wird valid(.t.) aufgerufen. Nur mit dem Rückgabewert .t. wird weitergesprungen.
Auf der letzten Tabpage ist die Gesamtabrechnung. Da man auch über die normalen Schaltflächen dorthin gelangen kann, prüfe ich mit [berechnen] zuerst, ob alle TabPage:validate(.f.) = .t. sind !
Nur wenn alle plausibel sind ist eine Endabrechnung möglich.
Die Validate() Methode der SLE etc. nutze ich nur für sehr einfache Prüfungen, andererseits habe ich mir SLE gebaut, die Eingabe von z.B. Schlüsselfelder überwachen (J/N - falsche Taste nur J/N erlaubt ...) für einfache Fälle.
ich habe ein Programm, bei dem mehrere Tabpages ausgefüllt werden müssen. Jede Tabpage hat eine Methode Validate(lAnzeigen) spendiert bekommen, die alle Plausiprüfungen und Warnungen (Meldung, aber man darf weiter) der jeweiligen Tabpage erledigt. Die SLE die Fehler verursachen werden rot eingefärbt und in das erste gesprungen, wenn lAnzeigen = .t. ist. Immer wird der Status (Valide=.t., Fehler=.f.) zurückgegeben.
Auf jeder Tabpage habe ich immer an der gleichen Stelle ein Pushbutton 'Weiter zu ...' eingebaut (...=Name der nächsten Tabpage).
Wenn man darauf klickt, wird valid(.t.) aufgerufen. Nur mit dem Rückgabewert .t. wird weitergesprungen.
Auf der letzten Tabpage ist die Gesamtabrechnung. Da man auch über die normalen Schaltflächen dorthin gelangen kann, prüfe ich mit [berechnen] zuerst, ob alle TabPage:validate(.f.) = .t. sind !
Nur wenn alle plausibel sind ist eine Endabrechnung möglich.
Die Validate() Methode der SLE etc. nutze ich nur für sehr einfache Prüfungen, andererseits habe ich mir SLE gebaut, die Eingabe von z.B. Schlüsselfelder überwachen (J/N - falsche Taste nur J/N erlaubt ...) für einfache Fälle.
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
In meiner Eingangsnachricht habe ich behauptet, es gäbe generelle Probleme mit den Enable/Disable-Slots von Objekten. Das ist Unsinn. Ursache für das vermeintliche Fehlverhalten war eine Codeänderung in eXPress++. Auch die Repaint-Probleme scheinen sich in Wohlgefallen aufzulösen, bis auf etwas bei SetPos und SetSize in Zusammenhang mit XbpBrowses, wobei Fraktale übrigenbleiben können, wenn man das Browse verkleinert. Till Warweg hat mir inzwischen einen Hotfix dafür zugeschickt.
Was ich sagen will: Die 1.9 ist großartig. Ich bin gerade dabei, den JazzAge-Krempel (ActiveX) in die Tonne zu klopfen. Mit der 1.9 ist das sehr viel eleganter und, vor allem, schneller. Ist es insgesamt sowieso. Und anscheinend dramatisch stabiler. Ganz großes Tennis.
Was ich sagen will: Die 1.9 ist großartig. Ich bin gerade dabei, den JazzAge-Krempel (ActiveX) in die Tonne zu klopfen. Mit der 1.9 ist das sehr viel eleganter und, vor allem, schneller. Ist es insgesamt sowieso. Und anscheinend dramatisch stabiler. Ganz großes Tennis.
Herzlich,
Tom
Tom