Salut,

Je développe un software avec Delphi 2006 sous WinXP.

Je teste si une chaine a deux caractères ET si le premier ET le second caractère sont des lettres. Si oui le résultat est 90.

Malheureusement, j'ai beau relire ce simple bout de code, je ne trouve pas l'erreur ... car lorsque j'envoie une chaine avec ces 3 caractéristiques il ne renvoie pas 90.

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
Function Caractere(c: Char): String;
begin
    Case c Of
    'A'..'Z':
        result := 'Lettre';
    'a'..'z':
         result := 'Lettre';
    '0'..'9':
      result := 'Numero';
  end;
end;
 
Procedure Statut_Fr(AString: PChar; ARetVal: PChar; ARetValMax: Integer);
var
  Resultat : String;
 
begin
  If (Length(AString) = 2) And (Caractere(AString[1]) = 'Lettre') And
    (Caractere(AString[2]) = 'Lettre') Then
    begin
      Resultat := '90';
    end;
end;
D'avance merci pour vos réponses.