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 :

C# - Windows Mobile 5.0 - Transfert fichiers


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Par défaut C# - Windows Mobile 5.0 - Transfert fichiers
    Bonjour,

    J'étudiie une application sous visual studio 2008 en c# sur windows Mobile 5.0 .
    Cette application permettrait :

    . D'avoir un écran de saisie avec quelque champs texte ( ex : textBox.Text )

    . Enverrait lors d'un clic sur un boutton les champs saisis sous la forme d'un fichier texte ( communication pda - pc ActiveSync via cable usb ) .

    . Exécuterait une application ( *.bat ) qui lancerait un autre programme traitant les données ainsi transférées


    . Pour écrire le fichier texte sur le pda ok pas de soucis avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String chemin = @"file.txt";
    StreamWriter monStreamWriter = new StreamWriter(chemin);
    String chaineSortie =   textBox1.Text;
    monStreamWriter.WriteLine(chaineSortie);
    monStreamWriter.Close();
    . Mais pour écrire sur l'ordinateur auquel est relié par activesync le pda , je ne trouve pas un moyen d'écrire, par quel moyen faudrait il le faire ( moyen essayé ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String chemin = @"\\ip.poste\temp\file.txt";
    StreamWriter monStreamWriter = new StreamWriter(chemin);
    String chaineSortie =   textBox1.Text;
    monStreamWriter.WriteLine(chaineSortie);
    monStreamWriter.Close();
    Sur le poste en question le dossier c:\temp a été partagé et accessible à tous en lecture\écriture .
    Je voudrai écrire par chemin unc ( \\serveur\répertoire partagé\ )
    Une exception ( en catch ) se produit
    System.IO.IOException, en débug ayant un HResult -2146232800
    Erreur :

    at System.IO.__Error.WinIOError(Int32 errorCode, String str)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
    at System.IO.StreamWriter.CreateFile(String path, Boolean append)
    at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
    at System.IO.StreamWriter..ctor(String path)
    at SmartDeviceProject1.sortie.button3_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
    at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
    at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
    at System.Windows.Forms.Application.Run(Form fm)
    at SmartDeviceProject1.Program.Main()
    Tout ce qui m'importe serait de pouvoir transférer ce fichier du pda vers le pc vers lequel il est connecté via activeSync .

    J'ai essayé également avec des :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String chemin = @"\\ip.poste\temp\file.txt";
    System.IO.FileStream fs = new System.IO.FileStream(chemin, System.IO.FileMode.Append);
    System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
    sw.WriteLine(chaineSortie);
    sw.Flush();
    sw.Close();
    fs.Close();
    Mais c'est la même chose .

    Quelqu'un aurait il déjà été confronté à ce problème ?



    . De plus comment lancer un .bat situé dans un répertoire précis sur le poste où est connecté le pda via ActiveSync ?

    Merci .

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Personellement je fais l'inverse !
    Depuis le PC je vais chercher les fichiers dans le device avec une Librairie OpentNETCF que j'ai touvé

    Sinon je passe par une DB sur un serveur et connexion WIFI

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Par défaut
    Après avoir suivi le conseil d'Olibara, j'ai écrit un mini programme en c# tournant sur pc qui utilise la librairie OpenNetCfc

    ( télécharger le projet, compiler la dll, l'inclure dans les références )

    J'arrive à :
    . communiquer avec le Pda ( méthodes de RAPI )
    . récupérer le fichier du pda
    . Lancer un programme autre après transfer


    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
    using OpenNETCF.Desktop.Communication;
    using System.Diagnostics;
    ..
     
    OpenNETCF.Desktop.Communication.RAPI myrapi;
    myrapi = new RAPI();
    // verifie que le pda est présent
    while (!myrapi.DevicePresent)
    {
    	// verifie que le pda est bien connecté
    	myrapi.Connect();
    }
    // verifie que le fichier file.txt esxiste bien a la racine du pda
    if (myrapi.DeviceFileExists(@"file.txt"))
    {
    	// copie fichier "file.txt" de la racine du pda vers c:\temp\file.txt sur le pc
    	myrapi.CopyFileFromDevice(@"c:\temp\file.txt", @"file.txt", true);
    	// lance programme sur le pc apres transfer
    	Process P = Process.Start("c:\temp\ProgaLancer.exe");
    }
    Le problème est que voudrais déclencher cette action en cliquant sur un bouton d'une application ( form ) sur le pda et je ne sais pas trop comment m'y prendre .

    Auriez vous quelque pistes ?
    ( je débute en programmation )

    Merci

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2013
    Messages : 39
    Par défaut
    Bonjour
    tu dis " télécharger le projet, compiler la dll, l'inclure dans les références "
    Pourrais tu expliquer les étapes stp ??

    Edit : Désolée por le déterrage. J'ai trouvé ma solution.

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/01/2012, 21h24
  2. Information sur les Fichiers XML et VB pour Windows Mobile
    Par QAYS dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 30/12/2010, 23h30
  3. Réponses: 2
    Dernier message: 01/12/2009, 10h30
  4. Réponses: 0
    Dernier message: 05/08/2009, 04h51
  5. Recherche des fichiers .dll de windows mobile
    Par amamine dans le forum Windows
    Réponses: 0
    Dernier message: 15/05/2009, 15h15

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