Probleme mit ToInt()
-
Halle habe folgenenden Code:
AnsiString c = "A"; int a; a = c.ToInt();sieht zwar komisch aus aber ich habe es zum testen so gemacht.
Es kommt jedes mal der Fehler das "A" kein Integer sei... und zwar in der 3. Zeile.ich verzweifel echt, oder liegt es daran das es so spät is und ich den fehler einfach nicht finde ?!?
-
Hi!
A ist halt nunmal kein Integer. Versuchs mit Zahlenwerten.
grüße
-
Was soll das eigentlich werden? Willst du hier die Zahl 65 an "a" zuweisen oder wofür soll das gut sein?
PeterPan1 schrieb:
Halle habe folgenenden Code:
AnsiString c = "A"; int a; a = c.ToInt();
-
hi,
nein, ich will einen String zerlegen und als int an
keybd_event(VK_TAB, 0, 0, 0); keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);wo das vk_tab is, ist dann halt der Zahlenwert des entsprechenden Buchstabe.
Es soll halt eine eingabe in einem Browser simuliert werden. Website aufrufen und zum Feld (per Tab springen) funktioniert auch einwandfrei.
oder gibt es vielleicht auch andere möglichkeiten den Inhalt eines Edit Objekts an ein Textfeld in einer Website zu senden bzw einzugeben?
-
Hallo
das gehört ins Builder-Subforum.
AnsiString::ToInt() versucht den String insgesamt lexikalisch als Zahl zu interpretiren, und "a" ist nun mal keine Zahl, sondern bei "11" würde es den Integer-Wert 11 zurückgeben.
Was du brauchst ist eine aufschlüsselung der einzelnen Char-Werte. Und die bekommst du mit [] was du dann gleich an SendMessage bekommen kannst.// Wenn c mindestens ein Zeichen enthält, erstes Zeichen per SendMessage // versenden. Achtung : AnsiString fängt mit dem Index 1 an, nicht 0 if (c.Length() > 0) { keybd_event(c[1], 0, 0, 0); keybd_event(c[1], 0, KEYEVENTF_KEYUP, 0); }Das ist übrigens auch alles in der BCB-Hilfe und im BCB-FAQ/Tutorial hier in Forum zu finden.
bis bald
akari
-
ah ok jetzt gibt es zumindest keine fehler mehr. danke schonmal!
habe auch den Beitrag dazu im FAQ gefunden und deine antworten dazu.
leider ist dort auch noch die frage offen warum man eine 1 bekommt bei "A" oder "a".
Also wenn ich z.b. "Abc" eingebe, bekomme ich in das Textfeld vom Browser 123.
es wird auch nicht unterschieden ob groß- oder kleinbuchstabe. jeweils nur die pos im alphabet...
aber ich brauche ja 1 zu 1 den text wie er bei mir im Edit Objekt ist.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
keiner ne ahnung ?
-
Versuchs doch somit:
AnsiString test = "test"; char x = test[1]; int a = int(x); Form1->Caption = a;Der Code liefert den ASCII-Wert zurück. Mit Deiner Tastendrucksimulation benötigst Du aber die Virtuellen Tastencodes:
Virtuelle Tastaturcodes Dezimal Hexadezimal Erklärung 03 03 STRG + PAUSE Tasten 08 08 BACKSPACE Taste 09 09 TAB Taste 13 0D RETURN Taste 16 10 SHIFT Taste 17 11 STRG Taste 18 12 ALT Taste 19 13 PAUSE Taste 20 14 CAPS LOCK Taste 27 1B ESC Taste 32 20 LEERTASTE 33 21 BILD nach oben Taste 34 22 BILD nach unten Taste 35 23 ENDE Taste 36 24 POS1 Taste 37 25 Cursor Taste links 38 26 Cursor Taste rechts 39 27 Cursor Taste oben 40 28 Cursor Taste unten 44 2C DRUCK Taste 45 2D EINFG Taste 46 2E ENTF Taste 48 30 Taste0 49 31 Taste1 50 32 Taste2 51 33 Taste3 52 34 Taste4 53 35 Taste5 54 36 Taste6 55 37 Taste7 56 38 Taste8 57 39 Taste9 65 41 Taste A 66 42 Taste B 67 43 Taste C 68 44 Taste D 69 45 Taste E 70 46 Taste F 71 47 Taste G 72 48 Taste H 73 49 Taste I 74 4A Taste J 75 4B Taste K 76 4C Taste L 77 4D Taste M 78 4E Taste N 79 4F Taste O 80 50 Taste P 81 51 Taste Q 82 52 Taste R 83 53 Taste S 84 54 Taste T 85 55 Taste U 86 56 Taste V 87 57 Taste W 88 58 Taste X 89 59 Taste Y 90 5A Taste Z 96 60 Numerisches Tastenfeld, Taste 097 61 Numerisches Tastenfeld, Taste 1 98 62 Numerisches Tastenfeld, Taste 299 63 Numerisches Tastenfeld, Taste 3 100 64 Numerisches Tastenfeld, Taste 4101 65 Numerisches Tastenfeld, Taste 5 102 66 Numerisches Tastenfeld, Taste 6103 67 Numerisches Tastenfeld, Taste 7 104 68 Numerisches Tastenfeld, Taste 8105 69 Numerisches Tastenfeld, Taste 9 106 6A Multiplikationstaste 107 6B Additionstaste 108 6C Subtraktionstaste 109 6D Divisionstaste 112 70 F1 Taste 113 71 F2 Taste 114 72 F3 Taste 115 73 F4 Taste 116 74 F5 Taste 117 75 F6 Taste 118 76 F7 Taste 119 77 F8 Taste 120 78 F9 Taste 121 79 F10 Taste 123 7A F11 Taste 124 7B F12 Taste 144 90 NUM LOCK Taste 145 91 SCROLL LOCK TasteZum Gross-und Kleinschreiben musst Du dann mit der Feststelltaste arbeiten.
Ich hoffe, dass Dich das weiterbringt.
Gruss
-
Es soll halt eine eingabe in einem Browser simuliert werden. Website aufrufen und zum Feld (per Tab springen) funktioniert auch einwandfrei.
oder gibt es vielleicht auch andere möglichkeiten den Inhalt eines Edit Objekts an ein Textfeld in einer Website zu senden bzw einzugeben?
Es können alle Formulare und Felder einer Website im Browser festgestellt werden. Entweder mit dem Namen oder einer Nummer ansprechen und dort den Text eingeben.
Z.B. über die Document Eigenschaft des TCppWebBrowser lassen sich alle Formulare und Formularobjekte ermitteln und Werte auslesen, sowie auch schreiben.
IHTMLDocument2
IHTMLElementCollection
IHTMLFormElement