Toon posts:

[Delphi] PChar naar String.......

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik ben bezig met een progje om netwerk adapter gegevens op te vragen. Van windows krijg ik een PChar met verschillende netwerk adapters, gescheiden door nul-terminated karakters.

Wat ik graag zou willen weten is hoe ik die PChar variabele kan opsplitsen in een aantal strings met daarin de verschillende netwerk adapters.

Kan iemand me hiermee helpen :?

Thanx 4 helping :)

Ik heb de volgende code gebruikt, maarre, die werkt nie... :?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var InstanceList:String;
    NetworkInstance:Array[1..10] of String;

procedure GetNetworkInstances;
var P:PChar
    I:Integer;
begin
 //Dit is de PChar die ik krijg....
 PdhGetNetworkInstances(PChar(InstanceList));
 P:=@InstanceList[1];
 I:=0;
 while P^ <> #0 do
  begin
    I:=I+1;
    InstanceList[I]:=P;
    Inc(P,StrLen(P)+1);
  end;
end;

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Volgens mij is dit een lijst van zero-terminated strings, die achter elkaar 'geplakt' zijn, en afgesloten wordt door twee zero-characters. De inhoud is bijvoorbeeld:
"adapter 1\0adapter 2\0adapter 3\0\0"

Hiermee zou je genoeg moeten kunnen doen, lijkt me.

Overigens levert Windows NT/2000 waarschijnlijk wide characters op (in de meeste gevallen 'gewone' ASCII characters gevolgd door een zero-character) terwijl Windows 98 gewoon ASCII characters oplevert. Hou hier rekening mee in je code!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Trouwens, aan 'die werkt nie' hebben we niets. Geef tenminste aan wat er fout gaat, wat je al geprobeerd hebt en welke (debug) gegevens je ter beschikking hebt.

Verwijderd

Topicstarter
Ik heb het pchar probleem opgelost, maarre thanx 4 helping :)

Verwijderd

Waarom moeilijk doen? Een pchar kun je ook gelijk casten naar een string:

var S: string;
domain:string;
P: PChar;
begin
s := string(p);
end;

Vervolgens kun je met pos() en copy() de boel splitsen

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 05 april 2002 02:07 schreef TSI2002 het volgende:
Ik heb het pchar probleem opgelost, maarre thanx 4 helping :)
En jij bedankt voor je waardevolle toevoeging tot deze webboard. met probleem aankomen en dan alleen zggen dat je het opgelost hebt zonder te vertellen hoe je dat hebt gedaan. DAT is nou iets wat ik een toevoeging vindt. Wat ik in iedergeval zeker weet is dat IK jou de niet helpt.

Bovendien heeft @ndrewDynamo de juiste oplossing gegeven.

Het is dus ook gewoon in de manual te vinden, dus dan is jouw instelling hier wel heel erg duidelijk: "Ik zoek zelf niet, maar als ik het antwoord uiteindelijk wel vind, ga ik het niet posten omdat anders andere mensen het wel eens zouden kunnen vinden. Laat hun het zelf maar vragen."

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.