эмм..
1) Я так понял, программа ищет в массиве слова, совпадающие с введенным в форму. Но если ввести слово, ни с чем не совпадающее, все равно будет возвращено значение
slovo2[0]
2)
i=0 можно и не писать.
3) Форматирование кода - полезный друг.
Вот более или менее правильный код
Program example;
var
itemId,i,id : integer;
cmdNext, cmdQuit: command;
name : string;
slovo1:array [0..1] of string;
slovo2:array [0..1] of string;
procedure loading;
begin
i:=0;
slovo1[i]:='Привет'; slovo2[i]:='Hello'; i:=i+1;
end;
begin
id:=-1;
loading;
ShowForm;
itemId := FormAddTextField('Введите слово', '', 20, TF_ANY);
cmdNext := CreateCommand('ОК', CM_OK, 1);
AddCommand(cmdNext);
repeat until (GetClickedCommand = cmdNext);
name := FormGetText(itemId);
for i:=0 to 1 do
if slovo1[i]=name then
begin
id:=i;
break;
end;
ShowCanvas;
if id<>-1 then DrawText(slovo2[id], 0, 0); else DrawText('Слово не найдено', 0, 0);
Repaint;
cmdQuit := CreateCommand('Выход', CM_EXIT, 1);
AddCommand(cmdQuit);
repeat until (GetClickedCommand = cmdQuit);
end.