Bonjour à tous,
j'ai un état d'édition ecrtit en arabe, lors de la saisie dans ravereport et la compilation dans ravereport l'écriture s'affiche correctement mais dans mon application l’écriture est inversée
Bonjour à tous,
j'ai un état d'édition ecrtit en arabe, lors de la saisie dans ravereport et la compilation dans ravereport l'écriture s'affiche correctement mais dans mon application l’écriture est inversée
C'est un bogue connu de Rave depuis la version 7 de Rave
On en à déjà discuté ici https://www.developpez.net/forums/d2...re-specifique/
et vous avais suggéré de remplacer les espaces par un espace ponctuation ou U+200F qui est la "marque droite à gauche"
donc, avant de poser la question sur le forum Rave, quasiment plus fréquenté, avez-vous essayé ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If CheckRTL(texte) then texte:=StringReplace(texte,' ',char($2000),[rfReplaceAll]); // ou If CheckRTL(texte) then texte:=StringReplace(texte,' ',char($200F),[rfReplaceAll]);
Il y a plein de code Unicode à tester entre les espaces de ponctuations et peut-être certains caractères du tableau unicode arabe i.e le $6005
Qu'est-ce que vous voulez de plus ? Qu'un arabophone vous donne la solution à un bogue Rave ? Vous n'êtes peut-être pas dans le bon forum
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
SGBD : Firebird 2.5, 3, SQLite
générateurs Etats : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Ubuntu, Androïd
Bonjour,
J'ai bien compris la méthode d'inversion des mots et j'en fait plein usage.Mais le problème est dans les "TraveDataText" à la reception des données "champs" contenant de l'arabe l'inversion est faite et je peut pas contrôler ça.
Par contre avec les Objets statique tel que "TraveText" je fait l'inversion le plus normalement.
(BIZARRE QUE RAVE NE SEDUIT PAS BEAUCOUP, J'AI DEJA TRAVAILLE AVEC QUICKREPORT ET FASTREPORT ET POUR MOI C'EST LE MEILLEURE POUR LE SEUL ATOUT DE GROUPER LES ETATS DANS UN MEME FICHIER)
Rien n'empêche de traiter le TRaveDataText et ce sans inversion de mots (peut-être car vous n'avez toujours pas valider cette suggestion)
Je ne peux tester.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.RvDataSetConnection1ValidateRow( Connection: TRvCustomConnection; var ValidRow: Boolean); var MyPage : TRavePage; MyRaveData : TRaveDatatext; begin MyPage := RvProject1.ProjMan.FindRaveComponent('report1.Page1',nil) AS TRavePage; myRaveData := RvProject1.ProjMan.FindRaveComponent('TEXTE',MyPage) AS TRaveDataText; // le nom de votre zone // suggestion If CheckRTL(myRaveData.Text) then MyRaveData.text:=StringReplace(MyRaveData.Text,' ',char($2000),[rfReplaceAll]); // sinon utilisez votre propre routine d'inversion end;
le forum était déjà peu fréquenté maintenant il est plus que poussièrieux. 4 questions (dont 3 de votre part) depuis début 2021.BIZARRE QUE RAVE NE SEDUIT PAS BEAUCOUP,
désormais mes états Fastreport sont mémorisés dans un table de ma base de données et sont personnalisables alors .... l'argument ne tient pas de mon point de vueLE SEUL ATOUT DE GROUPER LES ETATS DANS UN MEME FICHIER
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
SGBD : Firebird 2.5, 3, SQLite
générateurs Etats : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Ubuntu, Androïd
Bonjour,
J'ai testé l'exple et il ya pas de modification sur la valeur du champs . J'ai essayé avec l’événement "Ongettext" est c'est pareil , il ya pas de changement.
“La persévérance est la noblesse de l'obstination.”
J'ai du crée une fonction de conversion et faire un test sur le texte reçu alors que la réponse est aussi simple que ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 rvsystem.systemfiler.accuracyMetod:=amAppearance;
Ok, jepour cette solution bien que je ne comprenne pas !
selon la documentation https://www.nevrona.com/download/RaveDevGuide.pdf page 26
Quel est le rapport entre la visualisation et le RTL d'un texte ? A moins que, une fois de plus, vous ayez mal posé votre question et que vous ayez omis d'indiquer qu'il s'agissait uniquement de la visualisation du rapport et non lors de son impression2.3.4 Mots qui se chevauchent
QUESTION:
Lors de la prévisualisation, j'ai un problème où les espaces ne sont pas corrects entre les mots. Les mots
se superposent souvent.
RÉPONSE:
L'objectif principal de Rave Reports est de produire des rapports aussi précis que possible sur papier. Un problème de prévisualisation
se produit dans la mesure où la plupart des imprimantes ont des résolutions très élevées par rapport à votre écran d'affichage.
Les imprimantes sont de 600 dpi ou mieux tandis que les écrans sont de 96 dpi. Veuillez noter que 96 ne se divise PAS en
600 joliment. Cela signifie que les facteurs de mise à l'échelle de l'aperçu sont souvent des valeurs fractionnelles et peuvent entraîner
problèmes lorsque vous essayez de simuler la sortie imprimée sur votre écran. Cela peut entraîner la
problèmes de chevauchement de texte que vous avez remarqués lors du processus de prévisualisation du rapport. Minimiser
ce problème d'aperçu sur votre écran, essayez l'une des solutions suivantes ou les deux:
1) Assurez-vous de n'utiliser que des polices True-Type car elles s'adaptent mieux. 'MS Sans Serif' n'est PAS un
Police True Type.
2) Une autre méthode pour améliorer l'aperçu consiste à dérouler un composant TRvSystem et à le définir comme
la propriété engine de votre composant TRvProject. Définissez ensuite la propriété RvSystem
SystemFiler.AccuracyMethod à amAppearance et voyez si cela fonctionne mieux pour votre affichage.
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
SGBD : Firebird 2.5, 3, SQLite
générateurs Etats : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Ubuntu, Androïd
bonjour et désolé pour ce délai de réponse.
L'impression et pareil que la visualisation, évidemment que le but finale est l'impression.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager