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 :
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;
Cette fonction remplit son office mais j'ai relevé récemment une curiosité qui est la suivante :
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.