Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Internetseite direkt in meinem Programm öffnen (https://www.delphipraxis.net/1836-internetseite-direkt-meinem-programm-oeffnen.html)

Act23 26. Dez 2002 19:49


Internetseite direkt in meinem Programm öffnen
 
Hi!

Ich sag es gleich am Anfang, ich bin in Sachen Delphi noch ein einigermaßen großer Newb.
Ich möchte gerne ein Tool programmieren, dass es möglich macht, eine Webseite zu öffnen (ohne dass der IE sich dabei öffnet). Das soll quasi so ausschauen:
man öffnet das programm und sofort wird eine internetadresse in einem vorher festgelegten bereich angesurft und angezeigt.
Hoffe ich war einigermaßen verständlich?
also ich frage euch nun, wie ich das am besten anstellen soll? ich habe was von Twebbrowser gelesen?
hoffe ihr könnt mir helfen?

mfg
act23

sakura 26. Dez 2002 19:58

Einfach die TWebBrowser Komponente (Palette: Internet, letztes Symbol) auf Dein Form packen. Im OnActivate Ereignis Deines Forms dann folgenden Code packen
Delphi-Quellcode:
WebBrowser1.Navigate('http://www.Delphi-PRAXiS.net');
Fertig :!:

...:cat:...

Act23 26. Dez 2002 20:16

danke! war sehr hilfreich!

sakura 26. Dez 2002 21:03

Gerne geholfen ;)

Act23 26. Dez 2002 21:40

so jetzt stehe ich wieder an:

ich habe jetzt meine seite geladen. in diesem fall gmx.de
nun möchte ich die beiden loginfelder vom programm automatisch ausfüllen lassen und dann auf den button login drücken lassen.
geht das, oder ist das unmöglich?
ich habe schon bei den tips & tricks nachgesehen (html felder automatisch ausfüllen) aber das will bei mir nicht so recht funktionieren?
es ist wirklich wichtig! danke schon mal im voraus für jede hilfe!

Helld_River 2. Jan 2003 13:19

Wie eben in einem anderen Thread beschrieben:
http://username:passwort@"Seite die Du aufrufen willst"

Wenn der username aber eine Mailadresse ist, dann hab ich da auch keinen Plan, bzw. hab das noch nicht ausprobiert.

Gruß, Helld

masters001 7. Jan 2003 19:47

Ist es auch möglich sich im TWebBrowser nur einen ganz bestimmten teil der site anzeigen zu lassen z.B. einen Banner?

Edit*:
Bei welchen seiten soll das denn funktionieren mit username:password

Helld_River 7. Jan 2003 19:55

Ich denke mal ja !!
Du brauchst halt den ganauen Link zum Banner.

Wenn die Site z.B. die URL www.xyz.de hat und der darauf plazierte Banner die URL www.xyz.de/Banner/banner01.gif, dann rufst Du einfach die 2te URL auf !!!

PS.: Heißt es die oder das URL ??? Bin mir da nicht mehr sicher !! :-)

Gruß, Helld

masters001 7. Jan 2003 20:00

Ja wenn aber der link zu dem Banner nur auf das Bild also :http://xyz/xx/banner.gif verweist und das eigentliche ereignis durch ein Javascript aufgerufen wird dann geht das nicht!
Hät ich vielleicht vorher dazuschreiben solln!

Helld_River 7. Jan 2003 20:03

Na ja, das JAVA-Skript wird ja letztenendes auch nur eine URL aufrufen, wenn dDu die rauskriegst, dann kannst du die doch direkt aufrufen, oder?

Gruß, Helld

masters001 7. Jan 2003 20:13

Ja das Problem ist das die site die aufgerufen wird immer verschieden ist, das Programm müsste also jedesmal erst die site herunterladen, das javascript heraussuchen, die werte auslesen, und dann die neue URL zusammenbasteln. Anschließend die site laden. das wollte ich eigentlich umgehen!

Helld_River 7. Jan 2003 20:18

Hi !
Setz doch einfach mal den Ausschnitt mit dem JavaSkriptCode hier rein, ist vielleicht einfacher, dann eine lösung zu finden !!


Gruß, Helld;

masters001 7. Jan 2003 20:26

Ja Ok hier ist der Code

Code:
<td>[url="javascript:sendSMS(11,'DA83A362D198AA613BC8FC2414E3DAD184D43CBCE5207284B59C459CE7A9B8CE12B5CAD401AA6185451E8876AFED338B6292ED599BE43FD8')"][img]/adserver.freenet.de/image.ng/site=fn&prod=chetools&kat=rub&tbl=smssnd&ppos=11&TransactionID=DA83A362D198AA613BC8FC2414E3DAD184D43CBCE5207284B59C459CE7A9B8CE12B5CAD401AA6185451E8876AFED338B6292ED599BE43FD8[/img][/url]</td>
        </tr>
+ die procedure
Code:
function sendSMS(banner,SIS) {
        var sendok = 1;

        if(document.sms.tomobino.value.length<=3) {
                        alert("Bitte geben Sie eine SMS-Nummer ein.");
                        sendok = 0;
        }

        if(sendok == 1 && document.sms.textarea2.value.length==0) {
                        alert("Bitte geben Sie einen SMS Text ein.");
                        sendok = 0;
        }

        /*
        if(sendok == 1 && document.sms.tomobino.value.match(/\D/)) {
                alert("Bitte überprüfen Sie die SMS Nummer auf ungültige Zeichen.");
                sendok = 0;
        }
        */
        if(sendok) {
                    win=window.open('','','toolbar=1,location=1,directories=1,menuBar=1,scrollbars=1,resizable=1,width=800,height=600,screenX=0,screenY=0');
                        var xurl = "/adserver.freenet.de/click.ng/site=fn&prod=chetools&kat=rub&tbl=smssnd&ppos="+banner+"&TransactionID="+SIS;
                  win.location.href= xurl;
                        this.focus();

            document.sms.submit();
            }
}


 </script>
Ist der Werbebanner bei freenet um eine SMS zu verschicken!

Helld_River 7. Jan 2003 20:40

Wenn es dir nur darum geht, kostenlos eine SMS zu verschicken, dann schau dir doch erst mal den folgenden Thread an:


http://www.delphipraxis.net/viewtopic.php?t=2215


Den Code der Site zu entschlüsseln wäre jetzt superviel arbeit, zumindest für mich. Soweit kenne ich mich damit dann doch nicht aus !!
frag doch einfach bei lkz633 nach, der hat das Progi schon fertig !!!

Gruß, helld;

masters001 7. Jan 2003 20:48

Ja klar, ne erwarte ich ja auch gar nicht von dir das du mir das entschlüsselst!
Aber dennoch vielen dank ich werd mich mal bei dem melden!
aber der übung wegen versuch ich das trotzdem noch bei freenet mit dem javascript!
Wenn noch jemand weis wie man einen bestimmten teil einer webside in TWEbBrowser anzeigen kann könnte ich das dennoch auch bei anderen Projekten verwenden!
Vielen Dank masters001

Edit*
Mit der site von lkz633 hab ich das probiert da stellen sich diese pobleme nicht. Aber auf der site steht das er das privat finanziert und man kann den armen kerl doch nicht mit solchen kosten belasten!
Deshalb such ich noch Lösungen für viele andere Provider, am liebsten commerzielle!

tretmine 8. Jan 2003 22:29

Und schon wieder die dämliche tretmine...

Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
 WebBrowser1.Navigate('http://www.irgendeineURL.de');
end;

end.
Dieser Source geht bei mir nicht...

[Fehler] Mirror_U.pas(360): Nicht genügend wirkliche Parameter

Bei mir will Delphi(4) nach der URL noch irgendwelche OLEVariant(was immer das bedeutet). Mache ich etwas falsch, oder stimmt da etwas nicht?
Der "Fehler" tritt bei TWebBrowser & TWebBrowser V1 auf.

MfG Phil

Edit----------
P.S.: Habe im Internet schon bei Google gesucht - Keine Lösung
--------------

sakura 8. Jan 2003 22:31

Setze für jeden benötigten Parameter ein VarEmpty ein.

...:cat:...

tretmine 8. Jan 2003 22:36

Bekomme die 2 Fehler:

[Fehler] Mirror_U.pas(360): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
[Fehler] Mirror_U.pas(360): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen

MfG Phil, der immer wieder erstaunt ist, wie schnell man hier antworten bekommt. :shock:

sakura 8. Jan 2003 22:38

Wie ist denn die Parameterliste des Navigate in Delphi 4 genau deklariert?

Varsuch mal
Delphi-Quellcode:
var
  OV: OleVariant;
begin
  OV := varEmpty;
  WebBrowser.Navigate('http://...', OV, OV, OV); // entsprechend der benötigten Anzahl
end;

tretmine 8. Jan 2003 22:50

Mit OV geht es! Thx!

Habe mal einen Screenie gemacht (Parameterliste):

http://www.people.freenet.de/Lager/fehler.gif

MfG Phil

sakura 8. Jan 2003 22:53

Du brauchst eine Variable (oben OV), da es VAR-Parameter sind, d.h. dass der Aufruf zu Navigate diese u.U. auch manipuliert.

Wenn Dich die Inhalte interessieren, dann muss ich Dich auf die MSDN verweisen.

Gute Nacht :)
...:cat:...

tretmine 8. Jan 2003 22:55

Danke nochmal! Werde es mir morgen mal anschauen!

Dir auch eine gute Nacht...

*PC Off*

MfG Phil


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 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