IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Ecriture/Lecture d'un fichier binaire avec vector


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut Ecriture/Lecture d'un fichier binaire avec vector
    Bonsoir,
    je cherche d�sesp�r�ment � pouvoir �crire dans un fichier binaire (pour emp�cher une �dition trop simple)
    les informations d'une tilemap qui se trouvent dans un struct.

    Voici la structure:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    struct dataMap{
    	unsigned int mapX;
    	unsigned int mapY;
     
    	vector<vector<int>> dataTexture1;
    	vector<vector<int>> dataTexture2;
    	vector<vector<int>> dataCollision;
    	vector<vector<int>> dataEvent;
    };
    L'id�e c'est que puisse d�finir la largeur et la hauteur de ma carte puis de d�finir les donn�es de chaque tile
    dans un fichier texte. Cette �tape est faite et fonctionne. Maintenant je n'arrive pas �crire dans le fichier binaire
    toute les informations puisque j'ai des tableaux dynamiques et encore moins � lire le fichier pour retrouver mon
    dataMap.

    Merci d'avance !

  2. #2
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    Salut!
    Des vector de vector? Tu t'amuses bien toi!
    As-tu regard� du c�t� de Boost.Serialize pour ton probl�me?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    J'utilise un vector de vector pour les deux dimensions (�a va simplifier mon code par la suite). Oui j'ai regard� un peu la s�rialisation
    mais � vrai dire je n'es pas vraiment compris le principe et la syntaxe. Est-ce que la s�rialisation est la seul solution ?
    M�me si j'ai bien vu que l'utilisation de plusieurs vecteurs de vecteurs dans un m�me struct compliquait les choses ^^

  4. #4
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par d�faut
    Je ne suis pas s�r que d'avoir des vectors de vectors simplifie r�ellement ton code mais bon, il n'y a rien d'interdit!

    Quelles sont exactement les difficult�s que tu rencontres pour �crire dans le fichier binaire? Je ne vois pas de rapport imm�diat avec la question de l'allocation dynamique de la m�moire...

    Pour faire tr�s simple, je verrais le sch�ma suivant:

    - un en-t�te qui donnerait le nombre d'enregistrements,
    - chaque enregistrement commencerait par les 2*sizeof(size_t) octets contenant les dimensions du vecteur� � allouer,
    - puis viendraient les donn�es elles-m�mes.

    Pour copier un vecteur d'int, c'est assez facile: fs.write( (char*) vec.data(), vec.size()*sizeof(int) );Copier un vecteur de vecteurs, l�, c'est plus p�nible parce qu'il faut r�p�ter l'op�ration vec.size() fois.

    Pour la lecture, c'est � peu pr�s la m�me chose � l'envers, mais il ne faut pas oublier d'allouer d'abord de la m�moire dans le vecteur de destination: vec v(size); fs.read(vec.data(), size*sizeof(int));Attention � bien utiliser RVO / move semantic / emplace_back pour �viter de faire trop de copies de tes donn�es...

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    D�j�, oublie les vector de vector, c'est inutilement compliqu� contrairement � ce qu'on peut croire http://cpp.developpez.com/faq/cpp/?p...au-de-tableaux

    Citation Envoy� par herotom99 Voir le message
    Oui j'ai regard� un peu la s�rialisation
    mais � vrai dire je n'es pas vraiment compris le principe et la syntaxe. Est-ce que la s�rialisation est la seul solution ?
    Ben �crire dans un fichier �a s'appelle s�rialiser � vrai dire.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  6. #6
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Hum je veux bien utiliser des tableaux � deux dimensions classique mais le probl�me c'est que la taille de ma carte (XY)
    n'est d�fini que par l'utilisateur donc je n'es aucun moyen de conna�tre la taille de mon tableau pour la lecture du fichier :/

    Parce qu'au final, j'ai bien plusieurs tableaux dans un struct mais je dois pouvoir les d�clarer sans conna�tre leur taille final... (d'o� les vector).
    Donc d�j� �a pose un probl�me.

    Ensuite, imaginons que j'ai r�ussi � d�finir la taille des tableaux que je voulais. Lorsque je vais vouloir lire mon fichier binaire pour retrouver mes tableaux
    je ne vais pas pouvoir puisque la taille du tableau d�pend de l'utilisateur... C'est pour �a que j'avais mis appart la taille X et Y de ma map dans le struct.
    Sauf que lorsque je lis le fichier je lis toute la structure en m�me temps ! Donc je ne vois pas comment faire.

    Peut �tre faire deux fichiers avec l'un qui contient les tailles et un autres les valeurs ? mais c'est pas pratique ...

    mais sinon je suis bien d'accord qu'utiliser un vector de vector �a devient lourd :p

  7. #7
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par d�faut
    Utiliser des vectors c'est tr�s bien. Des vectors imbriqu�s, c'est moins bien. Il suffit d'une fonction pour transformer l'adressage 2D en adressage 1D.
    Boost::serialize permet de sauvegarder des vectors dans des archives sans grande difficult�.
    Sinon, et c'est ce que je te proposais, place en d�but d'enregistrement sur 2*sizeof(size_t) octets les dimensions du tabeau, avant les donn�es du vecteur elles-m�mes. Tu lis les dimensions, tu cr�es un vecteur de lignes*colonnes �l�ments pour r�server la m�moire et tu copies dedans les lignes*colonnes*sizeof(int) octets suivants du fichier.

  8. #8
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    stendhal666 t'a donn� la marche � suivre pour l'�criture et la r�cup�ration.
    Ensuite, personne n'a parl� d'utiliser des tableaux � 2 dimensions classiques, mais bien de remplacer tes vector< vector< truc > > par des vector< truc >
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  9. #9
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Oui c'est ce que je vais faire (tout mettre en un seul tableau et gr�ce a une fonction et aux dimensions XY ,obtenir un tableau deux dimensions).
    Mais l� je regarde surtout la s�rialization de vector. sauf que je n'arrive pas vraiment � comprendre comment cela fonctionne (avec boost)

  10. #10
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21

  11. #11
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Bon, apr�s avoir install�/build boost j'ai r��cris une partie du code. J'arrive � �crire dans le fichier
    (le fichier ne fait pas 0 KB mais 1 KB ) par contre lorsque j'essais de lire le fichier je ne retrouve
    pas les bonnes valeurs :/
    Je pr�cise que les valeurs rentr�es sont X = 50, Y = 50 et les tableaux sont remplis de 50*50 fois 1.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    58
    59
    60
    61
    struct dataMap{
    	unsigned int mapX;
    	unsigned int mapY;
     
    	vector<int> dataTexture1;
    	vector<int> dataTexture2;
    	vector<int> dataCollision;
    	vector<int> dataEvent;
     
    	template <typename Archive>
    	void serialize(Archive& ar, const unsigned int version)
    	{
    		ar & mapX;
    		ar & mapY;
    		ar & dataTexture1;
    		ar & dataTexture2;
    		ar & dataCollision;
    		ar & dataEvent;
    	}
    };
     
    ----------------------------------------------------------------------
     
    bool EcrireMap(dataMap map)
    //Ecrire les informations dans le fichier binaire///
    {
    	//Trouve le fichier dans lequel écrire
    	string NomMap;
    	cout << "Nom de la map: ";
    	cin >> NomMap;
    	NomMap = "Map/" + NomMap + ".bin";
     
    	//Ecriture
    	ofstream fichier(NomMap.c_str());
    	boost::archive::binary_oarchive ofichier(fichier);
    	ofichier << map;
     
    	return true;
    }
     
    ----------------------------------------------------------------------------
     
    void readMap()
    //Lire le fichier binaire ciblé//
    {
    	//Cherche le fichier//
    	string NomMap;
    	cout << "Nom de la map: ";
    	cin >> NomMap;
    	NomMap = "Map/" + NomMap + ".bin";
     
    	//Lis le fichier
    	dataMap MAP;
    	ifstream fichier(NomMap.c_str());
    	boost::archive::binary_iarchive ifichier(fichier);
    	ifichier >> MAP;
     
    	//Simple test du fichier lu//
    	cout << MAP.mapX << endl;
    	cout << MAP.mapY << endl;
    }
    Ce que j'obtiens apr�s la lecture:
    3435973836
    3435973836
    et pas mes deux 50.

  12. #12
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par d�faut
    On peut voir le code d'appel?

  13. #13
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    bool LoadFile(string filename,int X,int Y,vector<int> &dataTable)
    {
    	string pathfile = "MapFile/" + filename;
    	ifstream fichier;
    	fichier.open(pathfile,ios::beg);
    	if (fichier.is_open()) 
    	{
    		int nbVal = X*Y;
    		for (int i = 0; i < nbVal; i++)
    		{
    			vector<int> tableau;
    			int valeur;
    			fichier >> valeur;
    			dataTable.push_back(valeur);
    		}
    	}
    	else
    	{
    		return false;
    	}
    	fichier.close();
     
    	return true;
    }
     
    int GetInformation(dataMap &mapData)
    {
    	string dataTexture1File;
    	string dataTexture2File;
    	string dataCollisionFile;
    	string dataEventFile;
     
    	int m_mapX;
    	int m_mapY;
    	vector<int> m_dataTexture1;
    	vector<int> m_dataTexture2;
    	vector<int> m_dataCollision;
    	vector<int> m_dataEvent;
     
     
    	cout << "Largeur de la map: ";
    	cin >> m_mapX;
    	cout << endl;
    	if (m_mapX <= 0) return 1;
     
    	cout << "Hauteur de la map: ";
    	cin >> m_mapY;
    	cout << endl;
    	if (m_mapY <= 0) return 1;
     
    	//CHARGEMENT TEXTURE INFERIEUR//
    	cout << "Fichier de la texture inferieur: ";
    	cin >> dataTexture1File;
    	cout << endl << "Chargement du fichier ..." << endl;
    	if (LoadFile(dataTexture1File, m_mapX, m_mapY, m_dataTexture1))
    	{
    		cout << "Chargement du fichier reussi !" << endl << endl;
    	}
    	else 
    	{
    		return 2;
    	}
     
    	//CHARGEMENT TEXTURE SUPERIEUR//
    	cout << "Fichier de la texture superieur: ";
    	cin >> dataTexture2File;
    	cout << endl << "Chargement du fichier ..." << endl;
    	if (LoadFile(dataTexture2File, m_mapX, m_mapY, m_dataTexture2))
    	{
    		cout << "Chargement du fichier reussi !" << endl << endl;
    	}
    	else
    	{
    		return 2;
    	}
     
    	//CHARGEMENT COLLISION//
    	cout << "Fichier de collision: ";
    	cin >> dataCollisionFile;
    	cout << endl << "Chargement du fichier ..." << endl;
    	if (LoadFile(dataCollisionFile, m_mapX, m_mapY, m_dataCollision))
    	{
    		cout << "Chargement du fichier reussi !" << endl << endl;
    	}
    	else
    	{
    		return 2;
    	}
     
    	//CHARGEMENT EVENT//
    	cout << "Fichier des evenements: ";
    	cin >> dataEventFile;
    	cout << endl << "Chargement du fichier ..." << endl;
    	if (LoadFile(dataEventFile, m_mapX, m_mapY, m_dataEvent))
    	{
    		cout << "Chargement du fichier reussi !" << endl << endl;
    	}
    	else
    	{
    		return 2;
    	}
     
    	cout << "----------------------------------------------------" << endl;
    	cout << "TEXTURE INFERIEUR: " << dataTexture1File << endl;
    	cout << "TEXTURE SUPERIEUR: " << dataTexture2File << endl;
    	cout << "COLLISION: " << dataCollisionFile << endl;
    	cout << "EVENEMENT: " << dataEventFile << endl;
    	cout << "----------------------------------------------------" << endl << endl;
     
    	return 0;
    }
    Ne me tapez pas pour les copier/coller svp ;(
    Et sinon dans mon main() je cr�e juste un dataMap MAP auquel j'applique les informations GetInformation(MAP)

  14. #14
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par d�faut
    Euh... Il n'y a pas de s�rialisation, ni de fichier binaire dans ce code, on est d'accord?
    Je pensais que c'�tait l'objet de la discussion et que tu voulais savoir pourquoi tu n'obtenais pas les bonnes valeurs avec une archive Boost?

  15. #15
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Hum, si non ? mon commentaire un peu plus haut:
    C'est comment j'�cris en binaire avec la s�rialisation de boost.
    Mon dernier commentaire c'est le reste du code (comment je
    lis les valeurs d'un fichier texte simple).

    J'ai peur de ne pas bien comprendre

  16. #16
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Je viens de voir que lorsque je s�rialise mon fichier en text_oarchive j'obtiens la ligne suivante dans mon fichier:
    22 serialization::archive 14 0 0 3435973836 3435973836 0 0 0 0 0 0 0 0
    On retrouve bien mes valeurs �trange donc c'est bien lorsque j'�cris dans le fichier qu'il y a un probl�me.

  17. #17
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par d�faut
    D'accord, mais comme il y a plus de chances que le probl�me vienne de ton code que de boost, je voulais voir comment, � quel moment, avec quelles variables tu appelais la fonction de s�rialisation.
    Sans �a, je n'ai pas trop d'id�e de ce qui peut se passer...
    A part �a, joyeux No�l!

  18. #18
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    51
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 51
    Par d�faut
    Bon et bien en r�alit� tout fonctionnait bien. Le probl�me c'est que j'avais oubli� b�tement d'appliquer ma lecture (fonction loadMap) � mon struct dataMap. De ce fait
    les vectors et mes deux variables �taient vides. Lorsque je lisais la map cela m'affichait pas le contenu de la variable (puisqu'elle �tait vide) mais l'emplacement de ma
    m�moire allou�e ... Donc j'ai corrig� l'erreur et tout fonctionne parfaitement maintenant

    En revanche, chose � noter lorsque je s�rialiser en binary_oarchive, le fichier est deux fois plus lourd qu'en text_oarchive. Apr�s peut �tre que la lecture sera plus rapide
    je sais pas ^^ en tout cas il faut juste que le fichier ne soit pas �ditable facilement !

    Merci beaucoup pour votre aide, �a fait plaisir de voir autant de personne qui rendent service ! Joyeux no�l

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Lecture de fichiers binaire avec Get
    Par NVCfrm dans le forum Contribuez
    R�ponses: 0
    Dernier message: 26/07/2013, 03h42
  2. R�ponses: 5
    Dernier message: 05/08/2011, 11h36
  3. R�ponses: 4
    Dernier message: 25/05/2011, 15h38
  4. R�ponses: 2
    Dernier message: 01/03/2010, 12h50
  5. Lecture fichier binaire avec fLit
    Par kinouseb dans le forum WinDev
    R�ponses: 4
    Dernier message: 06/07/2007, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo