DCBROWSE mit Array und Skip [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
DCBROWSE mit Array und Skip [ERLEDIGT]
wie skipped man eigentlich ein Array, bzw. wie springt man einen bestimmten Satz im Array an um ihn dann anzuzeigen?
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: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: DCBROWSE mit Array und Skip
Tom,
das klingt für mich jetzt so, als wenn Du auf eine Frage wie man zu Bahnhof kommt antwortest: "Hingehen".
Ich hatte mir schon gedacht, das es so gemacht wird, aber ich weiß nicht wie das geht. Ein Goto, gibt es ja wohl beim Array nicht?
das klingt für mich jetzt so, als wenn Du auf eine Frage wie man zu Bahnhof kommt antwortest: "Hingehen".
Ich hatte mir schon gedacht, das es so gemacht wird, aber ich weiß nicht wie das geht. Ein Goto, gibt es ja wohl beim Array 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!!
- 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
Re: DCBROWSE mit Array und Skip
moin,
ich weiss nicht wie es mit Express++ geht aber das \SOURCE\samples\basics\GuiBrow\FBROWSE.prg geht so
siehe dir den o:PosBlock an was dort von wem (nRecno) zugewiesen wird.
dort setzt du nun die Element Nummer ein und evaluierst den Codeblock.
ich weiss nicht wie es mit Express++ geht aber das \SOURCE\samples\basics\GuiBrow\FBROWSE.prg geht so
Code: Alles auswählen
oBrowse:cargo[ ARR_NO ] := 7
EVAL(oBrowse:posBlock,oBrowse)
oBrowse:refreshAll()
dort setzt du nun die Element Nummer ein und evaluierst den Codeblock.
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: DCBROWSE mit Array und Skip
Hi Jimmy,
ich habe Deinen Beitrag dazu aus 2008 gefunden und arbeite ihn gerade ab. So richtig hinbekommen habe ich es noch nicht, aber ich bastel noch.
ich habe Deinen Beitrag dazu aus 2008 gefunden und arbeite ihn gerade ab. So richtig hinbekommen habe ich es noch nicht, aber ich bastel noch.
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: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: DCBROWSE mit Array und Skip
Du musst oBrowse:ArrayElement mit der Nummer des Elements (=Position im zweidimensionalen Array) besetzen, zu dem Du springen willst, und anschließend ggf. noch ein oBrowse:RefreshAll() auslösen, feddisch. Was ist daran so schwer zu verstehen? Außerdem findet man derlei ziemlich leicht in Rogers Code, etwa in den Beispielen.
Ein Skip gibt es nur in Tabellen, die aber nur indirekt Datenquellen sind - und ggf. synchronisiert werden müssen. In Arrays skippt man nicht.
Ein Skip gibt es nur in Tabellen, die aber nur indirekt Datenquellen sind - und ggf. synchronisiert werden müssen. In Arrays skippt man nicht.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: DCBROWSE mit Array und Skip
Hi Tom,
das hatte ich so nicht verstanden (kapiert) Mittlerweile bin ich ja schon so weit, mir im Objektinspektor alle Vars usw anzuschauen, um zu sehen was wo reingeschrieben werden kann. :ArrayElement hatte ich als pauschal angesehen und nicht erkannt, das es eine membervar ist. Jetzt ist alles klar. Es scheint genau so zu klappen. Das ist wirklich nicht schwer, man muß es nur erkennen. (Die Tomatenzeit scheint wohl wieder angebrochen zu sein hier auf dem Lande)
das hatte ich so nicht verstanden (kapiert) Mittlerweile bin ich ja schon so weit, mir im Objektinspektor alle Vars usw anzuschauen, um zu sehen was wo reingeschrieben werden kann. :ArrayElement hatte ich als pauschal angesehen und nicht erkannt, das es eine membervar ist. Jetzt ist alles klar. Es scheint genau so zu klappen. Das ist wirklich nicht schwer, man muß es nur erkennen. (Die Tomatenzeit scheint wohl wieder angebrochen zu sein hier auf dem Lande)
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: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: DCBROWSE mit Array und Skip
Hallo, Manfred.
Der Objektinspektor ist ein gutes Hilfsmittel, aber auch die Beispiele von Roger sind extrem hilfreich. Oder das Stöbern in seinem Quellcode - in diesem Fall in _DCXBROW.PRG.
Schön, dass es jetzt klappt.
Der Objektinspektor ist ein gutes Hilfsmittel, aber auch die Beispiele von Roger sind extrem hilfreich. Oder das Stöbern in seinem Quellcode - in diesem Fall in _DCXBROW.PRG.
Schön, dass es jetzt klappt.
Herzlich,
Tom
Tom
- 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
Re: DCBROWSE mit Array und Skip
em, äh ... aber es gibt einen Skipper bei XbpBrowse() und Array
Code: Alles auswählen
Beispiel XbpBrowse Array
aData := { {"Magazine", 133, .T.},;
{"Zeitungen", 15, .T.},;
{"Bücher", 32, .T.},;
{"Postkarten", 833, .F.} }
nLastRec := Len(aData)
nRecno := 1
oBrowse:SkipBlock := {|nSkip,oBrowse| DoSkip(nSkip,oBrowse) }
oBrowse:GoBottomBlock := {|| nRecno := Len(aData) }
oBrowse:GoTopBlock := {|| nRecno := 1 }
oBrowse:PosBlock := {|| nRecno }
oBrowse:PhyPosBlock := {|| nRecno }
oBrowse:LastPosBlock := {|| Len(aData) }
oBrowse:FirstPosBlock := {|| 1 }
( hier wäre ein EVAL(oBrowse:PosBlock,oBrowse) nicht notwendig )
ich mag den externen DoSkip() nicht denn es geht auch so
Code: Alles auswählen
oBrowse:skipBlock := {|nSkip| -np + (np := MAX(1, MIN(LEN(aArray), np + nSkip))) }
oBrowse:goTopBlock := {|| np := 1}
oBrowse:goBottomBlock := {|| np := LEN(aArray) }
oBrowse:posBlock := {|| np }
oBrowse:phyPosBlock := {|| np }
oBrowse:lastPosBlock := {|| Len( aArray ) }
oBrowse:firstPosBlock := {|| 1 }
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: DCBROWSE mit Array und Skip
Ich meinte das Skippen im Sinne von DbSkip(), also dem Sprung in einer Tabelle. Das braucht man bei Arraybrowses nicht. Aber - geschenkt. Manfreds Problem ist ja gelöst.
Herzlich,
Tom
Tom