var
test: string;
begin
test:= Edit1.Text;
case test of
'hej': ShowMessage('hej');
'med': ShowMessage('med');
'dig': ShowMessage('dig');
end
end;
Det eksempel kan ikke lade sig gøre fordi jeg bruger strings i en case-sætning. Men hvordan kan jeg få det til at virke??
Du kan ikke lave en case sætning med strings. Grunden er at Delphi kun tillader ordinale typer (f.eks. integer, boolean etc.) i case sætninger.
Den eneste måde du kan gøre det på er if..else sætninger. Dit eksempel omskrevet ville være:
var
test: string;
begin
test:= Edit1.Text;
if SameText(test, 'hej') then ShowMessage('hej') else
if SameText(test, 'med') then ShowMessage('med') else
if SameText(test, 'dig') then ShowMessage('dig') else
ShowMessage('Ukendt streng');
end;
Hvis du vil have sammenligningen Case Insensitiv, ellers kan du nøjes med dette:
var
test: string;
begin
test:= Edit1.Text;
if (test = 'hej') then ShowMessage('hej') else
if (test = 'med') then ShowMessage('med') else
if (test = 'dig') then ShowMessage('dig') else
ShowMessage('Ukendt streng');
end;
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk
[Redigeret d. 29/06-04 12:23:53 af Thomas Due]