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

  FORUM HardWare.fr
  Programmation

  [help]objet CFile en VC++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[help]objet CFile en VC++

n°95626
Acidman
no comment
Posté le 01-02-2002 à 09:11:43  profilanswer
 

quelqu'un aurait une idée d'une boucle qui irait lire dans un ficher et qui stockerait le contenu du fichier dans un buffer jusu'a ce que je rencontre la pair de caractere CR LF
En faite j'ai besoin de stocker ligne par ligne

mood
Publicité
Posté le 01-02-2002 à 09:11:43  profilanswer
 

n°95660
H4dd3R
Q2
Posté le 01-02-2002 à 10:30:55  profilanswer
 

Moi je chargerais tt le fichier en mémoire, puis je chercherais après CR LF.. :)


---------------
Athlon64 s754 10*200MHz - R9800Pro - 512MB DDR200MHz - ZX6RR - Q2[SupOp] - Tutorial Video: multilangues, multisstitres
n°95666
El_gringo
Posté le 01-02-2002 à 10:35:59  profilanswer
 

H4dd3R a écrit a écrit :

Moi je chargerais tt le fichier en mémoire, puis je chercherais après CR LF.. :)  




 
Pas moi !
La boucle est pas très compliquée à faire...

n°95670
Acidman
no comment
Posté le 01-02-2002 à 10:52:32  profilanswer
 

voila ce que je fais pour l'instant:
//boucle de lecture du fichier
int nblu =0;
COleVariant rec;
CString convert;
while(nblu=FileOut.Read(buff,sizeof(buff)))
{
 rec.byref=buff;
 convert.Format("nb rec: %s",rec);
 AfxMessageBox(convert);
 
 if(nblu<sizeof(buff))
 {
  break;
 }
   
}
FileOut.Close();
 
j'utilise un variant car en faite je developpe un conduit c.a.d
je lit un fichier texte je recupere le contenu et je l'ecris
dans une base de données sur palmOS
pour ecrire dedans je dois utiliser les variant
pour l'instant la boucle marche a part que je n'ecris pas encore  
dans la base de mon palm

n°95675
Acidman
no comment
Posté le 01-02-2002 à 11:02:46  profilanswer
 

bon enfaite pour mon variant je veux l'affiché dans  
un message box
mais ca merde
a cause de format qui n'est pas approprié je pense

n°95683
la viper
Posté le 01-02-2002 à 11:24:26  profilanswer
 

utilise CStdioFile...
 
y'a une methode que tu cherches..
 
CStdioFile File;
File.open(...)
 
CString str = File.WriteString(); lit la ligne où se situe le buffer jusqu'à un CRLF.
 
File.close();

n°95691
Acidman
no comment
Posté le 01-02-2002 à 11:40:30  profilanswer
 

En faite je n'ai pas a utiliser writestring car je n'ai pas besoin d'ecrire dans un fichier je dois lire dans un fichier
recuperer ligne par ligne le contenu du fichier(donc la fin d'une ligne c'est CR LF)
et ensuite chaque ligne recuperer je l'ecris dans un enregistrement d'une base de données sur palm
Donc pour ecrire dans la base du palm j'utilise les API pour  
ca.
ex:
//sfDB34 est objet de l'API que j'utilse
//la j'ajoute un enregistrement dans la table
sfDB34.AddNewRecord();
//je me positionne a cette enregistrement.C le dernier car il est
//créer a la fin de ma table
sfDB34.MoveLast();
//et la je met la valeur dans mon enregistrment
//"ID" c'est le nom du champ rec est un objet COleVariant
sfDB34.SetItem("ID", (COleVariant) rec);
//enfin l'ecriture
dataManager.WriteDBtoClient(sfDB34,false,"" );
 
donc la seul que j'ai besoin c de m'aider sur une boucle de lecture de fichier ou je recupere chaque ligne que je stocke dans
un objet COleVariant
 :eek2:

n°95699
El_gringo
Posté le 01-02-2002 à 11:55:02  profilanswer
 

acidman a écrit a écrit :

En faite je n'ai pas a utiliser writestring car je n'ai pas besoin d'ecrire dans un fichier je dois lire dans un fichier
recuperer ligne par ligne le contenu du fichier(donc la fin d'une ligne c'est CR LF)
et ensuite chaque ligne recuperer je l'ecris dans un enregistrement d'une base de données sur palm
Donc pour ecrire dans la base du palm j'utilise les API pour  
ca.
ex:
//sfDB34 est objet de l'API que j'utilse
//la j'ajoute un enregistrement dans la table
sfDB34.AddNewRecord();
//je me positionne a cette enregistrement.C le dernier car il est
//créer a la fin de ma table
sfDB34.MoveLast();
//et la je met la valeur dans mon enregistrment
//"ID" c'est le nom du champ rec est un objet COleVariant
sfDB34.SetItem("ID", (COleVariant) rec);
//enfin l'ecriture
dataManager.WriteDBtoClient(sfDB34,false,"" );
 
donc la seul que j'ai besoin c de m'aider sur une boucle de lecture de fichier ou je recupere chaque ligne que je stocke dans
un objet COleVariant
 :eek2:  




 
hé bah, t'as essayé au moins le ReadString de CStdioFile ?

n°95701
la viper
Posté le 01-02-2002 à 11:59:48  profilanswer
 

bah ReadString() alors ;)
c'est moi qui me suis trompé tout à l'heure
 
en gros
 
CStdioFile file;
COleVariant var;
CString str;
 
file.open(..);
 
while(!feof(file.m_pStream))
{
 file.ReadString(str);
 var.SetString(str,VT_BSTR);
}
file.close();

n°95704
Acidman
no comment
Posté le 01-02-2002 à 12:05:05  profilanswer
 

non j'ai pas teste encore
pour l'instant par rapport a la boucle que je fait
je voudrais savoir si mon variant recupere bien la chaine
mais je n'arrive pas a afficher la chaine contenu dans le variant
 
Apres seulement je testerait avec la classe CStdioFile

mood
Publicité
Posté le 01-02-2002 à 12:05:05  profilanswer
 

n°95705
Acidman
no comment
Posté le 01-02-2002 à 12:06:11  profilanswer
 

j'avais po vu ta reponse la viper
je v essayer de suite
merci

n°95710
Acidman
no comment
Posté le 01-02-2002 à 12:15:46  profilanswer
 

Je te remercie la Viper
le code que tu ma donner fonctionne trés bien
 :love:


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

  [help]objet CFile en VC++

 

Sujets relatifs
[ASP] Comment accéder à un objet d'une frame en VBscript ?[VC++] View -> variable globale help!
VB HELPVB plez help
[java] savoir de quel type d objet il sagis...help, problème de re-direction ?
[ASP] Pb avec l'objet FileSystemObject et les noms UNC[ Programmation Objet ] Classe pour interoger une BDD
[SQL Server 7/VB6] auto incrémentation dans un objet recordset[JavaScript] ça sert à koi xxxxxx.caretPos -> help me????
Plus de sujets relatifs à : [help]objet CFile en VC++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR