Bonjour à tous. J'ai le code suivant pour inverser une chaîne de caractères :
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
procedure TForm1.Button3Click(Sender: TObject);
function ReverseStr(Str : String) : String;
var
  Res : String;
  i : Byte;
begin
  Res:='';
  for i:=ord(Str[0]) downto 1 do
    Res:=Res + Str[i];
  ReverseStr:=Res;
end;

BEGIN

end;

1- La ligne en gras me donne une erreur avec Delphi 2005 : [Pascal Error] Unit1.pas(73): E2157 Element 0 inaccessible - use 'Length' or 'SetLength'.

Qu'est-ce qui cloche ?

2- Comment transformer cette fonction en fonction récursive ?

Merci. Ceci est a but éducatif, bien sûr.