[RESOLU] Rechercher dans un fichier texte

Rechercher dans un fichier texte [RESOLU] - C++ - Programmation

Marsh Posté le 12-04-2006 à 09:11:29    

voila mon Pb.
je doit lire un fichier texte qui conporte des donnée sur des objet  
 
exemple de ligne:
 M1 NP Tau 8.2m 6' J50   5h34.5 +22°01 N1952
 M2 AG Aqr 6.5m 8' J30  21h33.5 -0°49 N7089                    
 M3 AG CVn 6.4m 10' J30  13h42.2 +28°23 N5272  
 M4 AG Sco 6.0m 14' J30. 16h23.6 -26°32 N6121
 M5 AG Ser 5.9m 13' J30  15h18.6 +2°05 N5904
 M6 AO Sco 5.0m 25' O.N. 17h40.1 -32°13 N6405
 M7 AO Sgr 3.0m 60' O.N. 17h53.9 -34°49 N6475
 
 :pt1cable:  :pt1cable:  :pt1cable:  :pt1cable:  :pt1cable:  
Les point M1, M2 ..... son afficher ds une listBox
et quan je clique sur un objet je doit avoir les coordonnée qui son mit en rouge afficher ds un Edit
 
Le pb c que je n'arrive pas après avoir selectionner le point a retrouver les coordonnée coorespondante au point.
 
Merci pour votre aide ;)


Message édité par lomat62 le 12-04-2006 à 11:30:28

---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 09:11:29   

Reply

Marsh Posté le 12-04-2006 à 09:14:27    

Tu es en BTS IRIS pour faire ça ?

Reply

Marsh Posté le 12-04-2006 à 10:33:14    

soit plus précis dans tes traitements: qu'est-ce qui ne fonctionne pas exactement ?

Reply

Marsh Posté le 12-04-2006 à 10:44:03    

ce qui ne fonctionne pas c pour allé rechercher les coordonné que g mi en rouge en fonction du point selectionné M1 , M2 etc qui sont ds une list box  
et donc je doit allé affiché c donné un un Edit


---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 10:49:23    

tu sais faire quoi exactement aujourd'hui ?
où en est ton code ?
 
Edit: écris mieux stp, c'est difficile de te lire.


Message édité par _darkalt3_ le 12-04-2006 à 10:49:44
Reply

Marsh Posté le 12-04-2006 à 11:00:30    

donc voila une image de base du programme
 
http://perso.numericable.fr/~lomat62/questioninternet.JPG
 
et voici le code complet du programme :
 
 

Code :
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include <stdio.h>
  5. #include <fstream.h>
  6. #include <iostream.h>
  7. using std::ifstream;
  8. #include <iomanip.h>
  9. #include <string.h>
  10. #include "Unit1.h"
  11. //---------------------------------------------------------------------------
  12. #pragma package(smart_init)
  13. #pragma resource "*.dfm"
  14. TForm1 *Form1;
  15. //---------------------------------------------------------------------------
  16. __fastcall TForm1::TForm1(TComponent* Owner)
  17.         : TForm(Owner)
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21. void __fastcall TForm1::Button1Click(TObject *Sender)
  22. {
  23.     //char* strpbrk ( const char *s1, const char *s2)
  24.     rechercheFichtxt ();
  25. }
  26. //---------------------------------------------------------------------------
  27. void __fastcall TForm1::FormShow(TObject *Sender)
  28. {
  29.         rechercheFichtxt ();
  30. }
  31. //---------------------------------------------------------------------------
  32. //---------------------------------------------------------------------------
  33. //              Méthode sortieLigne
  34. //---------------------------------------------------------------------------
  35. void TForm1::sortieLigne ( const char *Nom, const char *M4, const char *M5, const char *M1, const char *M2, const char *M3, const char *RA, const char *DEC, const char *M6)
  36. {
  37.       ListBox1->Items->Add(Nom);
  38.         if (Editrecherche->Text.c_str()==Nom)
  39.         {
  40.                 EditRA->Text=RA;
  41.                 EditDec->Text=DEC;
  42.         }
  43. }
  44. //---------------------------------------------------------------------------
  45. //              Méthode de recherche
  46. //---------------------------------------------------------------------------
  47. void TForm1::rechercheFichtxt ()
  48. {
  49.         ifstream entreeFichierClient("messieressai.txt",ios::in);
  50.         if (!entreeFichierClient)
  51.         {
  52.                   Application->MessageBox("Ouverture du fichier impossible", "Warning" );
  53.         }
  54.         char Nom[12], RA[14], DEC[14], M1[8], M2[8], M3[8], M4[8], M5[8], M6[8] ;
  55.         while (entreeFichierClient>>Nom>>RA>>DEC>>M1>>M2>>M3>>M4>>M5>>M6)
  56.         sortieLigne (Nom, RA, DEC, M1, M2, M3, M4, M5 ,M6);
  57. }


Message édité par lomat62 le 12-04-2006 à 11:07:40

---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 11:02:49    

donc pour l'instant je sais afficher ds ma liste box tout les nom de objet qui sont ds le fichier texte et maintenan il me reste a faire:
 
lorsqu'on selectionne un objet dans la listbox afficher les coordonnée de l'objet ds les case ASC et DEC du programme


---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 11:03:14    

Reply

Marsh Posté le 12-04-2006 à 11:08:00    

dsl g modifier


---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 11:08:21    

Le mieux serait de
- utiliser des string plutot que des char[]; les char*, c'est pas du c++.
- Créer des objets CInfos, qui regoupe le nom, le MX, les coordonnées.
- A la lecture du fichier, tu crée un vector de ces objets
- quand tu cliques sur un MX, tu recherche l'objet correspondant dans le vector
- et tu renseignes tes textbox.

Reply

Marsh Posté le 12-04-2006 à 11:08:21   

Reply

Marsh Posté le 12-04-2006 à 11:26:19    

je vien de changer tout mes const char * en string comme tu me la conseillé. mais après je ne comprend pas ou trouver les objet cInfo et ce que je doit en faire exactement  :pt1cable:


---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 11:29:09    

mais je vien de faire des test et en modifiant un test le programme fonctionne ;) Merci :d :d :d :d :d


Message édité par lomat62 le 12-04-2006 à 11:29:31

---------------
MATT ;)
Reply

Marsh Posté le 12-04-2006 à 11:32:32    

CInfo doit être un objet perso.


Message édité par _darkalt3_ le 12-04-2006 à 11:32:45
Reply

Marsh Posté le 28-04-2006 à 10:33:45    

sinon le mieu c'est que tu balance ta reponse ici, ca pourrais en intéresser certain !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed