Merci pour vos reponses
Je galère un peu avec les formats
La solution de kmaniche me plait effectivement plus puisque plus simple.
Ca marche dans l'exemple mais ca ne fonctionne pas quand je fais ca sur une tableau publique déclaré ainsi
1 2 3 4
| __fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Sauvegarde = new char[TailleSauvegarde]; |
avec const long int TailleSauvegarde = 250000 ;
et __fastcall TForm1(TComponent* Owner);
char *Sauvegarde ;
sur ce tableau, quand j'execute
1 2 3
| AnsiString Nom ;
Nom = ((AnsiString)Sauvegarde).SubString(17, 20) ;
ShowMessage(Nom ) ; |
je recupère une chaine vide
Malgrés tout, cela n'a pas l'air de merdouiller à ce niveau là.
Si je regrde individuellement un des caractères
Label1->Caption = Sauvegarde[17] ;
j'ai bien egalement un caractère vide...
Le truc c'est que si j'enregistre le tableau "Sauvegarde" dans un fichier en faisant ceci
1 2 3 4 5 6 7 8 9 10 11 12
| void __fastcall TForm1::EnregistrerTableauDansFichier()
{
//enregistrer les data dans le fichier
TMemoryStream *MS;
MS=new TMemoryStream();
MS->Write(Sauvegarde,TailleSauvegarde);
//MS->ReadBuffer(Sauvegarde,AdresseDebutTableLOGS);
MS->SaveToFile(NomFichierSauvegarde);
delete MS; //on libère le flux
StatusBar3->Panels->Items[0]->Text = NomFichierSauvegarde;
} |
et si je regarde ce fichier avec le bloc note j'ai bien des caractères là ou il faut !! (un B en l'occurence en position 17)
Au sec.
Merci
Partager