Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseite öffnen?
Hi, ist es möglich einen Link z.B. im Internet Explorer zu öffnen?
ich weiss nicht vielleicht
writeln ('nun oeffnet sich der link www.coding-board.de');
goto (http://coding-board.de);
o.ä.
wäre dankbar für schnelle Auskunft,
mfg
sanz
Jan Krüger
16.04.2005, 23:16
Am einfachsten ist es, über ShellExecute die URL aufzurufen (mit dem Ausführungstyp "open"). Funktioniert bei allen aktuellen Windows-Systemen -- natürlich nur, wenn du auch ein Win32-Programm schreibst.
oder irgendwie "start http://www.google.de" ausführen. bin jetzt kein Pascal experte und weiss nicht wie der befehl heisst. halt der normale befehl um ein externes programm zu starten ...
Sollte auch gehen wenn du ein DOS-Programm schreibst, allerdings nur wenn es unter Windows ausgeführt wird. (irgendwie logisch ...)
Es handelt sich um Turbo Pascal, ist dennoch möglich übergreifend z.B. den IExplorer zu öffnen und den mit einem bestimmten Parameter auf eine spezielle URL zu leiten, oder ähnliche Methoden/Möglichkeiten?
Bitte keine ungetesteten Ideen, und bitte mit konkreten Anwendungsbeispiel
mfg
sanz
bloodriver
17.04.2005, 01:44
Am einfachsten ist es, über ShellExecute die URL aufzurufen (mit dem Ausführungstyp "open"). Funktioniert bei allen aktuellen Windows-Systemen -- natürlich nur, wenn du auch ein Win32-Programm schreibst.
nimm dir als aller erstes mal diesen post zu herzen... hier die c/c++ syntax ( hab lange kein pascal mehr gemacht von daher mach ich c weil ich weiß wie es da funktioniert ):
ShellExecute( NULL , "open" , "http://www.coding-board.de/" , NULL , NULL , SW_SHOWDEFAULT );
NULL gegen nil und " gegen ' eintauschen. das müsste es eigentlich gewesen sein.
andere methode ( falls ich mich noch recht erinnere ) ist:
system( "start http://www.coding-board.de/" );
wieder " gegen ' eintauschen...
das müsste eigentlich funktionieren
hoffe habe dir geholfen
// EDIT \\
Bitte keine ungetesteten Ideen, und bitte mit konkreten Anwendungsbeispiel
wenn du sowas von uns erwartest, dann träum ma weiter... andere versuchen erst einmal zu googlen oder einfach so irgendwas rum zu testen und da musst du nicht gleich mit solchen sprüchen kommen... anwendungsbeispiele sind eigentlich ziemlich sinnlos, denn du bekommst den fertigen code, weißt aber nicht was der erstellende alles eingebunden hat. du magst es vielleicht nachvollziehen können, aber trotzdem weißt du nie genau was er erreichen wollte.
kennst du den spruch:
SELBST IST DER MANN
??????????????????????
Mir hilft der C Syntax relativ wenig, Pascal/C relativ unterschiedlich, sowohl bei der Erscheinung und der Syntax, btw "Turbopascal".
das mit dem "system(...)" funktioniert nicht,
google hab ich auch schon abgregrasst, nix im entfernsten gefunden :mauer:
bloodriver
17.04.2005, 13:27
hab was gefunden
Uses
Shellapi
procedure TForm1.Label1Click(Sender: TObject);
begin
shellexecute(handle,'open','http://www.swissdelphicenter.ch', nil,nil,sw_show);
end;
falls du irgendwie weiteres suchst, dann gehe bitte auf www.ensacom.de (http://www.ensacom.de/)
da kannste dir den delphi manager runterladen. dort stehen alle dateien drin die auf der seite stehen
hier noch ein beispiel um eine email zu versenden:
ShellExecute(MainForm.Handle,
'open',
'mailto:Name@domain'+'?subject=Hallo&body=Wie geht es dir?',
nil, nil, SW_SHOWNORMAL);
Jan Krüger
17.04.2005, 19:01
Mir hilft der C Syntax relativ wenig, Pascal/C relativ unterschiedlich, sowohl bei der Erscheinung und der Syntax, btw "Turbopascal".
Ich verstehe nicht, was da für dich so kompliziert ist. Fassen wir's nochmal zusammen.
Bloodrivers C++-Version:
ShellExecute( NULL , "open" , "http://www.coding-board.de/" , NULL , NULL , SW_SHOWDEFAULT );
Bloodrivers Anleitung zum Übertragen nach Pascal: " -> ', NULL -> nil.
Ergebnis in Pascal:
ShellExecute(nil , 'open', 'http://www.coding-board.de/', nil , nil, SW_SHOWDEFAULT);
An welcher Stelle war das schwierig?
PS. system() ist eine Funktion der C-Libraries; unter Windows gibt es die Kompatibilitätsfunktion WinExec(), die sehr ähnliche Parameter hat, aber in zukünftigen Windows-Versionen u.U. nicht mehr unterstützt wird. Als Alternative bieten sich CreateProcess() und ShellExecute() an. Beide sind in der Win32-API-Doku dokumentiert, die bei Delphi mitgeliefert wird, und bei beiden kann dir eine gute IDE (z.b. die von Delphi) die Namen der Parametertypen in Pascal verraten. Du kannst auch selbst in der Windows-Interfacedatei gucken, die dein Pascal-Compiler mitliefern sollte.
bloodriver
18.04.2005, 15:29
Ich verstehe nicht, was da für dich so kompliziert ist. Fassen wir's nochmal zusammen.
Bloodrivers C++-Version:
ShellExecute( NULL , "open" , "http://www.coding-board.de/" , NULL , NULL , SW_SHOWDEFAULT );
Bloodrivers Anleitung zum Übertragen nach Pascal: " -> ', NULL -> nil.
Ergebnis in Pascal:
ShellExecute(nil , 'open', 'http://www.coding-board.de/', nil , nil, SW_SHOWDEFAULT);
An welcher Stelle war das schwierig?
PS. system() ist eine Funktion der C-Libraries; unter Windows gibt es die Kompatibilitätsfunktion WinExec(), die sehr ähnliche Parameter hat, aber in zukünftigen Windows-Versionen u.U. nicht mehr unterstützt wird. Als Alternative bieten sich CreateProcess() und ShellExecute() an. Beide sind in der Win32-API-Doku dokumentiert, die bei Delphi mitgeliefert wird, und bei beiden kann dir eine gute IDE (z.b. die von Delphi) die Namen der Parametertypen in Pascal verraten. Du kannst auch selbst in der Windows-Interfacedatei gucken, die dein Pascal-Compiler mitliefern sollte.
jo das hab ich auch nicht ganz von ihm verstanden :)
das einzigste was war, man musste bei uses ShellApi eintragen...
wo du gerade WinExec() ansprichst fällt mir das auch grad wieder ein...
WinExec( Pfad , integer );
was für integer stand weiß ich nicht mehr genau, ich glaube das waren die parameter oder so... irgenwas halt :) habe halt lange nichts mehr mit delphi/pascal zu tun gehabt
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.