Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4812 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  TFileStream, WideString et n'importe quoi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TFileStream, WideString et n'importe quoi

n°464175
Kyle_Katar​n
Posté le 21-07-2003 à 23:42:58  profilanswer
 

Code :
  1. For I:=0 to ST.NumberOfParts-1 do
  2.     begin
  3.      T:=TFileStream.Create(IncludeTrailingPathDelimiter(ExtractFilePath(Application.exename))+format('kfk_%d.c2c',[i]),fmCreate);
  4.       wTemp:=IncludeTrailingPathDelimiter(splitoutput_txt.Text)+ExtractFileName(splitfile_txt.Text)+format('.kk%d',[i]);
  5.       T.Write(wTemp,sizeof(wTemp));
  6.       T.Free;
  7.     end;


 
wTemp est une WideString.
Un breakpoint lors du "write" m'indique que son contenu est correct. Mais après le write le fichier contient n'importe quoi et sizeof(wtemp) renvoie 4.
 
Où me suis je gouré ?

mood
Publicité
Posté le 21-07-2003 à 23:42:58  profilanswer
 

n°464181
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-07-2003 à 23:57:25  profilanswer
 

T.Write(wTemp[1], Length(wTemp) * SizeOf(WideChar));
 
si tu écris wTemp tu écris juste un pointeur, vu que les string, AnsiString, WideString, etc. sont juste des pointeurs vers des chaînes.
avec le [1] tu écris la zone commençant au premier caractère.
Et pour avoir le nombre de caractères il faut utiliser Length, et savoir que les caractères font plus d'un octet.


Message édité par antp le 21-07-2003 à 23:57:39

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°464188
Kyle_Katar​n
Posté le 22-07-2003 à 00:02:40  profilanswer
 

Merci, je viens de tomber dessus dans l'aide...
 
Je suis un gros boulet. Non, un TBoulet maintenant que je suis converti à Delphi.
 
Encore merci ANTP (même si j'ai trouvé par moi même). Toujours rapide, toujours efficace. Toujours courtois.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  TFileStream, WideString et n'importe quoi

 

Sujets relatifs
Apache mod_rewrite fait n'importe quoi ?UPDATE qui fait n'importe quoi
[PHP] Apache ne peux pas inclure n'importe quel fichier[php] Expressions régulière prendre n'importe quoi
[FrontPage] Mise à jour sans MdP de n'importe quel poste!Sous linux,comment dire X = n'importe quel caractère???
ouvrir une pop-up en cliquant n'importe ou sur la pagedetecter un onclick sur mon document web n'importe ou!!
[JAVA] Pb d'interface, mes composants se mettent n'importe commentprintf -> peut on placer un caractere a n importe quelle endroit ecran
Plus de sujets relatifs à : TFileStream, WideString et n'importe quoi


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)