



O comando “case” só permite o uso de inteiros ou char.
Mas Há uma função que nos permite utilizar a ideia de case com strings.
1 2 3 4 5 6 7 8 9 10 | function CaseOfString(s: string; a: array of string): Integer; begin Result := 0; while (Result < Length(a)) and (a[Result] <> s) do Inc(Result); if (a[Result] <> s) then Result := -1; end; |
Exemplo de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | procedure TForm1.Button1Click(Sender: TObject); var lista : array[0..2] of string; linguagem : String; begin // Preenchendo o vetor. lista[0] := 'Object Pascal'; lista[1] := 'C++'; lista[2] := 'Java'; // Simulando uma opção selecionada pelo usuário linguagem := 'Object Pascal'; // Neste caso o case é formado com base na posição da string no vetor. case CaseOfString(linguagem, lista) of 0 : ShowMessage('Delphi'); 1 : ShowMessage('C Builder'); 2 : ShowMessage('NetBeans'); end; end; |