Bonjour à tous,
j'ai développé depuis certain temps un logiciel permettant de saisir des relevés d'actes pour des besoins généalogiques (BD SQLITE-3 récemment revu avec Lazarus 2.24 W10 64 bits ) et ai construit une fonction permettant de passer en majuscules la première lettre de chacun des prénoms dont vous trouverez ci-joint le code :Cette fonction remplit son office mais j'ai relevé récemment une curiosité qui est la suivante :
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 Function MajuscPrenom (RefPrenom : String) : String; // majuscule dans les prénoms Var i, k : Integer ; Begin k := length(RefPrenom) ; // k : nb de caractères du prénom complet // passage en minuscule de toutes les letttres For i := 1 to k Do Begin RefPrenom[i] := LowerCase(RefPrenom[i]) ; end; //Passage en majuscules des lettres appropriées if k > 0 Then RefPrenom[1] := UpCase(RefPrenom[1]) ; For i := 2 to k Do Begin if RefPrenom[i-1] = ' ' Then RefPrenom[i] := UpCase(RefPrenom[i]) ; if Refprenom[i-1] = '-' Then RefPrenom[i] := UpCase(RefPrenom[i]) ; end; MajuscPrenom := RefPrenom ; End;
Lorsque le prénom complet est composé de plusieurs prénoms par exemple : Hélène Thérèse le résultat de la saisie est : " Hélène Thérèse ", si l'on saisit "Hélène Therese" le résultat de la saisie est "Hélène Therese".
Si l'on consulte la base à l'aide de SQliteAdmin le contenu du champ est dans le cas de la saisie de Hélène THerese : " Hélène Therese ".
Dans les anciennes versions du logiciel j'utilisais la fonction de Transcodage UTF8ToANSI (Upcase(... pour obtenir un affichage écran lisible. J'ai essayé WinCPToUTF8 comme il m'avait été recommandé dans une précédente discussion mais le résultat est le même. La question est : Pourquoi lorsque le prénom est composé de plusieurs dont chacun contient des caractères accentués l'affichage est incorrect alors que lorsqu'il y a un seul prénom avec plusieurs caractères accentués (Hélène par exemple) l'affichage est correct ?
Personnellement cela ne me gêne pas beaucoup car, par la suite, pour récupérer les données dans le cadre de l'association pour laquelle je saisis les actes je suis obligé d'exporter la base au format CSV ce qui, à l'aide de Notepad me permet de rétablir un affichage compatible avec Windows.
Si quelqu'un peut se pencher sur la question Merci
R.O.
Partager