...crack a URL into its component parts?

Author: Thomas Stutz 

Homepage: http://www.swissdelphicenter.ch

0 Comments to this tip [Write new comment]

[ Print tip ]    

 

Tip Rating (5):  

Skill:  

Useful:  

Overall:  

 

 

 

{

  InternetCrackUrl() takes a URL as a parameter and breaks it down into components,

  which are then accessible via the TURLComponents structure.

 

  InternetCrackUrl() zerlegt eine URL in seine Komponenten, welche dann über die

  TURLComponents Struktur zugänglich sind.

}

 

uses

  WinInet;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  aURLC: TURLComponents;

const

  TEST_URL = 'http://www.swissdelphicenter.ch/de/tipsindex.php';

begin

  FillChar(aURLC, SizeOf(TURLComponents), 0);

  with aURLC do

  begin

    lpszScheme := nil;

    dwSchemeLength := INTERNET_MAX_SCHEME_LENGTH;

    lpszHostName := nil;

    dwHostNameLength := INTERNET_MAX_HOST_NAME_LENGTH;

    lpszUserName := nil;

    dwUserNameLength := INTERNET_MAX_USER_NAME_LENGTH;

    lpszPassword := nil;

    dwPasswordLength := INTERNET_MAX_PASSWORD_LENGTH;

    lpszUrlPath := nil;

    dwUrlPathLength := INTERNET_MAX_PATH_LENGTH;

    lpszExtraInfo := nil;

    dwExtraInfoLength := INTERNET_MAX_PATH_LENGTH;

    dwStructSize := SizeOf(aURLC);

  end;

  if InternetCrackUrl(PChar(TEST_URL), Length(TEST_URL), 0, aURLC) then

  begin

    ShowMessage(aURLC.lpszUrlPath);

  end;

end;