PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 6 > vb2008 fehler

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 22.07.2010, 15:43
Threadersteller
douro
 
Standard

vb2008 fehler



hi, kann mir wer sagen was falsch ist?
Code:
Public Class Form1
    Private Declare Function GetASyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Dim asciicode As Integer
    Dim Eingabe As Integer


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        For i = 1 To 255
            Eingabe = GetASyncKeyState(i)
             Next
    End Sub
End Class
bei Eingabe = GetASyncKeyState(i) kommt immer die meldung Der Einstiegspunkt "GetASyncKeyState" wurde nicht in der DLL "user32" gefunden.
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

 
Alt 22.07.2010, 16:22
pixelflat
 
Standard

]

Du kannst der Funktion (afaik) keine Integer-Werte übergeben (deine Schleife bringt sowieso nicht viel - warum sollte man überprüfen ob 255 verschiedene Zeichen gedrückt wurden?). vKey ist ein 2-stelliger Hexadezimal-Wert (in VB kennzeichnet man solche mit einem &H davor). Außerdem musst du bei der DLL den vollständigen Namen angeben (also "user32.dll").


Spoiler:
Code:
' Declarations and such needed for the example:
' (Copy them to the (declarations) section of a module.)
Public Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

' Determine whether the Q key has been pressed or not since the last
' call to the function (assuming this example code has already been run earlier).
' The code runs when button Command1 is pressed.

Private Sub Command1_Click()
	Dim keystate As Integer  ' state of the Q key
	
	' Get the state of the Q key as returned by the function.
	' (vbKeyQ is a VB-defined constant for Q's virtual-key code)
	keystate = GetAsyncKeyState(vbKeyQ)
	' Check the &H8000 bit of the return value.
	If keystate And &H8000 Then
		Debug.Print "The Q key has been pressed since the last check."
	Else
		Debug.Print "The Q key has not been pressed since the last check."
	End If
End Sub
Folgende User haben sich für den guten Beitrag bedankt:
 
Alt 22.07.2010, 16:54
Threadersteller
douro
 
Standard

Du kannst der Funktion (afaik) keine Integer-Werte übergeben
vKey ist ein 2-stelliger Hexadezimal-Wert

kannst du mir zeigen was du damit meinst also was anders muss?
 
Alt 22.07.2010, 17:21
pixelflat
 
Standard

Hast du dir den Link angeschaut und gelesen was die Funktion überhaupt macht? Unten auf der Seite ist auch nochmal ein Beispiel.

Vielleicht kannst du auch tatsächlich Integer-Werte benutzen (weil 16^2 gerade 256 entspricht). Wenn dem so ist machst du mit deinem Code folgendes: du überprüfst ob die Taste, die der Zahl 1 entspricht, gedrückt wurde (oder aktuell gehalten wird). Danach verwirfst du das Ergebnis und überprüfst ob die Taste, die der Zahl 2 entspricht, gedrückt wurde. Dann verwirfst du wieder das Ergebnis und schaust ob die Taste die der Zahl 3 zugewiesen ist gedrückt wurde... und so weiter bis 255. Im Endeffekt also völlig nutzlos.

Edit: Richtig ausgedrückt: du überprüfst gar nichts sondern weist der Variable "Eingabe" nur einen Wert zu, den du dann sofort wieder überschreibst.

Was hast du überhaupt vor? Deine Variable "Eingabe" deutet darauf hin, dass du einen Text einlesen willst?
 
Alt 22.07.2010, 18:42
Threadersteller
douro
 
Standard

stimmt das hab ich ein bissl umdeutlich gezeigt. das da oben ist ein teil eines programmes das ich schreibe. bevor es verwurfen wird, wirds abgesichert. und das ganze trägt dazu bei was das programm machen soll, nehmlich weil mein word sich immer aufhängt und ich nicht immer neuanfangen will. ja ich könnte ein anderes programm nehmen will ich aber wegen ner anderen geschichte nicht.

aber nochmal: kannst du mir anhand dieses codes zeigen (ignorier einfach das sinnlose) warum da dieser fehler kommt? ja ich hab mir dein link angeguckt.
 
Alt 22.07.2010, 19:18
pixelflat
 
Standard

Schon mit "user32.dll" versucht?

Office bietet übrigens seit geraumer Zeit die Möglichkeit Dateien automatisch alle x Minuten zu sichern.
 
Alt 22.07.2010, 19:27
Threadersteller
douro
 
Standard

hab ich hat nichts geändert
 
Alt 22.07.2010, 19:33
pixelflat
 
Standard

Die Funktion heißt Get_Async_Key_State und nicht Get_A_Sync_Key_State.
Folgende User haben sich für den guten Beitrag bedankt:
 
Alt 22.07.2010, 20:26
Threadersteller
douro
 
Standard

das wars. danke

ne immernoch was kommisch
da steht nichts in der textbox in die das kopiert wird 0.o
textbox1.text = textbox1.text + chr(i)

Geändert von douro (22.07.2010 um 20:54 Uhr).
hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Zufällige Frage
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: ,

Ähnliche Tags: ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Rätselhafter Fehler beim Aufrufen von Webseiten DanielaR Internet und Netzwerke 4 03.09.2009 21:15
Stop Fehler 0x0000008E bluebird Betriebssysteme 2 26.06.2009 19:20
Fehler: -1603 Schwerer Fehler bei der Installation - Deinstallations Probleme Viper666 Anwendungssoftware 13 19.05.2008 18:50
Cluster Fehler hansi1973 Festplatten und optische Laufwerke 0 09.10.2007 21:35
SansaUpdater Fehler !!!! verdammt1990 Consumer Electronics 0 23.01.2007 21:54


Sie betrachten gerade: vb2008 fehler


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.



Im PC Forum registrieren