Entwickler-Ecke
Internet / Netzwerk - Namen von HTML-Inputs auslesen...
DaKrissX84 - Mi 05.03.03 21:06
Titel: Namen von HTML-Inputs auslesen...
Hi Leute!
Folgende Funktion soll mir dazu dienen, den Namen von HTML-Inputs z.B. vom Typen "Password" auszulesen.
"Bezeichnung" wäre in diesem Fall 'type="password"'
Dazu wird der gesamte Quelltext per IdHTTP ausgelesen. Dann wird ein 100 Stellen großes Stück, in welchem sich auf jeden Fall "Bezeichnung" befindet in "Name" gespeichert.
An "Name" wird dann so lange per Delete() herumgeschnitten, bis eigentlich in "Name" der Tatsächliche Name des Inputs stehen müsste.
Naja, das Problem:
Es funktioniert natürlich nicht wie es soll, und liefert manchmal sogar strings, die überhaupt gar nicht im quelltext zu finden sind...!!
WARUM??
Ich hoffe, mir kann jemand helfen. Danke schomma!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function GetPasswordName(idhttp:TidHttp ;Bezeichnung:String):string; var a,i,stelle:integer; name,text:string; begin text:=idhttp.Get(adresse); stelle:=pos(Bezeichnung,text)-50; for i:=0 to 100 do begin name:=name+text[stelle+i]; end; delete(name,1,pos('name="',name)-1); delete(name,pos('name="',name),6); a:=length(name)-pos('"',name); delete(name,pos('"',name),a); result:=name; end; |
DaKrissX84 - Do 06.03.03 17:19
Gut.
Verstehe schon, warum mir keiner helfen kann....
da ich ja Anfänger bin, habe ich warscheinlich die kompliziert-möglichste und umständlichste Methode gewählt, die es gibt... :?
Also frage ich nochmal und diesmal ganz neutral:
Wie kann man die Namen von Inputs (also z.B. Eingabefeldern, oder Buttons) einer Internetseite auslesen??
Das muss doch einer wissen....!?
bitte helft mir!
heissen dank!
Kriss
DaKrissX84 - Fr 07.03.03 15:51
Leider nicht...
Trotzdem Danke!
Da steh ich nun ich armer Thor.... :(
derDoc - Fr 07.03.03 17:39
Wenn dir keine Komponente zusagt, schreibe ich dir mal einen Vorschlag:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| name := //dein Text als String i := 0; //counter Variable als Integer repeat neuerText := name[i] + name[i+1] + name[i+2] + name[i+3]; Inc(i); //neuerText: String; until neuerText = 'type'; i := i+5; (*falls da eine " zuviel kommt schreibe hier statt 5 6*) repeat typ := typ + name[i]; //typ: String; Inc(i); until name[i] = '"'; //Anführungszeichen //dein Typ sollte nun von dem String typ angegeben |
Ich weise noch darauf hin, dass ich das auf die schnelle nicht getestet habe. Wenn Fehler kommen frag mich einfach hier.
DaKrissX84 - Sa 08.03.03 12:31
Vielen Dank für die Mühe!
Leider kommt folgende Fehlermeldung, die ich nicht ganz verstehe:
Quelltext
1: 2: 3: 4: 5:
| repeat neuerText := name[i] + name[i+1] + name[i+2] + name[i+3]; Inc(i); //neuerText: String; until neuerText = 'type'; //<---- diese Zeile wird markiert. |
Fehlermeldung:
Inkompatible Typen: 'String' und 'procedure, untyped pointer or untyped parameter'
PS:
Eigentlich wollte ich ja den NAMEN des Inputs auslesen. Gibt mir dein Code nicht den "Typ" an? (Kann ich natürlich entsprechend ändern, aber ich wollte lieber nochmal fragen)
Thanx
derDoc - Sa 08.03.03 15:31
Ja dann ändere einfach den String in 'name' und ändere die Bezeichnung des Strings name in nameStr.
DaKrissX84 - Mo 10.03.03 14:45
Komisch....
Habs jetzt geändert, bekomme aber immer einen Ellenlangen Text geliefert....!?
WARUM?
Gruß
derDoc - Mo 10.03.03 15:35
Teste mal eine kurze html Seite mit Input und schreibe diese mal hierher. Dann gib mal an, was er dir rausholt. Ich glaube das müsste helfen.
DaKrissX84 - Mo 10.03.03 20:30
JUHUUU! Es geht!
DerDoc: Dein Code funktioniert wunderbar. Habs jetzt endlich hingekriegt. Vielen Dank!! :D
derDoc - Mo 10.03.03 20:32
Ich helfe doch gerne. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!