4

Delphiでこれを行うにはどうすればよいですか? 例えば..

URL = https://mail.google.com/mail/u/0/?tab=wm#inbox

トリミングされた URL = https://mail.google.com/

ありがとう

4

3 に答える 3

6

Indy を使用したコード例は次のTIdURIようになります。

uses
  IdURI;

function GetProtoAndHost(const URI: string): string;
var
  IdURI: TIdURI;
begin
  IdURI := TIdURI.Create(URI);
  try
    Result := IdURI.Protocol + '://' + IdURI.Host + '/';
  finally
    IdURI.Free;
  end;
end;
于 2012-11-06T20:55:17.600 に答える
3
Function GetRoot(const Path:String):String;
var
 i:Integer;
begin
  i := Pos('//',Path);
  if i>0 then
      i := PosEx('/',Path,i+2)
  else i := Pos('/',Path);
  if i=0 then i := Length(Path);

  Result := Copy(Path,1,i);
end;
于 2012-11-06T20:51:24.877 に答える
2

TIdURIIndy のクラス (「IdURI」ユニット内) を見てください。URI/URL パーサーです。URL をフィードすると、さまざまなコンポーネントに解析されます。それをいじって、それがどのように機能するかを見てください。あなたの特定の質問は、URL を解析した後にホストとプロトコルのプロパティを調べることで答えることができます。

于 2012-11-06T20:47:27.223 に答える