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

C++Builder Discussion :

Application ISO8859 + Excel


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut Application ISO8859 + Excel
    Bonjour � tous,

    Je fais appel � vous afin que vous puissiez m'aider � comprendre le pourquoi du comment � mon probl�me.

    J'ai une application en C sous Builder 6 dans laquelle je simule un �cran � pixel (genre console GameBoy) � l'aide d'un StrinGrid sur lequel des textes apparaissent en plusieurs langues. En r�sum�, chaque case du StringGrid corresponde � un pixel que je mets en noir ou en blanc.

    Les textes � afficher sont contenus dans un fichier Excel qui est charg�e � l'ouverture de l'application: 1 ligne par mot qui est traduit en plusieurs langues (soit 500 lignes pour 500 mots et 24 colonnes pour 24 langues).Pour faciliter l�appel d�un mot � afficher sur l��cran simuler, chaque ligne correspond � une variable. Il suffira alors de d�tecter la langue s�lectionn�e dans l'application puis d�appel� la variable li� au mot et on viendra alors trouv� le mot traduit dans la bonne langue.

    Parmi ces langues du fichier Excel il y a le Russe utilisant l�ISO-8859-5 avec tout son ensemble de caract�res sp�ciaux. Cependant, lorsque je charge mon tableau de mots, ces caract�res sp�ciaux sont traduits par de � ? �. Logique me direz vous, car il me faut l�ISO-8859-5 dans mon application et non celle par d�faut (ISO-8859-1).

    Mais voil� j�ai beau changer l�ISO avant le chargement. Il me charge malheureusement toujours des � ? �. Ainsi, pour exemple avec le mot � lundi � en russe � Понедельник �, j�ai � ???????? �

    Voici la fonction utilis�e pour le chargement appel� pendant que l'on balaye l'ensemble du fichier excel:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    CellText = ReadTextOnExcelCell(WorksheetIndex, NbLanguage+XL_COL_OFFSET, Line-2);
     
    où: WorksheetIndex est la page du fichier excel
    NbLanguage est le nombre de langue soitt le nombre de colonne
    XL_COL_OFFSET est juste un offset car les traduction des mots commencent colonnes 6
    avec

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    AnsiString TForm1::ReadTextOnExcelCell(int WorksheetIndex, int Column, int Line)
    {
        if(Column==26) //Colonne des mots en Russe
        {
          this->Font->Charset = RUSSIAN_CHARSET;                                    //!!!!!!!!!!   ISO 5
          Font->Charset = RUSSIAN_CHARSET;                                             //!!!!!!!!!!   ISO 5
        }
        Else // colonnes autres langues
        {
          this->Font->Charset = DEFAULT_CHARSET;
          Form1->Font->Charset = DEFAULT_CHARSET;
        }
     
        //Sheet contains 256 column and 65 536 lines
        if(Column < 257 && Line < 65537)
        {
            Variant Sheet = GlobalParameters.vXLWorkbook.OlePropertyGet("Worksheets", WorksheetIndex);
            GlobalParameters.vCell = Sheet.OlePropertyGet("Cells", Line, Column);
            Variant vValue = GlobalParameters.vCell.OlePropertyGet("Value");
            return vValue;
        }
        return "";
    }

    Je me pose donc la question de savoir si ce � Font->Charset = RUSSIAN _CHARSET; � qui est li� � ISO-8859-5 s�applique bien aux fonctions OlePropertyGet me permettant de charg� le mot traduit.

    En esp�rant avoir �t� clair...

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut
    Pour ceux qui sont int�resses j'ai un peu avanc�:

    J'ai activer dans Panneau Config/ Option r�gions et linguistique/ Options Avanc�es/ Langue pour les programmes non Unicode

    Builder 6 n'est pas Unicode apparemment. On choisit le RUSSE, on reboot et on relance l'application. Les caract�re Russes sont bien traduits mais pour les autres langues tout les caract�re accentu�s ne sont pas retranscris....

    C'est donc une solution de rapidit� mais qui ne r�solu pas enti�rement le probl�me car l'appli doit pouvoir g�rer le multi-langages.

    Allez je poursuis mes recherches....

    Bonnes f�tes de fin d'ann�e!!

Discussions similaires

  1. d�marrage application via excel
    Par cobra 32 dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 11/03/2009, 12h01
  2. Modification d'une application sous Excel language Vba
    Par M�zeau Emilien dans le forum Macros et VBA Excel
    R�ponses: 0
    Dernier message: 18/04/2008, 09h13
  3. Probl�me Application.FileSearch excel 2007
    Par 13mike dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 03/08/2007, 09h31
  4. [VBA]application via excel
    Par yaz1234 dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 02/05/2007, 07h24
  5. Aidez-Moi Sur Une Petite Application sous Excel
    Par The_Haunted dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 15/11/2006, 03h40

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