spezielles GET aktivieren

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

spezielles GET aktivieren

Beitrag von Manfred »

entweder habe ich es nie gewußt, oder aber total vergessen. Wie kann man ein GET aktivieren, von dem man eigentlich nur die Variable weiß, auf die das GET gelegt wurde? Ich möchte gerne bei bestimmten Ergebnissen zurück zu einem vorhergegangenem GET. Unter GUI macht man das ja einfach mit SetAppFocus(name).

Code: Alles auswählen

@ 1,1 GET feld1
@ 2,1 GET feld2 VALID pruefen()
read
**********************************
function pruefen()
            falsch := .T.
            if falsch
 // hier jetzt zurück zu feld1
            endif
            return .T.
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

Manfred hat geschrieben:entweder habe ich es nie gewußt, oder aber total vergessen. Wie kann man ein GET aktivieren, von dem man eigentlich nur die Variable weiß, auf die das GET gelegt wurde? Ich möchte gerne bei bestimmten Ergebnissen zurück zu einem vorhergegangenem GET. Unter GUI macht man das ja einfach mit SetAppFocus(name).

Code: Alles auswählen

@ 1,1 GET feld1
@ 2,1 GET feld2 VALID pruefen()
read
**********************************
versuche es mal mit

Code: Alles auswählen

readMODAL( <aGetList> [,<nStartGet>] )
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

so ähnlich mache ich das schon. Ich gehe über das getlist Array. Ich dachte es ginge noch anders....
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!!
Benutzeravatar
komnick
UDF-Programmierer
UDF-Programmierer
Beiträge: 75
Registriert: Mi, 04. Jun 2014 9:56
Wohnort: Berlin
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal

Re: spezielles GET aktivieren

Beitrag von komnick »

Meinst du das?

Code: Alles auswählen

    @ 1,1 GET feld1 NAME 1
    @ 2,1 GET feld2 VALID pruefen()
    read
    **********************************
    function pruefen()
                falsch := .T.
                if falsch
                       GET RESTART NAME 1    // hier jetzt zurück zu feld1
                endif
                return .T.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

hm, keine Ahnung. Sowas habe ich noch nie gesehen. Wo steht das mit dem GET RESTART? Ich habe mir mal die ganzen Get Funktionen angesehen, aber irgendwie verwirrt mich das alles ein wenig. Es ergibt nicht das, was ich denke, was es ergeben sollte.
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

wie wäre es mit
GetActive() - Get-Objekt bestimmen oder ermitteln, das den Eingabe-Fokus besitzt.
GetActive( [<oGet>] ) --> oGet | NIL
du kannst im VALID im GET Object nach deiner Variable scannen und die Position aktivieren.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

wie schon erwähnt, so ähnlich mache ich es schon. Es scheint dann keine andere Möglichkeit zu geben. Aber damit kann ich ja auch nicht so einfach ein vorheriges GET "anspringen".
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!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

wieder was dazugelernt. Die ganzen Get Funtionen scheinen wohl nur im Programm selbst zu klappen. In der VX im Debugger anscheinend nicht. Kein Wunder dass ich nichts ordentliches zurückbekomme.
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

Manfred hat geschrieben:wieder was dazugelernt. Die ganzen Get Funtionen scheinen wohl nur im Programm selbst zu klappen. In der VX im Debugger anscheinend nicht. Kein Wunder dass ich nichts ordentliches zurückbekomme.
:shock: ... ne [-X bei mir geht es auch im Debugger ( 2.0.338 Pre-Release )
wie schon gesagt sollte es kein Problem sein. ich springe nach dem 2nd GET auf das 4th, lasse also das 3th GET aus.

Code: Alles auswählen

PROCEDURE Main()
LOCAL a := 10
LOCAL b := 20
LOCAL c := 30
LOCAL d := 40
LOCAL GETLIST := {}

   CLS
   @ 10,10 GET a
   @ 11,10 GET b VALID MyFunc("b",GETLIST)
   @ 12,10 GET c
   @ 13,10 GET d
   READ

WAIT
RETURN

FUNCTION MyFunc(cVar,aGet)
LOCAL nPosi := 0
LOCAL oGet

ALTD()
   DO CASE
      CASE cVar = "a"
      CASE cVar = "b"
         nPosi := ASCAN(aGet,{|x| x:name = "d" } )
         IF nPosi > 0
            oGet := aGet[nPosi]
            GetActive(oGet)
         ENDIF
      CASE cVar = "c"
      CASE cVar = "d"
   ENDCASE

RETURN .T.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

komisch, wenn ich im Debugger auf der Commandzeile g:= getactive() eingebe, dann bekomme ich NIL zurück. Wenn ich es im Code angebe, dann bekomme ich das Get zurück.
ich habe Build 430.
Wenn ich im Debugger GetListPos() eingebe, dann bekomme ich 0 zurück, im Code die Stelle.
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

Manfred hat geschrieben:Wenn ich im Debugger GetListPos() eingebe, dann bekomme ich 0 zurück, im Code die Stelle.
dann versuche doch

Code: Alles auswählen

nPosi := AScan( GetList(), GetActive() )
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

davon rede ich doch. Gibt immer eine 0 zurück im Debugger
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

Manfred hat geschrieben:davon rede ich doch. Gibt immer eine 0 zurück im Debugger
GetActive.jpg
GetActive.jpg (236.8 KiB) 7060 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

Jung, mach mich nich dat Blut an klumpen.

Im Debugger auf der Consolenebene. Also von Hand eingetippt. Wie ich es weiter oben erwähnt hatte. Im Code im Debugger angezeigt klappt es bei mir 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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: spezielles GET aktivieren

Beitrag von brandelh »

Ein GET überspringen macht man normal mit WHEN MyFunk()
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

Supi Hubert, aber wer will hier ein GET überspringen?
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!!
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: spezielles GET aktivieren

Beitrag von AUGE_OHR »

Manfred hat geschrieben:Im Debugger auf der Consolenebene. Also von Hand eingetippt.
OK ... das mache ich nie ... genau wegen solchen Probleme ;)

es gibt doch die Möglichkeit was zu markieren dann zeigt er nach einer Weile auch was an.
OK, damit ist dein Problem wohl [erledigt]

@Huber : das "springen" war nur als Beispiel gedacht das man mit GetActive() jedes beliebige GET anspringen kann.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: spezielles GET aktivieren

Beitrag von Manfred »

ja Jimmy, das lerne ich auch immer wieder. aber ich bin ja zuversichtlich, dass es doch klappen könnte. Wozu ist denn sonst auch ein Debugger da, wenn man sowas nicht machen kann. Ich will ja nicht alles fest verdrahten. das soll ja on the fly machbar sein.
Aber erledigt ist es noch nicht. Vielleicht hat ja doch noch jemand Erkenntnisse, die weiterhelfen könnten.
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!!
Antworten