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

MFC Discussion :

[debutant] envoi de fichier


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [debutant] envoi de fichier
    voila j'arrive a envoyer des caractere par le port COM1 en utilisant ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void CTest3Dlg::OnBenvoyer() 
    {
    	// TODO: Add your control notification handler code here
    	char Mess[]="bonjour";
    	char *point;
    	point=Mess;
    	while(*point)
    	{
    	TransmitCommChar(hComm,*point);
    		point++;
    	}
    }
    maintenan jaimerai envoyer un fichier text que dois-je modifier


    Abelman

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Tu lis ton fichier dans un buffer (de taille 4096 par exemple) et tu transmet ton buffer avec ta méthode (je n'ai jamais utilisé le COM1 pour faire des transfert mais tu es sur qu'il n'y a pas mieux que de faire charactere par charactere).

    N'oublie pas de transmettre la taille et le nom avant pour pouvoir reconstituer ton fichier à l'arrivée.

    Et pense aux balises [code]
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    je sais qu'il faut utiliser des buffers mais je n'y arrive pas, jsuis pas tres douer en programmation mais merci kan meme

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char buffer = new char[4096];
    ofstream fo("MonFichier",ios::out); // ouverture du fichier
     
    while(!fo.eof()) {
         fo.read(buffer,4096);  // Lecture dans ton fichier
         {} //Envoie de buffer avec ta méthode
    }
     
    delete []buffer;
    Bon c'est tres simplifié la, je te laisse transmettre le nom et la taille et faire le test pour arreter l'envoi lors du dernier buffer si celui-ci n'est pas plein.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    note: tu as une chance sur deux pour que le fichier soit bon à l'arrivée.
    Tout dépend de la vitesse de transmission utilisée, de la longueur du câble .
    Attention aux normes de vitesse conseillées avec la longueur du câble
    De la gestion de flux utilisée : exemple xon/xoff est à proscrire.
    C’est pour ça qu’il existe des protocoles de transfert, le plus connu étant zmodem qui transmet par paquet avec calcul d’un CRC32 dessus , pour s’assurer que le paquet reçu est bien identique au paquet émis.
    En dehors de ça je considère que c’est du bricolage qui peut fonctionné ou mal tourner ….

  6. #6
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Est-ce que farscape ou quelqu'un d'autre connaitrait un site sur ZMODEM ? J'ai bien sur fait google, mais trop d'info tue l'info.


    L'idéal étant de trouver du code libre en C ou C++ pour gérer ce protocole.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut, après recherche dans google : ZMODEM C++
    trouvé :
    http://www.programmersheaven.com/zone3/cat409/16202.htm
    transfert en C .
    avec de l'huile de coude on doit pouvoir en faire une classe

  8. #8
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Merci beaucoup.

    Je ne met pas le Tag RESOLU car je ne suis pas à l'origine du message.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Je me permet de remonter ce sujet car j'ai un petit bug. En fait avec le code ci dessous je ne tranfert qu'1ko......
    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
     
    char *buffer = new char[1024];
    		FILE *fo=fopen("C:\\Photo.jpg","r"); // ouverture du fichier
     
    		while(!feof(fo)) {
    			try{
    				fread(buffer,1024,1,fo);  // Lecture dans ton fichier
    				iTermPtrEv->SendQ931Message(iTermPtrEv->GetActiveCallId(),buffer);
    				}
    			catch ( _com_error& excepti){
    				CString temp="";
    				temp+="ERROR Photo :";
    				temp+=(LPCTSTR) excepti.Description();
    				temp+=excepti.ErrorMessage();
    				MessageBox(NULL,temp,"Photo",MB_OK);
    			}
    		}
    Ca doit etre tout bete mais bon..... je trouve pas.

    PS: j'ai essayer avec ofstream mais en Visual ca a pas l'air de marcher

Discussions similaires

  1. [Debutant]Envoie de parametres a un autre fichier
    Par chleuh dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/01/2006, 19h30
  2. [debutant] concaténation de fichiers
    Par Spyco dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 13/07/2005, 10h52
  3. [C#] Envoi de fichier xml
    Par minnieBis dans le forum ASP.NET
    Réponses: 16
    Dernier message: 25/05/2004, 14h28
  4. [debutant]envoie de données
    Par miloux32 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 14/08/2003, 10h24
  5. [Socket]envoie de fichier!!!
    Par SamDaKap dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/11/2002, 08h07

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