Picture oder Transform unter VIO

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: 21191
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Picture oder Transform unter VIO

Beitrag von Manfred »

Moin,

im Moment fällt mir mal wieder keine Lösung hierzu ein:

Kann ein Eingabefeld so formatiert werden, dass es zwar z.B. 8 Zeichen lang ist, aber nur 6 Zeichen annimmt? (evtl. rechts, oder linksbündig)

Im Moment komme ich nicht drauf.
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: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

wenn du es linksbündig willst, geht es einfach mit Picture, rechtsbündig muss man die picture Funktionen genau durchlesen, wie das hinzubekommen ist. Das hatte ich aber bisher nie.

Code: Alles auswählen

cWert := "1234567"
@ ... get cWert picture "xxxx"
so werden nur 4 Stellen editierbar, der Rest müste unverändert bleiben - denke ich jetzt mal (ist schon ewig her ;) )
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21191
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hubert,

haste genau verkehrt ausgelegt. Ich meinte es andersherum

@ 1, 1 GET feld1 picture "9999999999"
@ 2, 1 GET feld2 picture "99999"

so, bei GUI macht man das SLE entsprechend gleich groß, aber den Buffer kleiner.

Bei VIO... ich würde gerne beide Felder gleichlang haben, aber verhindern, dass in feld2 mehr als 5 Zahlen eingetippt werden können.

Ich habe mir die Picture Erklärung schon angesehen. Aber leider gibt es zu den Formaten, die evtl. in Frage kommen würden keine Beispiele. Somit weiß ich auch nicht wie die formatiert werden müssen.
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: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

wenn es dir darauf ankommt, dass die Zahlen hinten rechts gleich ausgerichtet sind, mußt du nur die @ get Werte setzten:

Code: Alles auswählen

@1,1 say "Große Zahl"  
@2,1 say "Kleine Zahl"  

@1,20 get nX picture "9999999999"
@2,25 get nX picture "99999"
die SAY von den GET zu trennen hat auch noch andere Vorteile.

Wenn dich die Farbe der unterschiedlichen Eingabelängen stört, mußt du davor halt einen @1,20 say " " color ... in der Eingabehintergrundfarbe setzen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Manfred hat geschrieben:Aber leider gibt es zu den Formaten, die evtl. in Frage kommen würden keine Beispiele.
bei Zahlen ist die Formatierung sehr eingeschränkt.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21191
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Immer dasselbe Theater,

sobald ich nachfrage, finde ich auch schon selbst die Lösung:

Irgendwie fiel mir siedendheiß ein, dass ich irgendwo Telefonnummereingaben formatiert habe. PICTURE "99 99 99 99". Das ist das gleiche...

Es ist ganz einfach:

Code: Alles auswählen

@ 1,1 GET feld1 PICTURE "@K 9999999999999"
@ 2,1 GET feld2 PICTURE "@K      99999999"
@K steht schon drin, aber ich fülle vorne mit entsprechenden Leerzeichen auf und dann steht der Cursor direkt nach dem letzten Leerzeichen. Somit habe ich meine gleichlangen Eingabefelder.

Trotzdem Danke für die Hilfe....
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: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

schön dass es geht, aber ich kann noch nicht erkennen, warum du ein Feld länger als 5 Zeichen machen willst, statt einfach es später anfangen zu lassen. Schließlich soll man doch erkennen wie lange die Eingabe sein darf oder ?
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

laut Hilfe werden die führenden Blanks dann in deinen Eingabestring übernommen falls kein @R angegeben wird. Hast du nun ein numerisches Feld oder ein Textfeld ?
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21191
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hubert,

stimmt, dass ist jetzt der nächste Schritt, diese zu verhindern.
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