NixPeiler Geschrieben 9. April 2002 Geschrieben 9. April 2002 Der Code: --------------------------------------------- Option Explicit Dim ziffer(12) As String Dim i, a, t As Integer Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case &HD a = 1 End Select End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Do Select Case KeyAscii Case 44 ziffer(i) = "," Case 48 ziffer(i) = "0" Case 49 ziffer(i) = "1" Case 50 ziffer(i) = "2" Case 51 ziffer(i) = "3" Case 52 ziffer(i) = "4" Case 53 ziffer(i) = "5" Case 54 ziffer(i) = "6" Case 55 ziffer(i) = "7" Case 56 ziffer(i) = "8" Case 57 ziffer(i) = "9" End Select DoEvents Loop Until a = 1 For i = 1 To i ziffer(i) = Text2.Text Next End Sub --------------------------------------- Die Aufgabe: Er soll beim NumPad jede eingabe registrieren. Das tut er auch. Wenn ich 123 im NumPad, einschlißlich ENTER drücke, gibt er mir aber im Text1Text = 321 aus, genau die umgekehrte reihefolge! Weiß einer Hilfe??? Danke, NixPeiler!. Das Programm soll folgendes: Ich gebe eine Nummer ein, es soll mit jeder eingabe die nummer speichern, anschließend mit ENTER in derselber reihefolge wie ich es eingegeben habe im Text1.Text ausgeben! Danke nochmals! Zitieren
Uruz Geschrieben 12. April 2002 Geschrieben 12. April 2002 speichere den wert doch jedesmal in einer string variablen zwischendurch ab... sowas wie a = a + IntToStr(i) oder so... kenne die VB- Befehle ned so... aber mir scheint, dass du entweder die daten verkehrt rum selber in deinen Speicher schreibst oder dass der "Tastendruck"- Puffer mit First-In-Last-Out arbeitet... bedeutet, er merkt sich den letzten Tastendruck und schiebt die anderen zeichen eins weiter... uruz Zitieren
whisper Geschrieben 12. April 2002 Geschrieben 12. April 2002 Hiyas, Eigentlich kenn ich mich ja mit VB überhaupt nicht aus - dennoch kann man ja mal einen Versuch wagen. Do Select Case KeyAscii . . . End Select DoEvents Loop Until a = 1 müsste vor dem Loop Until a = 1 nicht ein i = i + 1 kommen? ----------------- For i = 1 To i ziffer(i) = Text2.Text Next Ich weiß ja nicht, wie VB das handhabt, aber eine FOR-Schleife, die als Zählervariable und als vorgesehenen Endwert "i" verwendet, dürfte doch theoretisch in die Hose gehen? Auch wolltest du eigentlich den Array ziffer in Text2.Text übertragen, und nicht umgekehrt, oder? Sonst würde das Programm (für einen VB-Unkundigen) ein wenig unlogisch aussehen. For Zaehler = 1 to i Text2.Text = Text2.Text + ziffer(zaehler) Next ... oder so ähnlich. --------------- Ich hoffe, ich habe hier nicht gründlich was falsch verstanden - falls doch: sorry. mfg, whisper Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.