Ouverture de fichiers

Spoolega Messages postés 65 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 27 février 2011 - 26 janv. 2007 à 20:04
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 26 janv. 2007 à 21:57
Bonjour,

Je dois réaliser un projet: "Transfert de fichiers via le port série", et donc, tout naturellement je dois "ouvrir" le fichier pour l'envoyer octet par octet.
Je sais qu'il existe plusieurs types d'ouvertures d'un fichier, et mon problème est le suivant: Quel mode d'ouverture dois je choisir ?"
Je me pose cette question parce que mon programme devra envoyer tous types de fichiers, des .txt, des .exe, bref de tout.
J'arrive a transférer du texte (.txt) mais pour l'instant les .exe sont cassés (j'ouvre en binary), alors est ce possible ? Ou est ce que le code est mauvais ? (pour envoyer)

Dim octet as String * 1

NumeroFichier = FreeFile


Open Text1.Text For Binary As NumeroFichier

i = 1


While Not EOF(NumeroFichier)
    Get NumeroFichier, i, octet
    SENDBYTE (Asc(octet))   
    i = i + 1
Wend


Close NumeroFichier

2 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 janv. 2007 à 21:27
Le mode binary est me semble-t-il le mieux adapté pour ton utilisation.

Par contre si tu utilise vb6 et le controle MsComm coté reception, cérifie d'avoir bien positionné la propriété .InpuMode du controle MsComm sur 1 (comInputModeBinary), ton problème vient peut-etre de là.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
26 janv. 2007 à 21:57
Petite optimisation :

Dim Octet as Byte
NumeroFichier = FreeFile
Open Text1.Text For Binary As NumeroFichier
Do Until EOF(NumeroFichier)
    Get NumeroFichier, , Octet
    SENDBYTE Octet
Loop
Close NumeroFichier

@+

E.B.
0
Rejoignez-nous