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

解決


lon  2006-04-01 11: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 12:52:15  No: 20792  IP: 192.*.*.*

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

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

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

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

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

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

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

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

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

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

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

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

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

Shellwapi に PathFindFileName があります。

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

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

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

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

編集 削除
lon  2006-04-15 17: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;

編集 削除