http://〜のパスをExtractFileNameのように出力するには?

解決


lon  2006-04-01 20:33:46  No: 20791  IP: [192.*.*.*]

たとえば、
procedure TForm1.Button1Click(Sender: TObject);
var
vipper : String;
begin
vipper := ExtractFileName('http://google.com/Sample.jpg');
Edit1.Text := (vipper);
end;

のように記述しますと、
"//google.com/Sample.jpg"のように帰ってきてしまいます。
Sample.jpgのみ取得したいのですが、何か参考になるものはありますでしょうか。
もしくはサンプルコード等を挙げてもらえると幸いです

編集    削除
ion  2006-04-01 21:52:15  No: 20792  IP: [192.*.*.*]

ヘルプの「文字列処理ルーチン」を見れば、必要十分な関数がそろってる。

編集    削除
igy  2006-04-01 23:02:07  No: 20793  IP: [192.*.*.*]

・文字列(“http://〜”)にある“/”のうち、最後の“/”の位置を取得。
・その位置の次の位置から最後までの文字列を取得。
でどうでしょう。

編集    削除
lon  2006-04-02 09:37:46  No: 20794  IP: [192.*.*.*]

ヘルプを見てもよく分かりませんでした。
申し訳ないです。

とりあえず、ポタンを押すと"http://"のみを削除し、
残った"/"を"¥"に変換する方式をとりたいと思います。

igyさんがおっしゃっていた、"最後の/を取得"というのがヘタレなので出来なかったので。。。

最後にお聞きしたいのですが、最後の文字列を取得する際に必要な関数は何なんでしょうか?

編集    削除
igy  2006-04-02 17:47:04  No: 20795  IP: [192.*.*.*]

>・文字列(“http://〜”)にある“/”のうち、最後の“/”の位置を取得。
LastDelimiter 関数
で、位置を取得できると思います。

編集    削除
igy  2006-04-02 19:36:34  No: 20796  IP: [192.*.*.*]

>・その位置の次の位置から最後までの文字列を取得。
は、Copy 関数で。

編集    削除
Basser  2006-04-03 18:50:39  No: 20797  IP: [192.*.*.*]

Shellwapi に PathFindFileName があります。

編集    削除
lon  2006-04-03 19:48:33  No: 20798  IP: [192.*.*.*]

解決しました!
本当にありがとうございます(^^

編集    削除
名前なし  2006-04-03 19:48:37  No: 20799  IP: [192.*.*.*]

>PathFindFileName があります。
おや?この関数 URLでも使えるのか。と思ったら、
Memo1.Lines.Add(PathFindFileNameA('http://google.com/'));
の実行結果は、google.com/
つかえね〜(-_-;)

編集    削除
lon  2006-04-16 02:40:02  No: 20800  IP: [192.*.*.*]

とりあえず、このような質問をまたいつ誰がするともわからないので、乗せておきます

var
  MyIndex : integer;
  copy1 : string;
  copy2 : string;
  filepass : string;
begin
  MyIndex := LastDelimiter('/',Edit1.Text);
  copy1 := Copy( Edit1.Text, MyIndex, 99);
  copy2 := StringReplace(copy1,'/','',[]);
  filepass := ChangeFileExt(copy2,'');
  Edit1.text := filepass;

編集    削除