CONVERSION ASCII VERS ANSI ET VICE VERSA

cs_Multiprise Messages postés 63 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 23 avril 2013 - 27 nov. 2012 à 15:11
cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 25 juillet 2014 - 27 nov. 2012 à 16:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54763-conversion-ascii-vers-ansi-et-vice-versa

cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 25 juillet 2014
27 nov. 2012 à 16:29
C'est une bonne idée, il est vrai que j'ai toujours tendance à ouvrir les fichiers textes en Input.
cs_Multiprise Messages postés 63 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 23 avril 2013
27 nov. 2012 à 15:13
if fallait lire
'ouverture du fichier en mode binaire
Open Text3.Text For Binary Access Read As #ican
et non
'ouverture du fichier en mode binaire
Open Text3.Text For Binary Access Read As #1
cs_Multiprise Messages postés 63 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 23 avril 2013
27 nov. 2012 à 15:11
Le transfert des données lors du chargement d'un fichier ouvert en format texte (input)peut être très long en fonction de sa taille. Une méthode beaucoups plus rapide existe. Elle consiste à ouvir le fichier en mode binaire. Pour info et sans prétention, j'ai modifié le code comme ceci:

Private Sub Command2_Click()
Dim sBuff As String
Dim iCan As Integer
'
On Error Resume Next
'
FteFic = False
Text3.Text = GetOpenFile(Me.hWnd)
If Dir(Text3.Text) = "" Then
MsgBox "Ficher inexistant"
FteFic = True
Exit Sub
Else
Text1.Text = ""
Text2.Text = ""
Text4.Text = ""
If Text3.Text = "" Then
Text3.SetFocus
Exit Sub
End If
'init des erreurs
err.clear
'ouverture d'un canal
iCan = FreeFile
'ouverture du fichier en mode binaire
Open Text3.Text For Binary Access Read As #1
If Err.Number = 0 Then
'creation d'une chaine vide de la taille des données du fichier
sBuff = String(LOF(iCan), Chr(32))
'transfert des données du fichier dans la variable temporaire (depuis le premier octet)
Get #iCan, 1, sBuff
'fermeture du fichier
Close #iCan
'transfert des données de la variable temporaire dans la zone de texte
Text1.Text = sBuff
else
'Ajouter le code de gestion d'erreur (par exemple)
msgbox "Erreur: " & err.number & "/" & err.description
'ini des erreurs
err.clear
End If
End If
End Sub
Rejoignez-nous