|
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
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
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
Lire un fichier texte mot à mot [ par akaii ]
Hello,Je dois lire un fichier text et faire ressortir tous les mots pour les comparer avec deux autres mots et je n'ai pas trouvé de code équivalent,
Problème fichier texte ANSI-Unicode [ par aurelien2723 ]
Salut!Je fais un petit programme en VB6, sous Windows XP.J'ai un soucis avec le type d'encodage d'un fichier texte.Il me faut en sortie un fichier Uni
lire un fichier texte ligne par ligne en vb.net [ par guiguidu25 ]
Bonjour tout le monde je voudrais savoir comment lire un fichier texte ligne par ligne en vb.net je savais le faire pendant un moment mais j'ai oublié
.Net Compact Framework Lire un Fichier Texte [ par JeffC1977 ]
Bonjour....Je cherche depuis quelque heures le moyen de lire un fichier texte avec Compact Framework.J'ai trouvé du code sur MSDN mais quand je copie
VB.Net Lire fichier Texte [ par JeffC1977 ]
Salut...J'aimerais savoir pourquoi ca me dit que mon fichier ne peut être lu. En fait ca me dit que le fichier est peut-être utilisé et impossible à o
Lecture d'une ligne de texte [ par DarkMickael ]
Bonjours, je shouaiterai lire un fichier texte mais uniquement une ligne de ce texte Explication : fichier aaa.text | contenant => aaaaa
Lire fichier texte et l'exporter vers Access [ par rytta87 ]
Salut, je voudrais lire un fichier texte ligne par ligne avec un delimiteur de "," et l'exporter vers une table dans une base de donnees Access. J'ai
enregistrer des noms de fichier différents selon la date [ par MEEDID ]
Bonjour à tous,J'ai créé un programme qui collecte des informations et les sauvegarde dans un fichier texte.Pour plus de facilité et de sécurité, j'ai
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|