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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

[VC++][MFC] Fichier/Affichage (pour débutants)

n°1168210
d_imane
Posté le 02-08-2005 à 19:08:51  profilanswer
 

Reprise du message précédent :
Je suis dans un contexte multithreadé,par contre ca veux dire quoi Design Patterns??

mood
Publicité
Posté le 02-08-2005 à 19:08:51  profilanswer
 

n°1168464
slash33
Posté le 03-08-2005 à 09:00:30  profilanswer
 

Fait une rechercher Google sur "Design Pattern". Il a largement assez de ressources comme ça. Le patern Singleton c'est loin d'être le plus compliqué ;)

n°1168585
d_imane
Posté le 03-08-2005 à 10:54:35  profilanswer
 

:cry: ok, je vais chercher dans ce sens.

n°1170724
d_imane
Posté le 05-08-2005 à 14:54:01  profilanswer
 

slash33 a écrit :

Ah ça y est pour les tabulations, j'ai trouvé (je savais bien qu'il y avait quelque chose):
 

Code :
  1. void SetTabStops( );
  2. BOOL SetTabStops(
  3.    const int& cxEachStop
  4. );
  5. BOOL SetTabStops(
  6.    int nTabStops,
  7.    LPINT rgTabStops
  8. );


http://msdn.microsoft.com/library/ [...] istBox.asp


 :bounce: pour l'affichage avec tabulation,je l'ai implémenté d'une maniére simple;)  

Code :
  1. int tab_stop[2] = {100, 200};
  2. VERIFY(m_listbox.SetTabStops(2, tab_stop));
  3. m_listbox.AddString("String1\tString2\tString3" );


 :) mais avant tous il faut coché l'option use tab stop sur le contrôle dans l'éditeur de ressources

n°1170744
slash33
Posté le 05-08-2005 à 15:23:49  profilanswer
 

Bien mais pourquoi le VERIFY?

n°1170752
d_imane
Posté le 05-08-2005 à 15:30:45  profilanswer
 

je crois ca c pour définir, plusieur tabulation, je ne suis pas sur.

n°1170761
slash33
Posté le 05-08-2005 à 15:39:26  profilanswer
 

Non tu n'as pas compris la question:
 
Le VERIFY fait une assertion y compris en release (pour la version debug uniquement utiliser ASSERT)
La ligne m_listbox.SetTabStops(2, tab_stop) permet de définir les tabulations.
Mais le VERIFY est dangereux voir franchement inutile.
 
Donc je réitère ma question: à quoi sert le VERIFY?

n°1170765
d_imane
Posté le 05-08-2005 à 15:41:45  profilanswer
 

pouquoi c dan gereux le VERIFY?

n°1170770
slash33
Posté le 05-08-2005 à 15:46:09  profilanswer
 

As tu vraiment envie de voir apparaître une boite de dialogue de la part de Windows si SetTabStop return FALSE?
 
D'ailleurs, je n'ai pas lu la doc, mais dans quel cas de figure SetTabStop retourne FALSE et est-ce vraiment si grave si ça arrive?
 
N'utilise ASSERT et VERIFY que pour faire des assertions justement c'est à dire vérifier que quelque chose est bien conforme à tes attentes. J'évite d'utiliser VERIFY, je ne vois pas du tout l'intérêt. ASSERT est pratique pour un meilleur contrôle dans tes méthodes.

n°1170786
d_imane
Posté le 05-08-2005 à 15:57:56  profilanswer
 

le VERIFY aide un peu dans la detection de fautes pas mal de fois j'ai eu des messages d'erreurs (assertion) avant de tomber sur la bonne réponse.

Citation :

As tu vraiment envie de voir apparaître une boite de dialogue de la part de Windows si SetTabStop return FALSE?

:non:

mood
Publicité
Posté le 05-08-2005 à 15:57:56  profilanswer
 

n°1170806
slash33
Posté le 05-08-2005 à 16:10:36  profilanswer
 

En quel honneur le smilie?
 
Je te conseille de tester ton programme en DEBUG (flag _DEBUG défini quoi) avec les ASSERT. Franchement quel est l'intérêt qu'un programme RELEASE (sans le flag _DEBUG - version d'exploitation en clientèle) te ponde une interface inutilisable?

n°1170817
d_imane
Posté le 05-08-2005 à 16:15:25  profilanswer
 

non le smilie, juste pour te dire je n'ai pas envie de voir apparaitre une boite de dialog de part de Win..enfin pour répondre à ta question(je n'ai pas trouver un smilie qui dit non en souriant).
mais moi je travaille en DEBUG.


Message édité par d_imane le 05-08-2005 à 16:23:49
n°1170820
d_imane
Posté le 05-08-2005 à 16:19:49  profilanswer
 

j'ai vu apparaitre une boite de dialog de la part de windows en executant le code c'était en faite une assertion à cause la cauche usetabstops, je crois c'est dans ce cas de figure ou SetTabStop return False

n°1170827
slash33
Posté le 05-08-2005 à 16:28:49  profilanswer
 

Heu tu as lu ma descrition de VERIFY et ASSERT???
 
Mais pourquoi diable veux-tu vérifier que l'exécution de SetTabStop se passe bien et y compris dans la version en clientèle?! Pour tes vérifications, préfère ASSERT.
 
Pour un usage judicieux des assertions, lit ceci:
http://smeric.developpez.com/java/astuces/assertions/
Désolé le code est en Java mais l'essentiel y est.


Message édité par slash33 le 05-08-2005 à 16:33:08
n°1170851
d_imane
Posté le 05-08-2005 à 16:50:41  profilanswer
 

:) Merci pour la référence

n°1187336
d_imane
Posté le 29-08-2005 à 18:45:12  profilanswer
 

:hello: coucou,
je continue toujours sur le meme sujet,
est ce qu'il y a possibilité d'ecrire sur le Static Text avec un caractére différent de celui définit par défaut,
l'objectif :ecrire par exemple un sous titre de format et couleur différent du text standard.
 :jap: Merci d'avance

n°1188107
slash33
Posté le 30-08-2005 à 18:30:27  profilanswer
 

A moins de réécrire le WM_PAINT non je ne crois pas.
 
Pourquoi tu ne fais pas appel à CRichEdit?  :o  
 
Tu peux peut-être créer une police perso puis l'affecter au CStatic via SetFont(). Je suppose que la police sera prise en compte correctement mais pour la couleur nada et la police s'applique à l'ensemble du texte dans le contrôle.  :heink:  
 
Non CRichEdit me paraît une bien meilleure solution (faudra p't être désactiver la saisie)  :sol:
 
Fait un tour sur les sites spécialisés comme www.codeproject.com
il existe peut-être des solutions "clé en main"...


Message édité par slash33 le 30-08-2005 à 18:36:20
n°1188697
d_imane
Posté le 31-08-2005 à 15:10:43  profilanswer
 

J'ai pensé autrement: écrire le titre dans Word, le transformé en une image puis faire applelle à cette image dans mon interface, mais cela apparait trés long.
le CRichEdit résoud bien le problléme c'est une bonne idée Merci.. ;)  

n°1200268
d_imane
Posté le 15-09-2005 à 12:01:30  profilanswer
 

:hello: Bonjour,
Est ce qu'il y a l'equivalent du End of File dans le VC++?
je cherche à lire un fichier txt sachant que je ne connais pas à l'avance la taille de mon fichier, au début j'ai prévu une taille fixe pour les données à lire; comme suit:

Code :
  1. void vecteur::readvecteur()
  2. {
  3. float value;
  4. ifstream Al;
  5. Al.open("fich.txt" );
  6. while (i <(dim) )
  7. {Al >> value;}
  8. Al.close();
  9. }


mais mon objectif maintenant et de lire toutes les données du fichier et de retourner eventuellement la taille des données lu??
 :jap: Merci pour toute proposition


Message édité par d_imane le 15-09-2005 à 12:04:58
n°1200509
Rits75
to?be:!be
Posté le 15-09-2005 à 15:31:38  profilanswer
 

double value;
string line;
while(getline(Al, line))  
  value =  strtod(line,NULL);

n°1200562
d_imane
Posté le 15-09-2005 à 16:30:58  profilanswer
 

cela me génére une erreur: error C2065: 'getline' : undeclared identifier
j'utilise les biblio

Code :
  1. #include<cstdio>
  2. #include<cmath>
  3. #include<iostream>
  4. #include<ctime>
  5. #include<conio.h>
  6. #include<cstring>
  7. #include<stdlib.h>
  8. #include <fstream>
  9. #include<vector>


est ce un probléme de biblio?

n°1200740
Rits75
to?be:!be
Posté le 15-09-2005 à 22:32:34  profilanswer
 

compile sous VS7 et gcc pour moi

Code :
  1. #include <string>
  2. #include <iostream>
  3. #include <fstream>
  4. using namespace std;
  5. int main(int argc, char *argv[])
  6. {
  7.     double value;
  8.     string line;
  9.     ifstream Al;
  10.     Al.open("Al.txt" );
  11.     while (getline(Al,line))
  12.     {
  13.         value = strtod(line.c_str(), NULL);
  14.         cout << value <<  endl;
  15.     }
  16.     Al.close();
  17.  return 0;
  18. }


 
essai d'ajouter #include <string>
en l'enlevant sous VS j'ai eu la meme erreur que toi, mais pas sous gcc.


Message édité par Rits75 le 15-09-2005 à 22:33:12
n°1201161
slash33
Posté le 16-09-2005 à 15:36:53  profilanswer
 

Bonjour d_imane.
 
Tu n'utilises plus les MFC?
 
En MFC tu peux utiliser CStdioFile. Il gère comme un grand la taille du fichier... mais c'est pas du "vrai" C++. Je viens tout juste d'écrire un parser texte multi-formats avec.
 
Je sais pas si ton problème vient de là mais tu mélanges bibliothèques C (celles qui ont l'extension .h) et bibliothèques C++ (sans le .h). Ces dernières sont définies dans le namespace std.


Message édité par slash33 le 16-09-2005 à 15:42:26
n°1201198
d_imane
Posté le 16-09-2005 à 16:20:10  profilanswer
 

:hello: Salut slash33,
Je travaille toujour en MFC.  
Tu as raison je mélange un peu les biblio, sinon j'ai trouvé une solution plus simple:

Code :
  1. ifstream Al;
  2. Al.open(fichier);
  3. while (Al)
  4. {
  5.    Al>>vect[cp].x;
  6.    Al>>vect[cp].y;
  7.    cp++;
  8. }
  9. Al.close();
  10. }


j'ai essayé ca sur la console et ça marche trés bien,j'ai pas encore tester ça en MFC mais je pense que ca ne posera pas de prolèmes, à part ça la proposition de ritz75 aprés la rectification de la biblio marche aussi.


Message édité par d_imane le 16-09-2005 à 16:24:36
n°1201207
slash33
Posté le 16-09-2005 à 16:31:47  profilanswer
 

Il se passe quoi si tu atteinds la fin du fichier à l'instruction Al>>vect[cp].y?

n°1201357
d_imane
Posté le 16-09-2005 à 20:22:07  profilanswer
 

c'est une trés bonne remarque , j'ai pas pensé à ça, mais je pense que la fin du fichier c'est la fin du flux de données non??

n°1201772
slash33
Posté le 18-09-2005 à 11:41:43  profilanswer
 

à priori une exception doit être générée non?

n°1201890
d_imane
Posté le 18-09-2005 à 18:11:33  profilanswer
 

ce que j'ai remarqué ce qu'il s'arrete parfois à l'avant derniére valeur?? je ne comprend tjs pas why!!

n°1204931
slash33
Posté le 22-09-2005 à 11:46:55  profilanswer
 

comment ça "il s'arrête"?

n°1207001
d_imane
Posté le 25-09-2005 à 17:13:37  profilanswer
 

ah, je m'execuse c'était un mauvais exemple!!

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Visual C++/MFC] Femeture boite de dialogueprob acces membres de classes pour fichier inclus en path absolu
[Visual C++/MFC] Onglets[Visual C++/MFC] Creation dynamique
[JavaScript]ouvrir un fichier texte [Fixed]Probleme de modification dans un fichier!
fichier pkg....comment s'en servir?[Pear::Spreadsheet] Fichier non créé
Date et heure en nom de fichierComment lire un fichier en mode binaire octet par octet ?
Plus de sujets relatifs à : [VC++][MFC] Fichier/Affichage (pour débutants)


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