SLE auf Aktiv abfragen
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
SLE auf Aktiv abfragen
Hi,
noch ne heiße Frage.
Da ich eine Eingabemaske habe, die für Erfassen/suchen/ändern/ usw herhalten muß, versuche ich möglichst jede Art der Bearbeitung oben in der Titelzeile anzeigen zu lassen. Also, wenn ich Neuerfasse, dann steht oben in Klammer Neuerfassen und bei Änderung usw. eben Ändern. Jetzt stellt sich mir nur die Frage, wie kann ich dem Teil klarmachen, dass die Anwendung eigentlich auf den Pushbuttons steht und kein SLE mehr aktiv ist, sodaß der Hinweis oben wieder verschwindet? Gibt es da was, oder muß man alle einzeln abfragen, oder wie macht man sowas? Und vor allen Dingen WO wird sowas gemacht? Den Titel ändern, mache ich direkt über die Aktivierung mit dem jeweiligen Pushbutton.
noch ne heiße Frage.
Da ich eine Eingabemaske habe, die für Erfassen/suchen/ändern/ usw herhalten muß, versuche ich möglichst jede Art der Bearbeitung oben in der Titelzeile anzeigen zu lassen. Also, wenn ich Neuerfasse, dann steht oben in Klammer Neuerfassen und bei Änderung usw. eben Ändern. Jetzt stellt sich mir nur die Frage, wie kann ich dem Teil klarmachen, dass die Anwendung eigentlich auf den Pushbuttons steht und kein SLE mehr aktiv ist, sodaß der Hinweis oben wieder verschwindet? Gibt es da was, oder muß man alle einzeln abfragen, oder wie macht man sowas? Und vor allen Dingen WO wird sowas gemacht? Den Titel ändern, mache ich direkt über die Aktivierung mit dem jeweiligen Pushbutton.
Zuletzt geändert von Manfred am Mo, 10. Dez 2007 20:26, insgesamt 1-mal geändert.
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Manfred.
SetAppFocus() gibt Dir jederzeit das Objekt zurück, auf dem der Fokus steht. Mit SetAppFocus():IsDerivedFrom() oder SetAppFocus():ClassName() kannst Du abprüfen, welche Basisklasse benutzt wird (also z.B. XbpSLE oder XbpPushButton).
Edit: Ich nehme an, daß es einen Pushbutton für Neueingabe und/oder einen für Änderung gibt. Dann sollte es auch einen geben (oder irgendwas), das die jeweilige Aktivität beendet ('Speichern'?). Dort müßtest Du dann im Codeblock den Titel des Dialogs wieder zurückändern.
SetAppFocus() gibt Dir jederzeit das Objekt zurück, auf dem der Fokus steht. Mit SetAppFocus():IsDerivedFrom() oder SetAppFocus():ClassName() kannst Du abprüfen, welche Basisklasse benutzt wird (also z.B. XbpSLE oder XbpPushButton).
Edit: Ich nehme an, daß es einen Pushbutton für Neueingabe und/oder einen für Änderung gibt. Dann sollte es auch einen geben (oder irgendwas), das die jeweilige Aktivität beendet ('Speichern'?). Dort müßtest Du dann im Codeblock den Titel des Dialogs wieder zurückändern.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Tom,
das habe ich so verstanden.
Jetzt kommt aber gleich die nächste Frage hinterher. Wo im Programm frage ich die Sache ab? Ich meine, beim VIO wußte ich alles was nach dem READ kommt, aber was mache ich im GUI? Das Programm ist ja im Grunde genommen IMMER im Wartezustand um dann zu reagieren. Oder muß ich irgendwas bei den Pushbuttons einbauen, dass dort was passiert, wenn die aktiv sind? Ich habe mal wieder keine Ahnung, wo ich dann den Abfragehebel ansetzen muß.
das habe ich so verstanden.
Jetzt kommt aber gleich die nächste Frage hinterher. Wo im Programm frage ich die Sache ab? Ich meine, beim VIO wußte ich alles was nach dem READ kommt, aber was mache ich im GUI? Das Programm ist ja im Grunde genommen IMMER im Wartezustand um dann zu reagieren. Oder muß ich irgendwas bei den Pushbuttons einbauen, dass dort was passiert, wenn die aktiv sind? Ich habe mal wieder keine Ahnung, wo ich dann den Abfragehebel ansetzen muß.
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: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Tom,
auch alles klar, benutze ich auch, aber woher weiß das Programm, dass jetzt das letzte SLE den Focus verloren hat? Mal dumm gefragt. Das hieße ja, ich müßte es in jedem KillInputFocus setzen, denn ich kann ja mit der Maus in ein SLE hüpfen, welches per TAB gar nicht an der Reihe wäre und somit würde beim letzten SLE die Eingabemaske nicht verlassen werden.
auch alles klar, benutze ich auch, aber woher weiß das Programm, dass jetzt das letzte SLE den Focus verloren hat? Mal dumm gefragt. Das hieße ja, ich müßte es in jedem KillInputFocus setzen, denn ich kann ja mit der Maus in ein SLE hüpfen, welches per TAB gar nicht an der Reihe wäre und somit würde beim letzten SLE die Eingabemaske nicht verlassen werden.
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: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Jan,
ich will nicht in ein anderes SLE springen, ich will wissen, wann ich aus der "GET" Maske raus bin um den Dialogtitel wieder auf den Ursprung zurückzusetzen. Sprich, dass da oben nicht mehr Erfassen oder Ändern oder so steht.
ich will nicht in ein anderes SLE springen, ich will wissen, wann ich aus der "GET" Maske raus bin um den Dialogtitel wieder auf den Ursprung zurückzusetzen. Sprich, dass da oben nicht mehr Erfassen oder Ändern oder so steht.
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: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Manfred,
sorry, dann hab ich Dich falsch verstanden. Ich hab das so verstanden, daß per Maus die von Dir vorgegebene Reihenfolge unterbrochen wird und dennoch gesichert ist, daß alles sauber läuft.
Und das mit dem in ein SLE springen war nur dazu gedacht, übersprungene SLE zum Ausfüllen zu erzwingen.
Ich muß gestehen daß ich nicht wirklich verstanden habe, was Du genau erreichen möchtest. Möchtest Du feststellen, wann Du die Erfassung erledigt hast? Oder wie?
Jan
sorry, dann hab ich Dich falsch verstanden. Ich hab das so verstanden, daß per Maus die von Dir vorgegebene Reihenfolge unterbrochen wird und dennoch gesichert ist, daß alles sauber läuft.
Und das mit dem in ein SLE springen war nur dazu gedacht, übersprungene SLE zum Ausfüllen zu erzwingen.
Ich muß gestehen daß ich nicht wirklich verstanden habe, was Du genau erreichen möchtest. Möchtest Du feststellen, wann Du die Erfassung erledigt hast? Oder wie?
Jan
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Manfred.
Du hast meine Gegenfrage nicht beantwortet - wie bekommst Du im Moment heraus, daß der Erfassungsprozeß beendet ist? Oder geht es Dir um genau das? Ich meine, Du mußt doch irgendwas tun in Deiner App, außer nur den Titel des Fensters zu ändern. Oder verstehe ich da strukturell etwas falsch?
Du hast meine Gegenfrage nicht beantwortet - wie bekommst Du im Moment heraus, daß der Erfassungsprozeß beendet ist? Oder geht es Dir um genau das? Ich meine, Du mußt doch irgendwas tun in Deiner App, außer nur den Titel des Fensters zu ändern. Oder verstehe ich da strukturell etwas falsch?
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Sorry Tom, habe ich total übersehen.
Also es sieht so aus: Ich drücke einen Button und die SLE werden aktiv. Gleichzeitig wird der Titel des Dialoges geändert und es erscheint oben der Hinweis, was gerade gemacht wird. Das klappt alles. Jetzt möchte ich aber haben, dass der Titel wieder geändert werden kann, wenn kein Eingabefeld (egal welcher Art später) aktiv ist. Weil, dann ist ja nichts angesagt und der Hinweis muß weg.
Ich vermute einmal, dass ich das ganze Konzept wohl falsch angegangen bin.
Also es sieht so aus: Ich drücke einen Button und die SLE werden aktiv. Gleichzeitig wird der Titel des Dialoges geändert und es erscheint oben der Hinweis, was gerade gemacht wird. Das klappt alles. Jetzt möchte ich aber haben, dass der Titel wieder geändert werden kann, wenn kein Eingabefeld (egal welcher Art später) aktiv ist. Weil, dann ist ja nichts angesagt und der Hinweis muß weg.
Ich vermute einmal, dass ich das ganze Konzept wohl falsch angegangen bin.
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Manfred.
Du solltest den Button, der benutzt wird, um den Bearbeitungsgang auszulösen, in diesem Moment mit einer anderen Caption ('Speichern') versehen (:SetCaption). Und eine logische Variable toggeln, die festhält, ob man gerade bearbeitet oder nicht (lEdit := !lEdit). Abhängig von dieser Variabeln löst dann der Button beim Speichern einen anderen Prozeß aus - er speichert durch und ändert den Titel des Fensters zurück ({||IF(lEdit,Speichern(),Bearbeiten()}). Feddisch.
Du solltest den Button, der benutzt wird, um den Bearbeitungsgang auszulösen, in diesem Moment mit einer anderen Caption ('Speichern') versehen (:SetCaption). Und eine logische Variable toggeln, die festhält, ob man gerade bearbeitet oder nicht (lEdit := !lEdit). Abhängig von dieser Variabeln löst dann der Button beim Speichern einen anderen Prozeß aus - er speichert durch und ändert den Titel des Fensters zurück ({||IF(lEdit,Speichern(),Bearbeiten()}). Feddisch.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Jupp,
so ist das. Bisher mache ich es ja so, aber ich möchte den schwebenden Zustand erwischen. Im Moment ist es so, wenn ich das letzte SLE verlasse (ich spreche immer noch wie bei GETS) dann wird der Button Speichern aktiv, aber noch nicht ausgelöst. Es kann im Prinzip jetzt alles gemacht werden. Aber die letzte Aktion steht noch oben drin. Ich habe aber in diesem schwebenden Zustand keine Ahnung, wie ich den Titel neu setzen kann.
Wenn ich allerdings jetzt ein wenig nachdenke, dann komme ich zu dem Schluß, dass es evtl. doch nicht so verkehrt ist, wenn die letzte Aktion im Titel bleibt, weil dann der User halt die Info hat, er befand sich im Suchen, Ändern, oder Neuerfassen. Ich glaube das lasse ich so.
Aber trotzdem würde mich interessieren, ob es für diesen "schwebenden" Zustand eine Möglichkeit irgendeiner Abfrage gibt, was denn nun gerade angesagt ist am Bildschirm?
so ist das. Bisher mache ich es ja so, aber ich möchte den schwebenden Zustand erwischen. Im Moment ist es so, wenn ich das letzte SLE verlasse (ich spreche immer noch wie bei GETS) dann wird der Button Speichern aktiv, aber noch nicht ausgelöst. Es kann im Prinzip jetzt alles gemacht werden. Aber die letzte Aktion steht noch oben drin. Ich habe aber in diesem schwebenden Zustand keine Ahnung, wie ich den Titel neu setzen kann.
Wenn ich allerdings jetzt ein wenig nachdenke, dann komme ich zu dem Schluß, dass es evtl. doch nicht so verkehrt ist, wenn die letzte Aktion im Titel bleibt, weil dann der User halt die Info hat, er befand sich im Suchen, Ändern, oder Neuerfassen. Ich glaube das lasse ich so.
Aber trotzdem würde mich interessieren, ob es für diesen "schwebenden" Zustand eine Möglichkeit irgendeiner Abfrage gibt, was denn nun gerade angesagt ist am Bildschirm?
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!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Manfred,
mach' mal langsam, Du schiesst schon wieder zu weit
Es gibt nix schwebendes bei Deiner Beschreibung (oder Deinem Zustand )
Solange der User nicht auf Speichern klickt, befindet er sich natürlich noch immer im Modus Erfassen bzw. Ändern.
Insofern ist schon alles schön, so wie Du es im Moment hast!
Viele Grüße,
Martin
mach' mal langsam, Du schiesst schon wieder zu weit
Es gibt nix schwebendes bei Deiner Beschreibung (oder Deinem Zustand )
Solange der User nicht auf Speichern klickt, befindet er sich natürlich noch immer im Modus Erfassen bzw. Ändern.
Insofern ist schon alles schön, so wie Du es im Moment hast!
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.
- Manfred
- Foren-Administrator
- Beiträge: 21198
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Martin,
jaja, ich hatte es immer schon mit den Waffen ....
Aber es ist doch kein "Cursor" mehr in irgendeinem SLE, wieso befindet sich das Programm dann immer noch im Eingabezustand? Diese Denkweise ist mir irgendwie noch verdammt fremd.
jaja, ich hatte es immer schon mit den Waffen ....
Aber es ist doch kein "Cursor" mehr in irgendeinem SLE, wieso befindet sich das Programm dann immer noch im Eingabezustand? Diese Denkweise ist mir irgendwie noch verdammt fremd.
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!!