Textbox-Eingabekontrolle
Übersicht

![]() |
NoobyBetreff: Textbox-Eingabekontrolle |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nochn Thema...
Ich habe in BlitzPlus eine Textbox, in die eine maximal 7-stellige Zahl eingegeben werden soll. Damit ich mit einer richtigen Eingabe weiterrechne, könnte ich diese kontrollieren. Mir wäre es jedoch lieber, wenn es gar nicht erst zu einer falschen Eingabe kommt. Ich habe schon alle Zeichen, die keine Ziffer sind mit diesem Code rausgeschmissen: Code: [AUSKLAPPEN] If Int(TextFieldText(money_textfield)) <> TextFieldText(money_textfield)
SetGadgetText(money_textfield, altergeldtext$) Else altergeldtext$ = TextFieldText(money_textfield) Endif Dabei nervt nur, dass der Cursor trotzdem weiterrückt. Nun möchte ich gerne, dass wenn eine Ziffer hinzugefügt wird, das Feld aber schon voll ist, die nachfolgende Ziffer überschrieben wird (das entspräche der "Einfg"-Taste), oder, wenn die neue Ziffer auch die letzte (achte) ist, sie selber dran glauben muss. Dazu müsste ich nach meiner überlegung jedoch wissen, wo sich der Cursor befindet. Kann man also die Position des Cursors irgendwie beeinflussen und diese feststellen, oder stößt man hier an eine Grenze von BlitzBasic? EDIT: Hilft mir "TextArea"? |
||
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/ |
ETsoftware |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lies mit TextFieldText das TextField aus und überprüfe mit Len(string$) wie viele Zeichen sich in der Zeichenkette befinden. >7 Then SetGadgetText textfield,Left(TextFieldText(textfield),7)
Code: [AUSKLAPPEN] If Len(TextFieldtext$(money_textfield))>7 Then
SetGadgetText money_textfield,Left(TextFieldText(money_textfield),7) EndIf Dabei wird die Position des Cursors nicht berücksichtigt, das letzte Zeichen wird gelöscht. Nicht getestet! Mfg ETsoftware |
||
ETsoftware 2007 |
![]() |
Nooby |
![]() Antworten mit Zitat ![]() |
---|---|---|
^^Genau diesen Code hatte ich schon verwendet, aber ich suche jetzt nach was besserem, was ich oben beschrieben habe. | ||
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/ |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kannst ja den text vor dem eintippen in ner variable speichern und mit dem text nach dem eintippen vergleichen dort wo ein unterschied ist wurde ein zeichen hinzugefügt.
Vorher-Code: [AUSKLAPPEN] 123456789
Nacher-Code: [AUSKLAPPEN] 123A456789
mit ner for next schleife einzelne zeichen auf gleichheit überprüfen bei dem ersten unterschied alle zeichen samt dem unterschiedlichen (teil1) seperat von dem rest(teil2) in variablen speichern von dem teil2 das erste zeichen löschen(mittels Mid/Right) Code: [AUSKLAPPEN] neuertext=teil1+teil2
|
||
![]() |
Nooby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hatte ich zuerst auch gedacht, aber:
Ursprünglicher Inhalt: 1234567 Veränderter Inhalt: 12345667 Und wo ist die Änderung? Die erste, oder die zweite 6? |
||
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/ |
![]() |
Nooby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hat keiner 'ne Idee? ![]() |
||
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/ |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn du keine hast, haben wir auch keine, denn du musst spezifizieren wie in welchen fällen vorzugehen ist. Wir können dir nicht bei Programmdesign problemen für deine "Ideen" helfen, nur bei code problemen beim umsetzen fürchte ich | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group