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

Composants VCL Delphi Discussion :

pris en charge d'un format unicodé par richedit


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut pris en charge d'un format unicodé par richedit
    j'ai une application qui récupère des fichiers texte se trouvant ds un pc, les traites et les loges ds un server de données. seulement la plupart des fichiers
    sont unicodé et le traitement semble quelque peu compliquer avec La TRichedit.

    richedit1.Clear;
    richedit1.Lines.loadfromfile(Nomfichier); cette ligne perce mieux les fichiers sous format" document text ou Ansi" plustôt que les fichiers sous format " Unicode"

    que faire?
    les pro help me please.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Avant D2009, la VCL n'était pas compatible unicode et il fallait passer par des composants tiers tels que TMS.
    Mais quel est l'intérêt d'utiliser des composants visuels pour transférer des fichiers d'un PC à un serveur ? Quel est le traitement à effectuer ?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Merci pour l'attention, en fait ces fichiers texte contiennent des informations venant de la douane qu'il faut soutirer, traiter, et intégrer dans ma base de données (chargement des tables). aussi voici un bref topo
    - environnement client/serveur
    - deux clients dont l'un (client1) reliant notre réseau à celui de la douane et l'autre (client2)reliant le premier client1 au serveur de données.
    - un pgm sur le client1 récupère les fichiers textes de la douane et le place ds un répertoire local
    - un pgm ( editeur delp2006) sur le client2 détecte automatiquement les fichiers qui tombes ds le rep du client1, les ouvres, récupère chaque info et met à jour les fichiers de ma base (sgbd Interbase6). spécialement pr les fichiers unicodé la TRichedit ne les ouvre pas.
    en pièce jointe un exemple du fichier texte unicodé
    Fichiers attachés Fichiers attachés

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Il n'y a donc aucune action manuelle requise.
    Charge alors ton fichier dans un TWideStringList (unité WideStrings) , déclare tes chaînes en WideString et tes pointeurs (si nécessaire) en PWideChar.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 73
    Points : 85
    Points
    85
    Par défaut
    Bonsoir
    Ce fichier est lisible par mes vieux Works, Wordpad , IE, enfin il n'y a que ce pauvre notepad qui me malaxe le tout en brouet.
    J'avoue ne pas avoir été séduit par le texte.

    Cordialement
    Dutilleul.

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Evident!, en manuel Wordpad .....et tout ses potes peuvent le lire sans trop de problem mais la recup et la lecture auto.

    Andnotor j'ai mis à jour ma librairie en y ajoutant les composants tmsunicode et j'ai effectivement ouvert l'unité WideStrings mais comment brièvement je chargerai mon fichier.

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Epuis si la WideStringList se retrouve dans une palette des composant, laquelle car jne la voie pas.

    Merci encore.

  8. #8
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Je suis presque surpris qu'elle n'ait pas déjà été livrée avec D2006...
    Sinon, à l'instar de TStringList, TWideStringList n'est pas un composant visuel.

    Le code se résume à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
      List :TWideStringList;
    begin
      List := TWideStringList.Create;
      List.LoadFromFile('monfichier.txt');
      ...

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    sur le pointeur de la souri voila la message qui s'affiche
    Var intergu.TwideStringList: erroneous type-INTERGU.PAS (87)

    apparemment le ds la déclaration de cette var le type n'est pas reconnu.
    var
    List :TWideStringList;
    begin
    List := TWideStringList.Create;
    List.LoadFromFile('monfichier.txt');
    ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/05/2010, 00h11
  2. Réponses: 1
    Dernier message: 21/04/2009, 10h51
  3. Réponses: 11
    Dernier message: 23/02/2009, 17h50
  4. Réponses: 3
    Dernier message: 28/01/2008, 09h51
  5. Réponses: 1
    Dernier message: 24/11/2007, 22h16

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