Entwickler-Ecke
Internet / Netzwerk - Delphi soll eine bestimmte eingegebene Internetseite öffnen
THOMA5 - Sa 29.10.05 20:19
Titel: Delphi soll eine bestimmte eingegebene Internetseite öffnen
Also hier mein Problem:
Ich möchte ein Programm programmieren, bei dem man eine Internetseite eingeben kann, und diese dann je nach dem wie der Timer eingestellt ist, sich beispielsweise jede halbe Sekunde diese Seite öffnet.
Das mit dem Timer ist kein Problem aber wie mache ich das mit der Seite, denn die soll ja frei wählbar sein.
Brauche dringend Hilfe!!!
Vielen Dank schon einmal im vorraus.
THOMA5
Ironwulf - Sa 29.10.05 20:27
Hy,
das müsste funktionieren
Delphi-Quelltext
1: 2: 3:
| ShellExecute(Application.Handle, 'open', PChar('Link'), nil, nil, SW_ShowNormal); |
THOMA5 - Sa 29.10.05 20:35
danke, dass hilft mir schon etwas könntest du mir auch sagen, wie ich das so hinkriege:
Da soll ein Programm mit einem Texteingabefeld sein, da gibt man den gewünschten link ein.
Daneben befindet sich ein Startbutton, der bei betätigung eine repeatschleife beginnt.
Die Internetseite soll sich immer in einem neuen Fenster öffnen, also nicht nur aktualiesieren!
Das mit der Repeatschleife krieg ich hin nur wie mach ich das, dass man den link da eingeben kann und dann, dass sich das in einem neuen Fenster öffnet.
Nochmals Danke im vorraus!!!
THOMA5
Ironwulf - Sa 29.10.05 20:39
wie du das machst das sich ein immer ein neues fenster öffnet hab ich keine ahnung, mit dem eingabefeld geht ganz einfach, setz ein editfeld auf deine form und ersetz dann in dem code "'link'" mit Edit1.Text
THOMA5 - Sa 29.10.05 20:42
Stimmt so könnte ich das machen.
Danke
Wüsste denn auch wer wie das mit dem im neuen fenster öffnen ginge?
THOMA5 - Mo 31.10.05 11:35
also wenn ich das so mache, wie es mir oben gesagt wurde kann ich den link zwar eingeben, aber sobald ich auf den button zum Starten klicke, passiert nichts wie kann ich das ändern???
uses
ShellApi;
...
begin
ShellExecute(Application.Handle, 'open',
PChar('Link'), nil, nil,
SW_ShowNormal);
end;
end.
Stefan.Buchholtz - Mo 31.10.05 11:41
Wo Ironwulf 'Link' geschrieben hast, musst du natürlich den Text deines Editfeldes angeben, sond übergibt er ja den Text 'Link' an den Explorer zum öffnen. Damit kann der natürlich nichts anfangen, wenn im aktuellen Verzeichnis nicht gerade eine Datei namens 'Link' liegt. :)
Also
Delphi-Quelltext
1: 2: 3:
| ShellExecute(Application.Handle, 'open', PChar(Edit1.Text), nil, nil, SW_ShowNormal); |
vorausgesetzt, dein Editfeld heisst so.
Du musst übrigens an ShellExecute eine vollständige URL übergeben, also mit
http:// voran, sonst weiss der Explorer nicht, dass es eine Internet-Adresse ist und sucht nach einer Datei mit dem Namen zum öffnen.
Stefan
jaenicke - Mo 31.10.05 11:48
Mich würde mal interessieren, was das ganze eigentlich für einen Sinn hat, denn schließlich kommt man an die Form ja nicht mehr ran, wenn sich da dutzende Browser-Fenster öffnen. Wenn man das nicht abbrechen kann, ist das ja nicht so gut.
THOMA5 - Mo 31.10.05 12:18
also das programnm beendet sich ja nach 40 sekunden sodass man dran kommt.
Einen sinn hat das PÜrogramm eigentlich auch nicht, aber ich habe ne Wette mit nem Freund laufen, wer das zuerst hinbekommt.
Wäre also nett wenn ihr mir helft!!!
also das mit link hatte ich falsch angegeben hatte da edit1.text stehen aber das ging trotzdem nicht, auch wenn ich das mit http:// mache ?
BRAUCHE DRINGEND HILFE!!!
THOMA5
jaenicke - Mo 31.10.05 12:22
Dann poste doch mal bitte das ganze Programm (also ich meine alles in der Unit1.pas), und vor allem: WAS GENAU geht denn nicht bzw. was passiert denn bei dir. (Und wo hast du das http:// hingeschrieben...)
THOMA5 - Mo 31.10.05 12:37
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| unit Unit1;
interface
uses ShellApi, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Application.Handle, 'open', PChar('edit1.text'), nil, nil, SW_ShowNormal); end;
end. |
So!
wenn ich das jetzt starte und dann unter dem Editfeld zum Beispiel http:// und dann z.B.
http://www.Delphi-forum.de schreibe und auf den button zum Starten drücke, dann passiert einfach nur nichts.
Moderiert von
raziel: Delphi-Tags hinzugefügt.
jaenicke - Mo 31.10.05 12:42
:roll: Oh, Mann...
Natürlich musst du das edit1.text OHNE Anführungszeichen schreiben, das ist ja schließlich Delphi-Quelltext und kein String...
//EDIT: Und genau das richtige hatte Stefan.Buchholtz auch schon gepostet! Hättest du einfach nur das abgeschrieben, dann hätte es funktioniert!!!
Und außerdem: benutze bitte die Delphi-Tags beim Posten, damit den Quelltext nicht nur Text ist, sondern wie in Delphi formatiert!!!
Dafür klick beim Posten oben über dem Eingabefeld auf Bereiche, und dann rechts neben Delphi auf das Plus. Nach dem Eingeben des Quelltextes drückst du nochmal auf das plus, fertig.
THOMA5 - Mo 31.10.05 12:47
ja sry!!
kannst du denn auch sagen, wie ich es mache, dass die seite immer in nem neuen Fenster geöffnet wird?
THOMA5
jaenicke - Mo 31.10.05 12:55
Das hängt meines Wissens von den Browser-Einstellungen ab. Ich weiß nicht, ob man das per Delphi-Programm so einfach anders machen kann.
Stefan.Buchholtz - Mo 31.10.05 13:04
Benutz bei ShellExecute 'opennew' anstelle von 'open'.
Stefan
jaenicke - Mo 31.10.05 13:06
Wow, das kannte ich gar nicht, weil ichs nie brauchte. (Ich nehm sowieso immer CreateProcess)
Stefan.Buchholtz - Mo 31.10.05 13:26
jaenicke hat folgendes geschrieben: |
| Wow, das kannte ich gar nicht, weil ichs nie brauchte. (Ich nehm sowieso immer CreateProcess) |
Ich weiss auch nicht, ob es mit was anderem als dem IE geht. Ich habe einfach mal in den Orderoptionen des Explorers die Einstellungen für html-Dateien angeschaut.
Stefan
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!