|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
ENREGISTRER LIRE ET MODIFIER/ÉCRIRE DANS UN FICHIER TEXTE AU FORMAT UNICODE
Information sur la source
Description
Ayant ramé pour trouver comment faire je vous offre cette petite source pour vous éviter de fastidieuses recherches... Pour gérer l'unicode sur une forme utilisez les contrôles de Bill Gates "Form 2.0" (FM20.DLL) voici la source pour ces contrôles : http://www.vbfrance.com/codes/UTILISER-CARACTERES-UNICODE-DANS-VB_23960.aspx
Source
- 'Version 1.1 réalisée avec Visual Basic 6.0
-
- 'Enregistrement du fichier texte au format unicode
-
- Dim FF As Integer
- FF = FreeFile 'Variable permettant de stocker un numéro de fichier libre
- Open "C:\VotreFichier.txt" For Append As #FF
- Print #FF, "ÿþ" 'les caractères ÿþ signale que l'on enregistre le fichier au format unicode
- Close #FF
-
- 'les caractères ÿþ n'apparaissent pas dans le fichier
- 'un saut de ligne est automatiquement créé lors de l'enregistrement il apparait sous la forme
- 'd'un carré
-
- 'Ecrire dans un fichier texte au format unicode
-
- Dim Chaine, Chaine2 As String
-
- SautDeLigne = StrConv(vbCrLf, vbUnicode) 'on prépare un saut de ligne en unicode
- Chaine = "Du texte"
- Chaine2 = "Un autre texte"
- 'On convertit les String en format unicode
- Chaine = StrConv(Chaine, vbUnicode)
- Chaine2 = StrConv(Chaine2, vbUnicode)
- Open "C:\VotreFichier.txt" For Append As #FF
- Print #FF, Chaine 'on écrit une String
- Print #FF, SautDeLigne 'On saute une ligne sinon on a un fichier écrit sur une seule ligne
- Print #FF, Chaine2 'on écrit une autre String
- Print #FF, SautDeLigne 'et on n'oublie pas de sauter une ligne
- Close #FF
-
- 'Il devrait y avoir un carré au début de chaque ligne du fichier
-
- 'Lire un fichier texte au format unicode
-
- Dim inter, Chaine, Chaine2 As String
- Open "C:\VotreFichier.txt" For Input As #FF
- Line Input #FF, inter 'On passe les caractères ÿþ
- Line Input #FF, inter 'On passe le saut de ligne qui est considéré comme une ligne
- Line Input #FF, Chaine 'On récupère une ligne
- Line Input #FF, inter 'On passe le saut de ligne qui est considéré comme une ligne
- Line Input #FF, Chaine2 'On récupère une ligne
- Close #FF
- 'Si les chaines récupérées contiennent des caractères spéciaux elles seront illisibles
- 'Il va falloir convertir uniquement les caractères spéciaux grace au code suivant
- Chaine = Convertisseur(Chaine)
- Chaine2 = Convertisseur(Chaine2)
-
- Private Function Convertisseur(ByVal Chaine As String) As String
-
- Dim Intermediaire, Intermediaire2, Intermediaire3 As String
- For i = 1 To Len(Chaine) 'boucle pour vérifier chaque caractère
- Intermediaire = Mid(Chaine, i, 1)
- If IsAlpha(Intermediaire) = True Then 'vérifie si le caractère est dans la table ascii
- Intermediaire2 = Intermediaire2 & Intermediaire 'si oui on ne convertit pas
- Else
- Intermediaire3 = StrConv(Intermediaire, vbFromUnicode) 'sinon on convertit depuis l'unicode ou autre selon vos besoins
- Intermediaire2 = Intermediaire2 & Intermediaire3
- End If
- Next i
- Convertisseur = Intermediaire2
-
- End Function
- Private Function IsAlpha(ByVal Caractere As String) As Boolean
-
- Dim Code As Integer
- On Error GoTo err
- Code = Asc(Caractere) 'récupère le code ascii du caractère
- If Code > 0 And Code < 256 Then 'si le code est compris entre 0 et 256
- IsAlpha = True 'alors c'est un caractère ascii
- Exit Function
- End If
- err:
- IsAlpha = False 'sinon ce n'est pas le cas
-
- End Function
'Version 1.1 réalisée avec Visual Basic 6.0
'Enregistrement du fichier texte au format unicode
Dim FF As Integer
FF = FreeFile 'Variable permettant de stocker un numéro de fichier libre
Open "C:\VotreFichier.txt" For Append As #FF
Print #FF, "ÿþ" 'les caractères ÿþ signale que l'on enregistre le fichier au format unicode
Close #FF
'les caractères ÿþ n'apparaissent pas dans le fichier
'un saut de ligne est automatiquement créé lors de l'enregistrement il apparait sous la forme
'd'un carré
'Ecrire dans un fichier texte au format unicode
Dim Chaine, Chaine2 As String
SautDeLigne = StrConv(vbCrLf, vbUnicode) 'on prépare un saut de ligne en unicode
Chaine = "Du texte"
Chaine2 = "Un autre texte"
'On convertit les String en format unicode
Chaine = StrConv(Chaine, vbUnicode)
Chaine2 = StrConv(Chaine2, vbUnicode)
Open "C:\VotreFichier.txt" For Append As #FF
Print #FF, Chaine 'on écrit une String
Print #FF, SautDeLigne 'On saute une ligne sinon on a un fichier écrit sur une seule ligne
Print #FF, Chaine2 'on écrit une autre String
Print #FF, SautDeLigne 'et on n'oublie pas de sauter une ligne
Close #FF
'Il devrait y avoir un carré au début de chaque ligne du fichier
'Lire un fichier texte au format unicode
Dim inter, Chaine, Chaine2 As String
Open "C:\VotreFichier.txt" For Input As #FF
Line Input #FF, inter 'On passe les caractères ÿþ
Line Input #FF, inter 'On passe le saut de ligne qui est considéré comme une ligne
Line Input #FF, Chaine 'On récupère une ligne
Line Input #FF, inter 'On passe le saut de ligne qui est considéré comme une ligne
Line Input #FF, Chaine2 'On récupère une ligne
Close #FF
'Si les chaines récupérées contiennent des caractères spéciaux elles seront illisibles
'Il va falloir convertir uniquement les caractères spéciaux grace au code suivant
Chaine = Convertisseur(Chaine)
Chaine2 = Convertisseur(Chaine2)
Private Function Convertisseur(ByVal Chaine As String) As String
Dim Intermediaire, Intermediaire2, Intermediaire3 As String
For i = 1 To Len(Chaine) 'boucle pour vérifier chaque caractère
Intermediaire = Mid(Chaine, i, 1)
If IsAlpha(Intermediaire) = True Then 'vérifie si le caractère est dans la table ascii
Intermediaire2 = Intermediaire2 & Intermediaire 'si oui on ne convertit pas
Else
Intermediaire3 = StrConv(Intermediaire, vbFromUnicode) 'sinon on convertit depuis l'unicode ou autre selon vos besoins
Intermediaire2 = Intermediaire2 & Intermediaire3
End If
Next i
Convertisseur = Intermediaire2
End Function
Private Function IsAlpha(ByVal Caractere As String) As Boolean
Dim Code As Integer
On Error GoTo err
Code = Asc(Caractere) 'récupère le code ascii du caractère
If Code > 0 And Code < 256 Then 'si le code est compris entre 0 et 256
IsAlpha = True 'alors c'est un caractère ascii
Exit Function
End If
err:
IsAlpha = False 'sinon ce n'est pas le cas
End Function
Conclusion
Voilà j'espère que cette source vous sera utile. Si vous trouve des bugs ou des erreurs faites m'en part! Votre dévoué IceTdrinker ;)
Historique
- 27 août 2008 12:02:58 :
- Des caractères spéciaux s'affichaient mal, ils ont été supprimés.
- 28 août 2008 04:29:26 :
- Je ne peux pas déclaré un saut de ligne en unicode en constante à cause de l'appel de fonction... Je chercherai pour y remédier.
- 28 août 2008 08:02:23 :
- Utilisation de la variable FF pour les numéros de fichier implémentée automatiquement grâce à la fonction FreeFile.
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
COMMENT ENREGISTRER UN FICHIER TEXTE SOUS LE FORMAT DE CODAGE UNICODE?? [ par barth707 ]
Voila , j'écris dans un fichier texte et j'aimerais l'enregistrer sous un format d'encodage unicode. C à dire comme si on faisait enregistrer sous ave
Enregistrer fichier texte Unicode [ par aurelien2723 ]
Salut!Je travaille sur un fichier texte que j'ouvre avec Excel de cette manière : appExcel.Workbooks.OpenText FileName:="source.txt", Origin:=xlW
Ecrire un fichier texte en UNICODE ????? [ par barth707 ]
Bjrs,Je cherche a comprendre comment enregistrer un fichier texte au format unicode. J'ai besion de cela pour fonctionner avec flash car je fais charg
Je n'arrive pas à lire un fichier texte lancer en commandline [ par Rabba ]
J'ai un ptit problème... Mon but est de créer des fichiers de sauvegarde avec une certaine extension contenant du texte et que lorsque je clique sur c
lire un fichier texte depuis la fin [ par flyerflo ]
Bonjour,Je fait un programme qui doit comparer deux fichiers texte qui contiennent des nombres et je dois comparrer des nombres du premier ficher avec
Lire un fichier texte dont on ignore UNE partie du nom. [ par eate ]
Bonjour tt le monde,comment puis-je faire ça ?avec la fonction OPEN, je voudrais lire le contenu d'un fichier texte dont le nom commence par "file" et
lire un fichier texte [ par chris81 ]
comment fait on pour lire un fichier texte caractere par caractere en vb.netmerci
lire un fichier texte dans un combo [ par seb41 ]
j'ai un fichier texte et je souhaite le lire dans un combobox !!merci d'avance!!
Ecrire Dans un fichier texte, et enregistrer sous un autre nom [ par STCManiak ]
Voilà la situation,Il faudrait que j'arrive à écrire dans un fichier texte, pour cela j'ouvre un fichier texte vide, mais après j'aimerais l'enregistr
URGENT:Ecrire Dans un fichier texte et enregistrer sou le nom de ma variable [ par STCManiak ]
J'essais d'explique au mieux:je fais toute une série d'opérations durs des chaines de caractères.Une fois que tout est bon , j'aimerais enregistrer ce
|
Téléchargements
Logiciels à télécharger sur le même thème :
|