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 FMX Delphi Discussion :

Colonne de grille en arabe (RTL) [Windows]


Sujet :

Composants FMX Delphi

  1. #21
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par aimer_Delphi Voir le message
    j'ai trouvé aussi des composants RTL pour Firemonkey.
    http://www.fmxrtl.com/purchase.php
    Il existe depuis déjà pas mal de temps, il était payant. Le nom de la page (purchase) tendrait à prouver qu'il l'est toujours mais avec l'arrivée de skia cela pourrait avoir changé
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #22
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Alors, j'ai fait un test avec SKIA pour les grilles.

    Nom : Capture.PNG
Affichages : 94
Taille : 36,5 Ko

    cela semble fonctionner. une différence par rapport à mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas;
      const Column: TColumn; const Bounds: TRectF; const Row: Integer;
      const Value: TValue; const State: TGridDrawStates);
    begin
    if (Column.Index=1) AND (Row>=1)  // seule la première ligne n'est pas RTL 
    then begin
          Canvas.Fill.Color:=TAlphaColors.Red;
          Canvas.FillText(Bounds,Value.ToString,false,1,[TFillTextFlag.RightToLeft],TTextAlign.Leading);
    end
    else Column.DefaultDrawCell(Canvas,bounds,row,value,state);
    end;
    Il faut laisser le TextAlign à Leading, ce qui veut dire que Skia utilise le TFillTextFlag.RightToLeft pour aligner à droite (donc, pour pouvoir mêler les textes RTL et non RTL il faudrait modifier la fonction CheckRtL que j'ai proposée plus haut)

    Si un arabisant lit texte algérien en ligne 2 et un hébreu texte hébreu en ligne 3, c'est gagné (merci google trad)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #23
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    Pour afficher le texte en hébreu vous pouvez jetez un coup d’œil sur le code de la fonction PHP Hebrev pour l'arabe c'est la même chose mais avant d'inverser les segments RTL on joint les caractères selon leurs contexte dans le mot ...Substitution basique

    si on applique cette substitution sur le premier code dans ce topic ça donnerait

    initial
    مرحبا بالعالم
    $0645, $0631, $062D, $0628, $0627, $0020, $0628, $0627, $0644, $0639, $0627, $0644, $0645

    devient
    ﻣﺮﺣﺒﺎ ﺑﺎﻟﻌﺎﻟﻢ
    $FEE3, $FEAE, $FEA3, $FE92, $FE8E, $0020, $FE91, $FE8E, $FEDF, $FECC, $FE8E, $FEDF, $FEE2

    maintenant il suffit d'inverser les textes RTL pour les dessiner correctement sous Andriod

    Nom : Bidi.png
Affichages : 63
Taille : 10,4 Ko

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Activer les colonnes d'une grille
    Par Maure dans le forum Composants VCL
    Réponses: 6
    Dernier message: 25/11/2008, 15h10
  2. [C#][Débutant] Comment récuperer la valeur d'une colonne d'une grille
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/04/2006, 05h40
  3. Gestion des colonnes d'une grille.
    Par Maglight dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/12/2005, 19h02
  4. Création dynamique colonne d'une grille
    Par Maglight dans le forum Composants VCL
    Réponses: 3
    Dernier message: 29/11/2005, 15h31
  5. Champs d'une requête et Colonne d'une grille rattaché
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 11/10/2005, 09h39

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