Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi mit idhttp checkbox checken? (https://www.delphipraxis.net/91056-mit-idhttp-checkbox-checken.html)

gandime 28. Apr 2007 12:34


mit idhttp checkbox checken?
 
hi,
ich code gerade ein prog das inet daten aus dem netz ausliest und dazu muss ich eine checkbox checken aber wie?

mfg
gandime

mkinzler 28. Apr 2007 12:36

Re: mit idhttp checkbox checken?
 
Meinst du aus einem HTML-Control?

gandime 28. Apr 2007 12:41

Re: mit idhttp checkbox checken?
 
wenn ich die inetseite mit idhttp via post auslese bekomme ich folgende checkbox:
Zitat:

<th><input name="mes17774399" type="checkbox"></th>
diese checkbox möchte ich möglichst mit idhttp checken wenn das nicht geht würde ich auch auf eine andere komponente umsteigen

mkinzler 28. Apr 2007 12:49

Re: mit idhttp checkbox checken?
 
Dazu mußt du das DOM auslesen.

gandime 28. Apr 2007 12:51

Re: mit idhttp checkbox checken?
 
wie geht das?

mkinzler 28. Apr 2007 12:54

Re: mit idhttp checkbox checken?
 
http://www.w3schools.com/htmldom/

gandime 28. Apr 2007 13:01

Re: mit idhttp checkbox checken?
 
danke

aber gibt es eine andere komponente als "webbrowser"?
bei diser komponente muss die form sichtbar sein, damit eine neue url geladen werden kann!

override 28. Apr 2007 16:18

Re: mit idhttp checkbox checken?
 
Ist doch nicht schlimm, etweder setzt du das Attribut "Visible" nach dem Erstellen der Klasse auf false,
oder du schiebst den Webbrowser an einer Stelle in der Form, die nicht sichtbar ist.

CCRDude 28. Apr 2007 17:52

Re: mit idhttp checkbox checken?
 
Ich glaube, bevor man sich hier auf Empfehlungen wie Webbrowser etc. konzentriert, wär erst einmal eine Erklärung der Problemstellung angebracht. "ich will ne checkbox checken" kann ja so ziemlich alles heißen, unter anderem auch einfach eine HTML-form zu posten, da wär ein TWebBrowser ja doch irgendwie mit Kanonen nach Spatzen geschossen.

gandime 29. Apr 2007 10:47

Re: mit idhttp checkbox checken?
 
zu override:
das geht nicht wenn dann muss man eine shape o.ä. vor dem webbroserver platzieren aber das möchte ich nicht ich möchte mein gesamtes programm unsichtbar machen!

zu CCRDude:
der webbrowser muss nur eine checkbox checken und eine id auslesen. Der rest wird von der komponente idhttp erledigt.

CCRDude 29. Apr 2007 11:01

Re: mit idhttp checkbox checken?
 
Deswegen meinte ich, daß eine nähere Problembeschreibung notwendig wäre, denn es scheint Du verstehst selbst nichtmal richtig, worum es geht, bzw. wie die Interaktion zwischen Webbrowser/HTML-Client und Webserver funktioniert. Eine Checkbox in einem unsichtbaren TWebBrowser "checken" ist eine scheint mir eine absolut sinnlose Aktion, wenn man danach mit einem TIdHTTP weiterarbeitet. Toll, dann ist die in einem unsichtbaren TWebBrowser gesetzt, aber was bringt das? Der Benutzer sieht sie nicht, und mehr passiert auch nicht.

mkinzler 29. Apr 2007 11:08

Re: mit idhttp checkbox checken?
 
Außerdem kann man in einem nichtsichtbaren Webbrowser keine Einstellungen durch den Nutzer machen lassen, welche man dann Auslesen könnte

gandime 29. Apr 2007 13:42

Re: mit idhttp checkbox checken?
 
zu meinem programm:
das programm liest daten aus dem internet aus und schickt diese zu einem remote pc.
der remote pc kann dann das programm via interface steuern.

ich kenne mich zwar nicht gut mit html sachen aus, aber geshalb frage ich ja nach!
also gibt es eine andere möglichkeit als die mit der twebbrowser komponente?

mkinzler 29. Apr 2007 13:45

Re: mit idhttp checkbox checken?
 
Ich verstehe aber nicht, was du dann Auslesen willst.

SirThornberry 29. Apr 2007 14:13

Re: mit idhttp checkbox checken?
 
wenn du irgendwo auf der Webseite eine checkbox anhakst musst du in aller Regel noch auf absenden klicken damit die Daten an den Server geschickt werden (sofern es nicht javascript etc. ist).
Und eben das kannst du auch mit den Indys machen. Dazu setzt du je nach Fall eben die Methode Post oder Get ein und sendest den Inhalt der erwartet wird an den server.

Bei Textfelder zum Beispiel so:
Delphi-Quellcode:
var
  Parameter: TStringList;
begin
  Parameter := TStringList.Create();
  Parameter.Add('TextFeldName=TextfeldInahlt');
  try
    MemoErgebnisQuelltext.Lines.Text := IdHTTP1.Post(DeineURL, Parameter);
  finally
    Parameter.Free;
  end;

gandime 29. Apr 2007 14:43

Re: mit idhttp checkbox checken?
 
ja so mache ich das auch aber wie kann ich denn die checkbox = checked setzen?

mkinzler 29. Apr 2007 14:45

Re: mit idhttp checkbox checken?
 
Du willst sie setzen, dann schicke den Zustand per POST/GET

gandime 29. Apr 2007 14:47

Re: mit idhttp checkbox checken?
 
ja schon klar aber wie soll das aussehn?
Delphi-Quellcode:
  sl_login.Values['message']:='checked';
auch = true oder = yes oder = 1 oder = 0
geht es nicht

mkinzler 29. Apr 2007 14:48

Re: mit idhttp checkbox checken?
 
Das was in dem auszuwählenden Eintrags unter value steht

gandime 29. Apr 2007 14:49

Re: mit idhttp checkbox checken?
 
ich habe diese checkbox
Zitat:

<th><input name="mes17774399" type="checkbox"></th>
da steht nichts mit value oder so

mkinzler 29. Apr 2007 14:51

Re: mit idhttp checkbox checken?
 
checked = true

gandime 29. Apr 2007 14:54

Re: mit idhttp checkbox checken?
 
bitte wie?
etwa so:?
Delphi-Quellcode:
sl_login.Values['mes17774399']:='checked=true';
sl_temp.text:=idhttp1.Post(s_url,sl_login);

gandime 29. Apr 2007 15:07

Re: mit idhttp checkbox checken?
 
so ich hab mal den html code für checkboxen rausgesucht
Zitat:

<input type="checkbox" name="checkbox" value="Check2" checked> einmal gecheckt
<input type="checkbox" name="checkbox" value="Check1"> und einmal nicht
blos wie setze ich das mit idhttp um?

CCRDude 29. Apr 2007 15:44

Re: mit idhttp checkbox checken?
 
Delphi-Quellcode:
sl_login.Values['checkbox'] := 'Check1';
Links der Name ("name"), rechts der Wert ("value").

Ansonsten: Proxomitron installieren, im Browser einrichten, Log-Fenster öffnen, und beobachten was der Browser bei Absenden dieses Formulares übergeben würde.

gandime 30. Apr 2007 10:14

Re: mit idhttp checkbox checken?
 
wie muss ich Proxomitron einstellen damit ich infos bekomme?

CCRDude 30. Apr 2007 10:23

Re: mit idhttp checkbox checken?
 
Im Browser: Proxy aktivieren, als Proxy-Adresse 127.0.0.1 und Proxy-Port 8080 einstellen,.
Danach Rechtsklick auf das Proxomitron-Symbol, dort "Open log window".
Im Log-Fenster: Menü Edit, "View posted data" aktivieren.

Dann per Browser auf die Webseite zugreifen. Für jede geladene Seite, jedes Formular etc. zeigt das Log-Fenster von Proxomitron dann einen Block mit Informationen an, z.B. den Hostnamen, die Seite die abgerufen wird, und (ich glaube in grau) die Informationen, die per POST an diese Seite gesendet werden.

Das dürfte sogar schon im Format a=b sein, so daß Du nur noch sl_login.Add('a=b'); übernehmen müsstest...

gandime 30. Apr 2007 10:51

Re: mit idhttp checkbox checken?
 
joo danke jetzt hab ich es :-)


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz