xclass Edit-Feld

Moderator: Moderatoren

Antworten
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

xclass Edit-Feld

Beitrag von stevie » Di, 16. Okt 2007 16:02

Ich erstelle ein Edit-Feld:
oSleSensor := dsSle():new(oEdit, , {60,280}, {80,20}, , .T. )
czahl:=recno()
oSleSensor:clipSiblings := .T.
oSleSensor:tabStop := .T.
oSleSensor:bufferLength := 13
if cmode = "bearbeiten"
oSleSensor:setdata( osrv1:fieldget(3),,)
endif
oSleSensor:create()

Wenn setdata nicht ausgeführt wurde, wird linksbündig angefangen, wenn aber nicht dann wird rechts angefangen und das Value, was editiert werden soll, wird erst nach einem Tastendruck angezeigt. Was muss ich tun, damit die Daten ohne Tastendruck sofort links angezeigt werden?

Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 200
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig

Beitrag von Sören » Mi, 17. Okt 2007 8:52

Hallo Stevie,

mach mal das ::SetData() erst nach dem ::Create(), dann sollte es
eigentlich funktionieren.
Beste Grüße,
Sören

stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie » Mi, 17. Okt 2007 9:59

Sören hat geschrieben:Hallo Stevie,

mach mal das ::SetData() erst nach dem ::Create(), dann sollte es
eigentlich funktionieren.
wenn ich das mache, werden im gesamten Feld nur noch große "X" angezeigt.
Zuletzt geändert von stevie am Mi, 17. Okt 2007 10:18, insgesamt 2-mal geändert.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14477
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Mi, 17. Okt 2007 10:10

Hi,

normalerweise kann man in Xbase++ Methoden erst aufrufen sobald das Create() erfolgt ist (Ausnahme oXbpPrinter:list()). Warum die X erscheinen, keine Ahnung eventuell signalisieren sie aber eine Art Feldüberlauf wie die * bei GET ?
Gruß
Hubert

stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie » Mi, 17. Okt 2007 10:19

brandelh hat geschrieben:Hi,

normalerweise kann man in Xbase++ Methoden erst aufrufen sobald das Create() erfolgt ist (Ausnahme oXbpPrinter:list()). Warum die X erscheinen, keine Ahnung eventuell signalisieren sie aber eine Art Feldüberlauf wie die * bei GET ?
Ergänzung: Das tritt nur auf, wenn die Feldinhalte numerisch sind.
Wenn sie Zeichen sind, klappts. Das heißt, wenn ich die Daten vorher mit alltrim und str bearbeite, werden sie ordentlich angezeigt. setdata() muss natürlich dabei hinter create() ausgeführt werden.
Wenn ich die aber so bearbeite muss ich sie ja danach wieder mit val() in numerisch verwandeln, damit das in die Db eingetragen werden kann.

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14452
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Mi, 17. Okt 2007 10:25

Hallo Stevie,
damit XClass++ weiß, was es darstellen soll, musst Du natürlich einige Angaben machen - z.B. einen :datalink mitgeben.
So mache ich das bei mir (ohne Probleme) mit einem numerischen Feld:

Code: Alles auswählen

::Coden         := dsSle():new( ::drawingArea, , {130,398}, {30,18} )
::Coden:bufferLength := 3
::Coden:tabStop := .T.
::Coden:autoTab := .T.
::Coden:Picture := "@K 999"
::Coden:Tooltip := "Geben Sie die Codenummer des Hundes an!"
::Coden:KillInputFocus := { |a,b,obj| ::hcrtest( obj ) }
::Coden:dataLink := {|x| IIf( PCOUNT()==0, &dateiname->Coden, &dateiname->Coden := x ) }
AAdd( ::editControls, ::Coden )
Wenn Du kein Feld aus einer Datenbank nimmst, sondern eine Variable, musst Du diese vorher zwingend initialisieren, damit das dsSle weiß, was auf es zukommt!

Viele Grüße,
Martin
:grommit:
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
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Antworten