PDA

Просмотр полной версии : [Помогите!] Массив


blad56
03.09.2011, 05:09
Всем доброго времени суток. Помогите с массивом. Как сделать массив чисел от 1 до 20 например и если в edit'e будет хоть одно число из массива то, например, показать сообщение.

Федя
03.09.2011, 10:32
procedure TForm1.Timer1Timer(Sender: TObject);
var
Mass : array [1..20] of integer;
i, a : integer;
begin
i:=1;
a:=0;
repeat a:=a+1;
mass[i] := a;
If mass[i] = B then showmessage('lol');
until a=20;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
B:=StrTOInt(edit1.Text);
end;

end.
Кнопка, едит и таймер , B - глобальная переменная

blad56
03.09.2011, 12:22
procedure TForm1.Timer1Timer(Sender: TObject);
var
Mass : array [1..20] of integer;
i, a : integer;
begin
i:=1;
a:=0;
repeat a:=a+1;
mass[i] := a;
If mass[i] = B then showmessage('lol');
until a=20;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
B:=StrTOInt(edit1.Text);
end;

end.
Кнопка, едит и таймер , B - глобальная переменная

Спасибо конечно, но не понимаю, зачем в таймер?:reddy: Мне нужно просто условие, если, например, i:= числу из массива, то выдать сообщение:) Может то, что ты дал и есть верное решение, но какое-то оно странное:cry:

Федя
03.09.2011, 13:00
Угу xD накрутил я.

procedure TForm1.Button1Click(Sender: TObject);
var
B, i, a :integer;
Mass : array [1..20] of integer;
begin
i:=1;
a:=0;
repeat
a:=a+1;
mass[i] := a;
B:=StrTOInt(edit1.Text);
If mass[i] = B then showmessage('lol');
until a=20;
end;
end.
Вот намного проще -)
пи.си на форму кинь едит и кнопку.

R-A-Z-O-R
03.09.2011, 14:16
Зачем так? на EditChange проверяй условие и все) массив сделай глобальным

blad56
03.09.2011, 15:39
Зачем так? на EditChange проверяй условие и все) массив сделай глобальным
Так, теперь понятно:) как теперь сделать проверку, находится ли число в массиве или нет? Код не прошу, нужен только намек:)

Федя
03.09.2011, 17:57
Зачем так? на EditChange проверяй условие и все) массив сделай глобальным

Надо придусмотреть, что при измении в едите может ничего не стоять -) ещё, а кнопка универсальней.

Mebius
03.09.2011, 19:54
Так, теперь понятно:) как теперь сделать проверку, находится ли число в массиве или нет? Код не прошу, нужен только намек:)

цикл фор ду, а лучше репит антил

а еще в эдит может быть не число а текст, тогда вылетит эксепшн

lolwut98
03.09.2011, 23:23
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
arr: set of 'A'..'z';
begin
arr := ['A'..'z'];
if key in arr then
showmessage('die');
end;