maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

vers le bas

Recodage de texte russe ANSI à OEM Trouver des branches similaires


musicman   (2004-11-27 23:10) [0]

Collègues !!! Aide pliz ...

La tâche est telle, il est nécessaire de recoder le texte russe en codage ANSI en codage DOS ...
La fonction CharToOem ne aide pas, elle ne fonctionne correctement qu'avec le texte anglais ...
Tu fais quoi ???



ssk ©   (2004-11-27 23:13) [1]

http://delphibase.endimus.ru/?action=viewfunc&topic=strconvert&id=10476



palva ©   (2004-11-27 23:44) [2]

musicman (27.11.04 23: 10)
> fonctionne correctement avec le texte anglais uniquement
Quelle est la différence entre ANSI et DOS pour les lettres anglaises?



musicman   (2004-11-27 23:46) [3]

Pavla

ce n'est pas différent
et le russe est différent ... et n'est pas recodé ... (((



palva ©   (2004-11-27 23:51) [4]

Je ne connais pas CharToOem, mais AnsiToOem devrait fonctionner. Ceci est une fonction de l'API et ne dépend pas des paramètres régionaux. Cela fonctionne de la même manière pour les Allemands et les Français.



Piter ©   (2004-11-27 23:58) [5]

Question: comment transcoder une chaîne d’encodage OEM (DOS) en encodage ANSI (Windows) et inversement? Réponse: utilisez les fonctions CharToOem et OemToChar. Exemple: fonction Win2Dos (const aStr: String): String; commencer Résultat: = aStr; si Résultat <> "" alors CharToOem (PChar (Résultat), PChar (Résultat)); fin fonction Dos2Win (const aStr: String): String; commencer Résultat: = aStr; si Résultat <> "" alors OemToChar (PChar (Résultat), PChar (Résultat)); fin Répondu: Panov

Cela fonctionne très bien avec les lettres russes aussi ...



musicman   (2004-11-28 00:02) [6]

Pavla

Peut-être que je fais quelque chose de mal ??? ...
Taux:
MemoFam.Lines.Text: = ZAPROS;
Commencer
N: = MemoFam.Lines.GetText;
AnsiToOem (N, N);
MemoFam.Lines.Text: = StrPas (N);
fin
ZAPROS: = MemoFam.Lines.Text;

Et ça ne marche pas ...
Oui, j'ai oublié de dire qu'après la conversion, le texte est enregistré dans un fichier texte et y est sauvegardé ...



palva ©   (2004-11-28 10:35) [7]

1. AnsiToOem exige que les deux paramètres soient de type PChar.
2. Il n'est pas nécessaire d'utiliser StrPas, car de longues chaînes sont utilisées dans la VCL.
3. CharToOem travaille pour moi aussi. Voici un exemple de travail d'une application console:

utilise Windows; var s1, s2: String; commencer s1: = "Be"; s2: = "sain!"; CharToOem (PChar (s1), PChar (s1)); AnsiToOem (PChar (s2), PChar (s2)); WriteLn (s1, s2); // être en bonne santé fin.



Pages: 1 branche entière

Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

à l'étage









Mémoire: 0.58 MB
Heure: 0.087 c
3-1100074594
Serguar
2004-11-10 11:16
2004.12.12
Ouverture lente de la table Paradox


1-1101361983
SergeK
2004-11-25 08:53
2004.12.12
Comment comparer les types de variantes


14-1101007383
Aleksandr1
2004-11-21 06:23
2004.12.12
Glitch Windows 2003


4-1098782955
Aleksandr.
2004-10-26 13:29
2004.12.12
Pourquoi DispatchMessage envoie-t-il un AV?


1-1101452426
sergg
2004-11-26 10:00
2004.12.12
Inscription BitBtn en deux lignes





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais Anglais estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien Japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol