Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [lazarus] Manipulation de chaine et extraction de caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[lazarus] Manipulation de chaine et extraction de caractère

n°2106986
alzorglub
Cmdr : Tuckleberry
Posté le 18-10-2011 à 17:38:20  profilanswer
 

Salut :hello:  
 
Bon j'ai repris un peu la prog en pascal que j'ai un peu oubliée depuis quelques années.
J'ai pris Lazarus pour retrouver un Delphi like avec freepascal..  :love:  
 
Mais mon problème est le suivant, je crée une chaine qui contient '£^%µ²&é#§{[|çà@]}+-*$°~', la fonction length me donne 31 caractères alors qu'il n'y en a que 23, et si je fait chaine[1] je n'ai pas '£' mais un '?' et j'ai chaine[2] qui ne contient rien..par contre chaine[3] correspond bien à '^'.
Je soupçonne une histoire de chaine ansi/utf etc, j'ai tenté un {$H-} mais ça ne change rien, je n'y comprends pas grand chose et ça ne me dit pas comment je peux revenir à cette bonne vieille méthode des []..   :D  
Une idée ?  
la recherche sur le net ne me donne pas grand chose.. :/


Message édité par alzorglub le 18-10-2011 à 17:40:07
mood
Publicité
Posté le 18-10-2011 à 17:38:20  profilanswer
 

n°2107076
theshockwa​ve
I work at a firm named Koslow
Posté le 18-10-2011 à 23:18:42  profilanswer
 

ca ressemble à de l'utf8, oui, regarde les fonctions que tu as à ta disposition pour manipuler les chaînes dans ce jeu de caractères(éventuellement appelées MBCS pour Multi Byte Character System)
En tout cas, à moins de faire une conversion (destructive) vers de l'ascii, tu ne pourras probablement pas utiliser ton opérateur [].


---------------
last.fm
n°2107149
alzorglub
Cmdr : Tuckleberry
Posté le 19-10-2011 à 16:02:12  profilanswer
 

Merci, j'ai trouvé UTF8toAnsi mais ça remplace certain caractères (comme le £) par un espace.. :/
c'est bien chiant le mbcs..

n°2107659
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 22-10-2011 à 20:21:46  profilanswer
 

bien le bonsoir
 
y a pas Ansipos(); qui irais peut être ou un équivalent:
 
http://www.delphibasics.co.uk/RTL.asp?Name=AnsiPos
 
c'est vrai qu'il est pratique ce string[] !

n°2107675
alzorglub
Cmdr : Tuckleberry
Posté le 23-10-2011 à 00:46:34  profilanswer
 

ah merci je vais étudier cette fonction.
 
c'est décourageant:
 j'essaye d'écrire des caractère accentué dans un memo (memo.lines.ad('éé')), ça me renvoi toujours n'importe quoi à la place du é.. (genre un ù etc..)
j'ai essayé les utf8toansi,ansitoutf8,utf8decode,utf8decode, de changer le type de codage du source..rien n'y fait.. :(

n°2107749
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 23-10-2011 à 20:41:06  profilanswer
 

ouais je sais pas si tu peut faire grand chose avec ansipos mais y a peu être des ansiXXX qui peuvent servir...
 
avec lazarus 0.9.30 et fpc 2.4.2 si je fait ça:
 
memo1.lines.add('éé'); // ça roule y a bien éé
  str:='£^%µ²&é#§{[|çà@]}+-*$°~';
  memo1.lines.add(str); // tout est bien affiché
  //showmessage(inttostr(length(str))); // length=31 yes  :sarcastic:  
  showmessage(str[1]); // message vide
  showmessage(str[2]); // message vide
  showmessage(str[3]); // y a bien ^ comme toi
 
c'est certainement un bug de fpc ou lazarus essaye de voir sur leur forums si y z'en parlent pas
 
Edit: sous delphi7 tout est ok


Message édité par Flagad'aware le 23-10-2011 à 20:49:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [lazarus] Manipulation de chaine et extraction de caractère

 

Sujets relatifs
Freeware/script d'extraction d'URLs de pages webDemande d'aide : Manipulation de fichier texte en .csv
[Lazarus]drag and drop vers une autre application[lazarus] connaitre état show/hide de la form (systray)
Perl substitution fin de chainefaire passer des caractère spéciaux dans SET
Formulaire envoi à la chaineExtraction du contenu d'une TEXTAREA vers fichier texte
exécuter une chaine en java 
Plus de sujets relatifs à : [lazarus] Manipulation de chaine et extraction de caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR