Pascal... PChar ARGLLLLLLLLLLLLL pb à la con ! - Programmation
Marsh Posté le 18-10-2001 à 15:34:36
vous voyez pas ?
je me suis peut-être mal expliqué ?
mettons chaine: PChar;
chaine pointe sur une chaine de caractère... soit 'yahouuuu!'
si on fait
string: truc;
truc := chaine^;
truc contient 'yahouuuu' ou 'y' ???
si truc contient 'y' comment faire pour tout récupérer ?
c'est plus clair, comme ça ?
Marsh Posté le 18-10-2001 à 15:41:51
oui, je viens de vérifier...
si on fait : (avec truc: string; chose: PChar)
truc := 'yahoooo';
chose := PChar(truc);
truc := chose^ ;
on a bien truc = 'y' !!
comment fait on pour tout récupérer ?
Marsh Posté le 18-10-2001 à 15:59:22
tu fais
truc := string(chose);
et truc = 'yahouuuu' !!!!!!
promis, j'arrête d'utiliser le forum pour des questions à la con dont je trouve moi même la réponse....
Marsh Posté le 18-10-2001 à 16:01:24
P[0] est équivalent à P^ ce ki explike ton resultat
(le temps de rediger et de faire 2-3 truc a cote et t'a trouve
je m'arrete donc la )
NB : C po les kestion Con ki sont chiantes, C l'es kestions posees 36000 fois, ainsi ke celles qu'on resoud en cherchant 30sec dans les moteurs de recherches
NB2 : pis comme j'avais po encore eu a travailler avec les pointeurs sous delphi c'etait l'occasion de m'y interesser
[edtdd]--Message édité par evode--[/edtdd]
Marsh Posté le 18-10-2001 à 16:14:36
le PChar...c une chaine de caracteres au standard C en pascal...
(ca fait un bail, ke g pas fait de pascal...depuis le DEUG...)
Pour la copier, fo faire une copie du bloc memoire ...(genre strcpy du C)
par contre, la ca fait trop longtemps...
Je peux pas t'aider...
Marsh Posté le 18-10-2001 à 15:16:21
path: PChar;
(...)
New(PinfNode);
path := StrAlloc(MAX_PATH);
DesktopNode.ImageIndex := Sfi.iIcon;
DesktopNode.SelectedIndex := Sfi.iIcon;
SHGetPathFromIDList(idRoot, path);
PinfNode^.directory := path^;
DesktopNode.Data := PinfNode;
DesktopNode.Expand(true);
(...)
ma question est : est-ce que directory va contenir uniquement le premier caractère de la chaîne path ?
si oui, comment récupérer la chaine entière ???? ya pas une fonction pour fair ça ? je scrute la doc depuis bien une heure et... rien... aidez un pauvre bleu comme moi, svp !
[edtdd]--Message édité par Georges Moustaki--[/edtdd]