Zum Inhalt springen

Problem im VB!


NixPeiler

Empfohlene Beiträge

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...