PDA

Vollständige Version anzeigen : Textfeldinhalt durch Eingabe von Pos ab /bis ändern


AndreaD
02.10.2001, 19:57
Hallo,

ich habe eine Textfeld das
32 Zeichen lang ist und mit folgendem Inhalt versehen wird.
"1|1|1|0|0|0|0|......|1|1|1|....."
Da ich nur immer die Zahlen ändern will, nicht das Trennzeichen, ist mir die manuelle eingabe zu aufwendig.
Ich habe also jetzt vor ein zweites u. ev. ein drittes eingabe feld zu erzeugen indem ich die Startund die endposition eingebe an der die 0 durch die eins ausgetauscht wird.

Im moment habe ich 3 Buttons für 1/3 2/3 3/3 die mir durch folgende funktionen wenigstens
einen Teil schon mal ersetzen.

ME.meintextfeld = "0|0|0|......."

das ist mir immer noch zu umständlich.

Daher meine frage wie ich soetwas mache um von Pos X bis Pos Y die 0 durch eins ersetze.

Bitte helft mir
Danke
Andrea

MarioR
03.10.2001, 11:01
Hallo Andrea,

versuchs mal so:


Private Sub btnErsetzen_Click()
Dim bytZaehler As Byte
Dim txtTemp as string
txtTemp = Left(Me.meintextfeld, 2 * Me.txtStart - 2)
For bytZaehler = 0 To (Me.txtEnde - Me.txtStart)
txtTemp = txtTemp & "1|"
Next
txtTemp = txtTemp & Mid(Me.meintextfeld, 2 * Me.txtEnde + 1)
Me.meintextfeld=txtTemp
End Sub


Bei der Positionsangabe in txtStart und txtEnde werden die Trennstriche nicht mitgezählt, also willst Du die Zahlen 5 bis 9 ersetzen, so ist txtStart=5 und txtEnde=9.
Weiterhin solltest Du dem Ersetzen noch einige Sachen überprüfen:

0 < txtStart <= txtEnde
txtStart <= txtEnde <= PositionDerLetztenZahl
txtStart und txtEnde sind numerisch
txtStart und txtEnde sind nicht Null