Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem im VB!

Empfohlene Antworten

Veröffentlicht

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!

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.