Dépacement d'index dans un TStringList
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| //Déclarations de variables
int i,val1;
AnsiString pos,pos1,racine,utilisateur,ligne3,enregistrer,rechercher;
TStringList *file = new TStringList() ;
TStringList *myStringList= new TStringList() ;
TStringList *li = new TStringList() ;
//Recuperation de la racine du fichier a enregistrer dans edit 6
enregistrer=Edit5->Text;
//Recuperation du nom d'utilisateur dans Edit4
utilisateur=Edit3->Text;
//Recuperation de la racine du fichier dans Edit2
racine=Edit1->Text;
//Lecture du fichier
file->LoadFromFile( racine );
for( i=0; i< file->Count; i++)
{
//Lecture de chaque ligne
rechercher = file->Strings[i];
//Teste sur chaque ligne la valeur ,264,
if(rechercher.Pos(",264,"))
{
//Enregistre la valeur dans val1
val1=i;
}
}
//Recuperation de ligne selectionner
ligne3 = file->Strings[val1] ;
//Decoupage de la ligne a chaque virgule
li->Delimiter = ',' ;
li->DelimitedText = ligne3 ;
//Ouverture du fichier
myStringList->LoadFromFile(enregistrer);
//Ajout dans le fichier
myStringList->Add(utilisateur+"," +li->Strings[5]);
//Enregistre dans le fichier
myStringList->SaveToFile( enregistrer ) ;
//libérer les ressources
delete myStringList ;
delete li ;
delete file ; |
Voici mon code, le bute est de chercher dans un fichier un code qui renvoie la valeur de la ligne, et avec le numero de la ligne on copie un champ (ou plusieur)..
Le souci c'est que si ce numero n'y est pas, la recherche ce fait mais apres au niveau de l'ajout du champs dans le fichier sa fait une erreur et sa copie rien.
Moi je voudrais essayer d'eviter afficher cette erreur et de copier tous ce qu'il y a..
merci d'avance