Supprimer/modifier une borne

cs_lcampeur Messages postés 19 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 3 juillet 2003 - 12 juin 2003 à 13:43
cs_lcampeur Messages postés 19 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 3 juillet 2003 - 13 juin 2003 à 13:26
Bonjour, je suis toujours sur le mm prgm, celui qui consiste à géré des bornes en réseau. Je dois supprimer des bornes précedemment écrite. Elles se situent dans un fichiers essaiBornes.txt

Pour l'instan, mon codage est :

ofstream objFichier("c:\\essaiBornes.txt", ios::binary|ios::trunc) ;
//J'ouvre le fichier et je le vide, pour le re-remplir en omettant la borne supprimer
for(int u = 0; u < NumBorne; u++)
//NumBorne => N° de la borne séléctionné dans la listBox
objFichier.write((char*)&objBorneDlg.objBorne[u], Taille) ;
//Taille => taille de la structure borne
for(int u = NumBorne +1; u < NbBornes; u++)
//NbBornes => Nb de bornes référencé jusque là
objFichier.write((char*)&objBorneDlg.objBorne[u], Taille) ;
objFichier.close() ;
NbBornes -- ;

Voilà, et lorsque j'effectue ceci, si par exemple, il y avait 4 bornes et que je voulais supprimer la 4°, dans la listBox des bornes, plus rien de ressemble à qqch !!! Plus que des signes bizarres affiché !! =(
Voilà, si qqn pouvait m'aider ! Merci...

1 réponse

cs_lcampeur Messages postés 19 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 3 juillet 2003
13 juin 2003 à 13:26
Je suis sur vc++, j'ai une interface principale, correspondant a la classe BornesDlg, sur laquelle un bouton me permet de passer à la fenetre 'Gestion' , correspondant à la classe 'CGestion'. Sur cette fenetre, 2 listBox, une pour le nom, une pour l'@ IP, et 4 boutons: Ajouter, Modifier, Supprimer, Quitter. La fenetre ajout, c'est bon, logiquement j'en ai fini avec, mais pour Modifier et Supprimer, correspondant respectivement à 'CModif' et 'CSuppr', là, ça va pas.
Donc, ma structure est déclaré dans BorneDlg. Un objet BorneDlg est créé dans chaque classe ou j'en ai besoin. Mes bornes sont dans un objBornes[NBBORNESMAX] (NBBORNESMAX = 10).
A chaque ouverture de la fenetre gestion, les bornes déjà référencé sont listé dans les listBox. On séléctionne une borne, on clique sur supprimer et la borne devrait se supprimer.
Pour cela, je vais cherché le num. de la ligne de la listBox correspondant à un num. de borne lors du listage. Je clik sur suppr, le num est gardé et le prgm efface le fichier pour réécrire tous sauf la borne correspondant au num. Je comprend pas pkoi, mais ça marche pas.
je met mon codage pour le listage :

Code:

int i, temp ;
//Ouvre le fichier
ifstream objFichier ;
objFichier.open("c:\\EssaiBornes.txt", ios::binary) ;
//Vide les listBox
m_List.ResetContent() ;
m_ListIP.ResetContent() ;
//Lit le fichier et le stocke en mémoire
do{
objFichier.read((char*)&objBornesDlg.objBornesLu[i], Taille) ;
i++ ;
}while(!objFichier.eof()) ;
i-- ;
objFichier.close() ;
NbBorne = i ;
//Liste les bornes
for(i = 0; i < NbBorne; i++){
m_List.InsertString(i, objBorneDlg.objBornesLu[i].NomBorne) ;
essaiIP[i] = objBornesDlg.objBornesLu[i].IP ;
m_ListIP.InsertString(i, essaiIP[i]) ;
}


Voilà, je pense avoir été plus précis !! =)
0
Rejoignez-nous