Autor Beitrag
Serafin
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 09.06.09 02:19 
Hallo,

ich versuche, dass Delphi eine von mir eingestellte Internetseite durchsucht.

Er soll damit beginnen, dass er Sachen aus einer Listbox, in der ich Werte hineinschreibe mit der Internetseite vergleicht.
Dazu habe ich bereits einen Browser integriert, es ist alles vorhanden.

Leider bekomme ich nicht hin, dass er die Werte von der Listbox mit dem Browser vergleicht.
Sollte er eine Übereinstimmung gefunden haben, so soll er auf einen Link klicken.

Hat da einer Tipps, wie man das hinbekommt?
Ich bin seit Tagen dran und weiß nicht weiter.

Danke!


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 09.06.2009 um 09:24
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 09.06.09 02:31 
Willst du dem Benutzer eine Webseite anzeigen und dabei den Quelltext analysieren (TWebBrowser) oder willst du nur den Quelltext analysieren (TIdHttp)?

Und wie meinst du die Übereinstimmungen? Willst du bestimmte Elemente (Links) der Webseite finden?
Serafin Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 09.06.09 02:41 
Ja, genau.


Ich meine damit, dass ich in meiner Listbox z.b. irgendeinen Namen wie "Anton" drin stehen habe und wenn das auf der Website, die ich aufgerufen habe, auch steht, möchte ich, dass er auf den Link klickt, der "Anton" heißt,

Rein theoretisch, ich weiß, dass das mit den Namen praktisch Schwachsinn ist, nun gut.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 09.06.09 02:47 
Ja, wenn der Benutzer die Webseite auch sehen soll, dann ist TWebBrowser natürlich das richtige. Dann schau dir mal diesen Quelltext an, da siehst du wie du im TWebBrowser an die Infos zu den enthaltenen Links kommst:
www.delphipraxis.net...st473733.html#473733
Serafin Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 09.06.09 16:31 
Hab da jetzt meinen Browser drin, mit Seiten aufrufen, etc..
Listbox wie gesagt auch vorhanden, in was für einen Button muss ich die Sachen, die du mir gegeben hast, reinschreiben?

Wenn ich sie in einen normalen Button reinschreibe, bekomme ich immer eine Fehlermeldung.
Öhm, Rich editfeld ist jetzt auch drin, aber ich bekomme Fehler, diese hier:
Zitat:

[Fehler] Unit1.pas(31): Undefinierter Bezeichner: 'IHTMLElementCollection'
[Fehler] Unit1.pas(32): Undefinierter Bezeichner: 'IHTMLElement'
[Fehler] Unit1.pas(38): Undefinierter Bezeichner: 'doc'
[Fehler] Unit1.pas(39): ')' erwartet, aber Bezeichner 'length' gefunden
[Fehler] Unit1.pas(41): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(41): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] Unit1.pas(42): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(45): ')' erwartet, aber Bezeichner 'innerText' gefunden
[Fehler] Unit1.pas(52): Deklaration erwartet, aber Bezeichner 'info' gefunden
[Fehler] Unit1.pas(53): '.' erwartet, aber ';' gefunden
[Warnung] Unit1.pas(54): Text hinter dem abschließenden 'END.' wird vom Compiler ignoriert
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


Die ersten 3 Begriffe verstehe ich auch nicht so wirklich, sry.
Danke schonmal im voraus.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 09.06.09 18:14 
Hallo,

Du must den HTML Parser(MSHTML) in dein Programm einbinden.
Daraus stammen auch die "Begriffe" => Typen

Der Code wird aber nicht direkt mit dem Webbrowser funktionieren, da Du den Quelltext aus dem Webbrowser als IHTMLDocument2 an die Procedure übergeben must.

Da hilft Dir dann ein weiterer Beitrag von marabu: www.delphipraxis.net...st907319.html#907319

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Serafin Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 09.06.09 18:39 
Ohje, ich werde mich da mal reinfuchsen, danke euch. :)