DbEdit Zeile markieren

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

DbEdit Zeile markieren

Beitrag von Jan »

Meine Zeiten in Clipper sind schon etwas her. Aber hat jemand von Euch eine Idee, wie ich in DbEdit einen Zeilencursor erzeugen kann? Es geht einfach darum, das keine Daten editiert sondern nur angezeigt werden sollen. Und da ist es auf großen Bildschirmen irre aufwändig, wenn man eine komplette Zeile nur anhand eines kleinen blinkenden Cursors in irgendienem Feld identifizieren kann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2121
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 72 Mal

Re: DbEdit Zeile markeiren

Beitrag von Werner_Bayern »

Servus Jan,

mit

Code: Alles auswählen

set intensity on 
wird doch automatisch im dbedit ein ZELLENCursor invers dargestellt.
Wenn Du einen ZEILENCursor brauchst, dann ein dbedit mit nur 1 "Feld", also makroexpandiert?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von Jan »

Hallo Werner,

nö, das schaltet nur für das aktuelle Feld um. Aber nicht für die komplette Zeile. Oder habe ich da was mißverstanden?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2121
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 72 Mal

Re: DbEdit Zeile markeiren

Beitrag von Werner_Bayern »

irgendwie kann ich Dir nicht ganz folgen.
Mit intensity on und einer entsprechenden setcolor-Einstellung (z. B. "b/w, gr+/bg+") hast Du einen ZELLENCursor, also nicht nur einen blinkenden Cursor, wie Du eingangs geschrieben hast.
Möchtest Du einen ZEILENCursor, mach halt einfach nur ein aColumns fürs dbedit, dann hast Du automatisch einen Zeilencursor, weils nur je Zeile 1 "Feld" gibt.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von Jan »

Werner,

ein Zeilencursor ist für mich einer, der über die komplette Breite des Browses geht, über alle Felder.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2121
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 72 Mal

Re: DbEdit Zeile markeiren

Beitrag von Werner_Bayern »

Deshalb habe ich versucht, 2 Möglichkeiten aufzuzeigen.
1. Aus dem von Dir beschr. blinkenden Cursor zumindest einen ZELLENCursor zu machen (= 50%iger Lösungsansatz)
2. ZEILENCursor mittels makroexpandiert, also nur 1 "Feld" pro Datensatz (= 100%iger LA)

Beispiel gewünscht?
es grüßt

Werner

<when the music is over, turn off the lights!>
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: DbEdit Zeile markeiren

Beitrag von AUGE_OHR »

hi,

ein DbEdit gibt es nicht unter Xbase++. vielmehr gibt es eine "Kompatibilitätsfunktion DbEdit()" die ein Tbrowse ist.

Code: Alles auswählen

         oTBrowse:COLORRECT( { oTBrowse:ROWPOS, 1, oTBrowse:ROWPOS, oTBrowse:COLCOUNT }, { 2, 1 } )
         oTBrowse:HILITE()
das müsste eine Einfärbung der aktuellen Row machen.
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von Jan »

Jimmy,

tja, da das Teil aber als DbEdit gestartet wird, habe ich da kein Objekt, das ich entsprechend ansprechen könnte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: DbEdit Zeile markeiren

Beitrag von AUGE_OHR »

Jan hat geschrieben:tja, da das Teil aber als DbEdit gestartet wird, habe ich da kein Objekt, das ich entsprechend ansprechen könnte.
DbEdit() ist eine PROCEDURE und keine Class.
aus allen *.PRG in C:\ALASKA\XPPW32\Source\SYS\ wird ja die XppSYS.DLL erzeugt.

ich würde also eine Kopie von C:\ALASKA\XPPW32\Source\SYS\dbedit.prg verwenden und die erweitern
bzw. als Anleitung für deine eigenes Dbedit()/TBrowse() nehmen.

da es einen "Row-Cursor" aber auch unter TBrowse() "so" nicht gibt der Tip mit o:COLORRECT().
dabei solltest man mittels :autoLite := .F. und :hilite()/:deHilite() arbeiten umd den Effekt eines "Row-Cursor" zu erzeugen.
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2121
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 72 Mal

Re: DbEdit Zeile markeiren

Beitrag von Werner_Bayern »

oder alle Felder zu einem aColumns zusammenfassen. :wink:
es grüßt

Werner

<when the music is over, turn off the lights!>
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von UliTs »

Jan,
Warum gehst Du nicht auf Werners Lösungsvorschlag ein?

Uli

Edit: aifWerbers -> auf Werners
Zuletzt geändert von UliTs am Mi, 11. Jul 2012 21:33, insgesamt 1-mal geändert.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von Jan »

Uli,

wer ist denn "aifWerber"?

Und abgesehen davon: Ich werde den Vorschlag von Jimmy testen. Den von Werner nicht, der ist zwar auch charmant, aber in diesem Zusammenhang nicht praktikabel. Aber gestern hatte ich andere Arbeiten zu tun und bin da nicht zu gekommen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: DbEdit Zeile markeiren

Beitrag von UliTs »

Hallo Jan,

Ich habe DbEdit fehlerbereinigt und teilweise erweitert.
Wenn Du möchtest, kann ich Dir den Quellcode zur Verfügung stellen. An Deiner Erweiterung wäre ich auch interessiert :-) .

Uli

P.S. Geht aber nicht vor Montag...
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
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: DbEdit Zeile markeiren

Beitrag von AUGE_OHR »

UliTs hat geschrieben:An Deiner Erweiterung wäre ich auch interessiert :-) .
wenn du o:colorRect() meinst dann seht doch mal in den Source von C:\ALASKA\XPPW32\Source\SYS\BrowSys.prg.

dabei sorgt nun TBRowHilited( oTB, .T. ) / TBRowHilited( oTB, .F. ) die die "Umschaltung" der Farben.

p.s. von Hannes Ziegler gibt es auch ein Function ToggleTBColor() die sehr schnell sein soll (nie ausprobiert ...)
gruss by OHR
Jimmy
Antworten