Standardbrowser plattformübergreifend starten

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Standardbrowser plattformübergreifend starten

Beitrag von DL3AD »

Hallo,

wie kann man den im Betriebssystem festgelegten Standardbrowser starten mit aufzurufender Webseite ?

Gruß Frank

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: Standardbrowser plattformübergreifend starten

Beitrag von compmgmt »

OpenURL in lclintf:

Code: Alles auswählen

OpenURL('http://www.lazarusforum.de/');

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Standardbrowser plattformübergreifend starten

Beitrag von DL3AD »

... Danke - und wie macht man es mit eine PDF-Datei ?

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: Standardbrowser plattformübergreifend starten

Beitrag von compmgmt »

Unter Windows kann man jede Datei mittels ShellExecute öffnen, diese wird dann automatisch mit dem Standardprogramm geöffnet (man kann so auch den Standardbrowser aufrufen, allerdings geht das nur unter Windows).

Ansonsten einfach mal folgendes probieren, ich weiß aber nicht ob es geht:

Code: Alles auswählen

OpenURL("file:///C:/Pfad/zur/Datei.pdf");

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Standardbrowser plattformübergreifend starten

Beitrag von shokwave »

mfg Ingo

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Standardbrowser plattformübergreifend starten

Beitrag von Mathias »

Wen man dies früher mit OpenDocument gewusst hätte, hätte ich solch ein gebastelt gemacht.

Code: Alles auswählen

var
  s : String;
begin
  inherited;
  s := '"' + Pfad + 'Foxit Reader.exe" ' + Pfad + '20010501.pdf';
  WinExec(PChar(s), SW_SHOW);

Das war natürlich ein riessen Nachteil, der User musste "Foxit Reader" installiert haben.
Wen man wenigsten "ShellExecute" gekannt hätte. :roll:

Dazumal gab es leider kein Internet, geschwiegen ein Forum. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: Standardbrowser plattformübergreifend starten

Beitrag von compmgmt »

Mathias hat geschrieben:Wen man dies früher mit OpenDocument gewusst hätte, hätte ich solch ein gebastelt gemacht.

Code: Alles auswählen

var
  s : String;
begin
  inherited;
  s := '"' + Pfad + 'Foxit Reader.exe" ' + Pfad + '20010501.pdf';
  WinExec(PChar(s), SW_SHOW);

Das war natürlich ein riessen Nachteil, der User musste "Foxit Reader" installiert haben.
Wen man wenigsten "ShellExecute" gekannt hätte. :roll:

Dazumal gab es leider kein Internet, geschwiegen ein Forum. :wink:
Der Code muss ja uralt sein, wenn du noch WinExec benutzt :lol:

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Standardbrowser plattformübergreifend starten

Beitrag von Mathias »

Der Code muss ja uralt sein, wenn du noch WinExec benutzt :lol:

Wen das Datum der Sourcen-Dateien stimmt, wäre dies 2002 gewesen.

Ich denke mal zur dieser Zeit hat es OpenDocument() sicher auch gegeben.

WinExec hat man sicher mal in einer Zeitschrift gelesen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: Standardbrowser plattformübergreifend starten

Beitrag von compmgmt »

Mathias hat geschrieben:
Der Code muss ja uralt sein, wenn du noch WinExec benutzt :lol:

Wen das Datum der Sourcen-Dateien stimmt, wäre dies 2002 gewesen.

Ich denke mal zur dieser Zeit hat es OpenDocument() sicher auch gegeben.

WinExec hat man sicher mal in einer Zeitschrift gelesen.

Da war ich noch drei Jahre alt, da kann ich mich nicht mehr dran erinnern :lol:
Und als ich vor vier Jahren mit dem Programmieren (damals noch Delphi 6, seit zwei Jahren Lazarus) angefangen habe, gab es die heutigen Mittel zum Glück schon :)

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Standardbrowser plattformübergreifend starten

Beitrag von Mathias »

Da war ich noch drei Jahre alt, da kann ich mich nicht mehr dran erinnern :lol:

Dann magst du dich nicht mehr an die Internetlose Zeit erinnern. Da musste man sich alles PC Wissen von Büchern und Zeitschriften zusammenklauben.
Etwas zu suchen war recht mühsam, man wusste vielleicht, das es WinExec gabe, also hat man einen ganzen Stapel Zeitschriften durchgeblättert.
Heute geht man ins INet, und hat die Lösung meistens in kürze. Ctrl+Space gab es natürlich auch nicht. Für WinAPi-Sachen war einzig die Hilfe von TurboPascal für Windows gut, und dies war sogar in deutsch.

Und als ich vor vier Jahren mit dem Programmieren (damals noch Delphi 6, seit zwei Jahren Lazarus) angefangen habe, gab es die heutigen Mittel zum Glück schon :)

Mein erstes Delphi war 1.0, die war noch 16Bit und war für Win 3.x geeignet. Aber ob das bei dir Glück ist, darüber lässt sich streiten. Früher als man mit der Konsole arbeitete, da lernte man den Computer richtig kennen. Meine erste Programmiersprache war GW-BASIC.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten