DCGET POPUP die nächste [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
DCGET POPUP die nächste [ERLEDIGT]
Ich habe ein DCGET mit POPUP für den Kalender.
Es gibt ein Feld für Datum ab und ein Feld für Datum bis. Wenn ich im Kalender für "ab" bin, würde ich ganz gerne das Datum für "bis" direkt daraus errechnen und dann in das "Datum bis" Feld übernehmen. Aber wo baut man sowas ein? Ich habe es versucht direkt in dem Codeblock Popup hinter DC_POPDATE(), aber das klappt nicht. Außerdem scheint zu diesem Zeitpunkt das gewählte Datum noch nicht in den Buffer übertragen worden zu sein.
Es gibt ein Feld für Datum ab und ein Feld für Datum bis. Wenn ich im Kalender für "ab" bin, würde ich ganz gerne das Datum für "bis" direkt daraus errechnen und dann in das "Datum bis" Feld übernehmen. Aber wo baut man sowas ein? Ich habe es versucht direkt in dem Codeblock Popup hinter DC_POPDATE(), aber das klappt nicht. Außerdem scheint zu diesem Zeitpunkt das gewählte Datum noch nicht in den Buffer übertragen worden zu sein.
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: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: DCGET POPUP die nächste
Beispielsweise so:
Code: Alles auswählen
... POPUP {|d|d:=DC_PopDate(d),dDate2 := d + 14,DC_GetRefresh(oDate2)}
@ n,n DCGET dDate2 OBJECT oDate2
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
Hi Tom,
Ist das jetzt eine Vermutung, oder hast Du das so ausprobiert?
Ich habe in den Codeblock eine Funktion gebaut, die sofort danach den Buffer prüfbar macht. Der ist aber zu dem Zeitpunkt noch leer. Und nach der Funktion knallt es.
Ist das jetzt eine Vermutung, oder hast Du das so ausprobiert?
Ich habe in den Codeblock eine Funktion gebaut, die sofort danach den Buffer prüfbar macht. Der ist aber zu dem Zeitpunkt noch leer. Und nach der Funktion knallt es.
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: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
Nö,
es klappt nicht bei mir
es klappt nicht bei mir
Code: Alles auswählen
@ nOben,nLinks DCSAY "gültig ab:";
OBJECT oText;
PARENT oRahmenRabatt;
SIZE nSayBreite,nSayHoehe
@ DCGUI_ROW,DCGUI_COL DCGET oRabattGenre:gueltigab;
EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl,oRabattGenre:addEditControl(o)};
OBJECT oRabattGenre:oGueltigab;
PARENT oRahmenRabatt;
POPUP {|d| DC_PopDate(d),oRabattGenre:gueltigbis := d,DC_GetRefresh(oRabattGenre:oGueltigbis)};
POPCAPTION 7714 POPFONT "10.Arial Bold";
SIZE 100,nSayHoehe;
TABSTOP
nOben += nAbstand
@ nOben,nLinks DCSAY "gültig bis:";
OBJECT oText;
PARENT oRahmenRabatt;
SIZE nSayBreite,nSayHoehe
@ DCGUI_ROW,DCGUI_COL DCGET oRabattGenre:gueltigbis;
EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl,oRabattGenre:addEditControl(o)};
OBJECT oRabattGenre:oGueltigbis;
PARENT oRahmenRabatt;
POPUP {|d| DC_PopDate(d,,,,,.F.,2)};
POPCAPTION 7714 POPFONT "10.Arial Bold";
SIZE 100,nSayHoehe;
TABSTOP
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: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
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: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
Ändert aber nichts an der Tatsache, dass jetzt zwar das 2.Datum gesetzt wird, aber Startdatum immer noch leer bleibt.
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: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: DCGET POPUP die nächste
Sorry, stimmt. Du musst im Popup direkt auf die Variable zugreifen. Das hier funktioniert so, wie Du es erwartest:
Code: Alles auswählen
PROCEDURE MAIN()
LOCAL oDialog, GetList := {}, GetOptions := {}, oDate1, oDate2
dDate1 := CtoD(' . . ')
dDate2 := dDate1
@ 1,1 DCSAY 'Datum 1:' GET dDate1 GETOBJECT oDate1 POPUP {||dDate1:=DC_PopDate(dDate1),dDate2:=dDate1+14,DC_GetRefresh(oDate2)}
@ 2,1 DCSAY 'Datum 2:' GET dDate2 GETOBJECT oDate2
DCREAD GUI FIT ADDBUTTONS
RETURN
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
Ich hatte mir sowas schon gedacht, bin aber jetzt etwas abgelenkt worden durch die Tatsache, dass ich gerade erst gemerkt habe, welche Parameter es alles gibt und die teste ich gerade aus. Nicht schlecht, was Roger da gebastelt hat. =D>
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: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCGET POPUP die nächste
Danke Tom für den Tipp. So wie es aussieht, was es genau das, was ich brauchte.
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!!
- Hans Zethofer
- Rekursionen-Architekt
- Beiträge: 278
- Registriert: Fr, 27. Jan 2006 8:29
- Wohnort: 2700 Wiener Neustadt
- Hat sich bedankt: 1 Mal
- Kontaktdaten:
Re: DCGET POPUP die nächste [ERLEDIGT]
Hallo Leute!
Ich hätte da ein Problem mit folgendem gewünschten Ablauf
Ich habe bei der Eingabe eines Datenfeldes (EAN-Nummer) eine Validfunction die mir die plausible Prüfung (bei händischer Eingabe) und die Verfügbarkeit der eingegebenen EAN-Nummer abnimmt.
Bei richtiger Eingabe der EAN-Nummer werden ::cKATEGORIE, ::cGRUPPE, ::cTYPE und ::cBEZEICHN automatisch befüllt.
Zur Auswahl der möglichen EAN-Nummer habe ich dem Kunden noch zusätzlich ein POPUP mit allen EAN-Nummern zur Auswahl bereitgestellt.
Soweit so gut - das läuft eigentlich einwandfrei bis auf folgenden Umstand.
Holt sich der User eine bestehende EAN-Nummer mit der POPUP hinterlegten Funktion und wird diese in das Getfeld übertragen so bleibt der Cursor in dem EAN-Feld stehen und springt nicht wie gewünscht ins darauffolgende/nächste GETFELD (::nSTUECK).
was ja eigentlich Sinn macht
Wie könnte ich das so einrichten das nach einer Auswahl aus einem POPUP das nächste GETFELD aktiviert werden kann?
Ich hätte da ein Problem mit folgendem gewünschten Ablauf
Ich habe bei der Eingabe eines Datenfeldes (EAN-Nummer) eine Validfunction die mir die plausible Prüfung (bei händischer Eingabe) und die Verfügbarkeit der eingegebenen EAN-Nummer abnimmt.
Bei richtiger Eingabe der EAN-Nummer werden ::cKATEGORIE, ::cGRUPPE, ::cTYPE und ::cBEZEICHN automatisch befüllt.
Zur Auswahl der möglichen EAN-Nummer habe ich dem Kunden noch zusätzlich ein POPUP mit allen EAN-Nummern zur Auswahl bereitgestellt.
Soweit so gut - das läuft eigentlich einwandfrei bis auf folgenden Umstand.
Holt sich der User eine bestehende EAN-Nummer mit der POPUP hinterlegten Funktion und wird diese in das Getfeld übertragen so bleibt der Cursor in dem EAN-Feld stehen und springt nicht wie gewünscht ins darauffolgende/nächste GETFELD (::nSTUECK).
was ja eigentlich Sinn macht
Wie könnte ich das so einrichten das nach einer Auswahl aus einem POPUP das nächste GETFELD aktiviert werden kann?
Code: Alles auswählen
.
.
.
@ 6.4,22 DCGET ::cEAN OBJECT ::EcEAN ;
GETCOLOR {||if(::lShow,{GRA_CLR_BLUE,GRA_CLR_BACKGROUND},{GRA_CLR_DEFAULT,GRA_CLR_WHITE})};
VALID {||::Artnummer_Valid(::cEAN)};
POPUP {|o|::FindEAN(o,::cWAGENNR,::cBUCH_ART,1)};
POPCAPTION "v" ;
POPFONT "10.Marlett" ;
POPSTYLE DCGUI_POPUPSTYLE_IMBEDDED ;
POPKEY xbeK_F1 ;
EDITPROTECT {|| ::lShow}
@ 7.6,22 DCGET ::cKATEGORIE ;
GETCOLOR {||{GRA_CLR_BLUE,GRA_CLR_BACKGROUND}};
NOTABSTOP ;
EDITPROTECT {|| .t.}
@ 8.8,22 DCGET ::cGRUPPE ;
GETCOLOR {||{GRA_CLR_BLUE,GRA_CLR_BACKGROUND}};
NOTABSTOP ;
EDITPROTECT {|| .t.}
@ 10.0,22 DCGET ::cTYPE ;
GETCOLOR {||{GRA_CLR_BLUE,GRA_CLR_BACKGROUND}};
NOTABSTOP ;
EDITPROTECT {|| .t.}
@ 11.2,22 DCGET ::cBEZEICHN ;
GETCOLOR {||{GRA_CLR_BLUE,GRA_CLR_BACKGROUND}};
NOTABSTOP ;
EDITPROTECT {|| .t.}
@ 12.4,22 DCGET ::nSTUECK picture "9999999.99" OBJECT ::EnSTUECK ;
GETCOLOR {||if(::lShow,{GRA_CLR_BLUE,GRA_CLR_BACKGROUND},{GRA_CLR_DEFAULT,GRA_CLR_WHITE})};
EDITPROTECT {|| ::lShow}
DCGETOPTIONS ;
NOSUPERVISE;
NOESCAPEKEY;
EXITQUERY MSG {|| ::WriteCheck(GetList) } ;
ABORTQUERY MSG {|| ::AbortCheck(GetList) } ;
CLOSEQUERY MSG {|| ::AbortCheck(GetList) };
HILITEGETS GRA_CLR_BLUE;
NOMAXBUTTON;
NOMINBUTTON;
TABSTOP;
GETFONT "10.Courier New";
SAYFONT "8.Arial"
lImmediate := DC_GetComboImmediate(.t.)
DCREAD GUI;
MODAL;
SETAPPWINDOW;
OPTIONS GetOptions ;
TITLE "Buchungsdatensatz" ;
FIT;
SETFOCUS ::EcBUCH_ART;
EVAL {|| DC_SetAppFocus(oEnter), if( ::lNew, PostAppEvent(xbeP_Keyboard, xbeK_RETURN),nil) }; // damit in 1.Getfeld springt!
TO lOk
DC_GetComboImmediate(lImmediate)
_____________
lg
Hans
lg
Hans
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: DCGET POPUP die nächste [ERLEDIGT]
Hallo Hans,
wenn dein POPUP ein Array mit zwei Elementen zurückliefert, dann ist der erste Wert des Arrays dein Wert, der zweite ist das Objekt, dass den Focus erhalten soll.
Gib also deinem Get, dass den Focus erhalten soll, einen Objektnamen (oGETxx) und ändere das Popup
wenn dein POPUP ein Array mit zwei Elementen zurückliefert, dann ist der erste Wert des Arrays dein Wert, der zweite ist das Objekt, dass den Focus erhalten soll.
Gib also deinem Get, dass den Focus erhalten soll, einen Objektnamen (oGETxx) und ändere das Popup
Code: Alles auswählen
...
POPUP {|o| {::FindEAN(o,::cWAGENNR,::cBUCH_ART,1), oGETxx} }
...
Viele Grüße
Wolfgang
Wolfgang
- Hans Zethofer
- Rekursionen-Architekt
- Beiträge: 278
- Registriert: Fr, 27. Jan 2006 8:29
- Wohnort: 2700 Wiener Neustadt
- Hat sich bedankt: 1 Mal
- Kontaktdaten:
Re: DCGET POPUP die nächste [ERLEDIGT]
Hallo Wolfgang!
Danke =D> - das wars - so springt nach Auswahl der Cursor automatisch auf mein nächstes Getfeld.
Steht ja auch so in der Hilfe - aber offensichtlich habe ich das nicht genau genug gelesen oder einfach nicht richtig kapiert.
Besten Dank nochmals
Danke =D> - das wars - so springt nach Auswahl der Cursor automatisch auf mein nächstes Getfeld.
Steht ja auch so in der Hilfe - aber offensichtlich habe ich das nicht genau genug gelesen oder einfach nicht richtig kapiert.
Besten Dank nochmals
_____________
lg
Hans
lg
Hans