重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

前回の質問で教えていただいた
ソフト上からURLを実行する方法で

1.uses節にShellapiを追加
2.Edit1にURLを記述
3.Edit1のOnClickイベントに
ShellExecute(handle, 'open', pchar(Edit1.Text), '', '', sw_shownormal);と記述
4.起動してEdit1欄をクリックしてみてください。

この場合でほとんどのURLではうまくいったのですが
http://○○○○"USER"○○の場合の
ダブルコーテーションが実行させると消えてしまい
目的のページにうまく飛びません。
ダブルコーテーションを残すにはどのうように
すればよいのでしょうか?

A 回答 (1件)

単純にダブルコーテーションのみ対応させるだけであれば、ダブルコーテーションを


HTTPEncode後の%22に置き換えてあげれば簡単に対応できます。
もし、全ての文字列に対応させたい場合はホスト名の後ろの文字をHTTPAPPユニット内の
HTTPEncode関数で変換してあげれば、対応できます。

procedure TForm1.Button1Click(Sender: TObject);
var
urlstr : string;
begin
urlstr := StringReplace(Edit1.Text,'"','%22',[rfReplaceAll]);
ShellExecute(handle, 'open', pchar(urlstr), '', '', sw_shownormal);
end;
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげ実行できるようになりました。
大変助かりました。

お礼日時:2004/08/25 13:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!