Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registrieren von html-Dateien (https://www.delphipraxis.net/19046-registrieren-von-html-dateien.html)

S2B 28. Mär 2004 11:05


Registrieren von html-Dateien
 
Hi,
ich hab ein Problem beim Verknüpfen von html/htm-Dateien mit meinem WebBrowser. Immer wenn ich den WebBrowser aus Delphi heraus ausführe, funktioniert das Laden perfekt:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  //.html-Dateien auslesen
  if paramcount>0
  then
    begin
      Edit1.Text:=(paramstr(1));
      BitBtn1.Click;
    end;
end;
Wenn ich aber das Programm vom Installationsordner ausführe, kommt folgender "Fehler":
z.B. bei "C:\Dokumente und Einstellungen\S2B\Eigene Dateien\Delphi.html" steht im Edit-Feld nach dem Laden "file:///C:/Dokumente".

Wisst ihr vielleicht, was das Problem ist?
Gruß
S2B

Luckie 28. Mär 2004 11:07

Re: Registrieren von html-Dateien
 
Du musst den Pfad in Anführungszeichen packen, damit es mit Leerzeichen im Pfad klappt.

S2B 28. Mär 2004 11:12

Re: Registrieren von html-Dateien
 
Hi Luckie
das klappt irgendwie nicht. Wie soll ich die Anführungszeichen einbauen? So

Delphi-Quellcode:
  if paramcount>0
  then
    begin
      Edit1.Text:='"' + (paramstr(1)) + '"';
      BitBtn1.Click;
    end;
hab ichs schon versucht. Da kommt aber das

Code:
http://"c:/dokumente"
raus.

Gruß
S2B

[edit] Ich hab gerade auch versucht, die Leerzeichen durch % oder %20 zu ersetzen und file:/// davorzuhängen. Hat aber auch nichts gebracht...

Christian Seehase 28. Mär 2004 12:11

Re: Registrieren von html-Dateien
 
Moin S2B,

Du müsstest die Anführungsstriche schon im Eintrag in der Registry setzen.

HKEY_CLASSES_ROOT\htmlfile\shell\open\command

im Standardwert

"Pfad zu Deinem Programm" "%1"

Innerhalb Deines Programmes genügt das nicht, da Windows Dir schon nur den Pfad bis zum ersten Leerzeichen übergibt, wenn die " fehlen.

S2B 28. Mär 2004 12:44

Re: Registrieren von html-Dateien
 
Vielen Dank für die Antwort! Jetzt geht es. Ich weiß nur nicht, warum es in Delphi ging und sonst nicht, aber das ist ja jetzt auch egal...
Gruß
S2B

MathiasSimmack 28. Mär 2004 16:47

Re: Registrieren von html-Dateien
 
Zitat:

Ich weiß nur nicht, warum es in Delphi ging und sonst nicht, [...]
In Delphi klappte es deshalb, weil du dort mit einem kompletten String hantiert hast, bei dem es keine Rolle spielt ob er Leerzeichen enthält oder nicht. Ob du den Dateinamen nun fest angegeben oder bspw. über ein Editfeld ausgelesen hast,
Delphi-Quellcode:
s := Edit1.Text;
der Name war, ob Leerzeichen oder nicht, komplett.

Bei der Benutzung von "paramstr" sieht das anders aus. Wenn du keine Anführungszeichen benutzt, dann wird ein Leerzeichen zwischen zwei Worten als Trenner benutzt. Aus dem Grund ist
Code:
"Dokumente und Einstellungen"
nur ein Parameter,
Code:
Dokumente und Einstellungen
dagegen drei.

So einfach ist das. ;)


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