AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mit PChar arbeiten

Ein Thema von Pseudemys Nelsoni · begonnen am 23. Jun 2004 · letzter Beitrag vom 23. Jun 2004
 
MathiasSimmack
(Gast)

n/a Beiträge
 
#16

Re: Mit PChar arbeiten

  Alt 23. Jun 2004, 16:32
Hier hast du noch ein Beispiel (dann hör ich aber auch auf, dich zu nerven) aus der Rubrik: "Es ist zwar ein PChar, aber ..." -

Die Funktion [msdn]"InternetCrackUrl"[/msdn] zerlegt einen Grafen () in seine Bestandteile; sprich: Host, Schema, usw. Die entsprechenden Membervariablen sind zwar als pchar deklariert, allerdings dienen sie hier der Ausgabe der Daten. Das heißt, die Funktion erwartet von dir, dass du einen Puffer bereitstellst, der groß genug ist.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
const
  szUrl =
    'http://www.delphipraxis.net/topic28303_profil+temp+verzeichniss.html';
var
  url : TUrlComponents;
  scheme,
  buf,
  urlpath : array[0..MAX_PATH]of char;
begin
  ZeroMemory(@url,sizeof(url));
  url.dwStructSize := sizeof(url);

  url.lpszHostName := buf;
  url.dwHostNameLength := sizeof(buf);
  url.lpszScheme := scheme;
  url.dwSchemeLength := sizeof(scheme);
  url.lpszUrlPath := urlpath;
  url.dwUrlPathLength := sizeof(urlpath);

  if(InternetCrackUrl(szUrl,length(szUrl),0,url)) then
    MessageBox(0,pchar(Format('Host: %s' + #13#10 + 'Schema: %s' + #13#10 +
    'URL: %s',[buf,scheme,urlpath])),nil,0);
end;
Wenn du denkst, dass das statische Array (0-MAX_PATH) nicht ausreicht, dann kannst du auch hier mit "pchar"-Variablen arbeiten, wobei du dann natürlich den Puffer vorher mit "GetMem" erzeugen musst. Ansonsten rumpelt´s wieder ...

So, genug jetzt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz