Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизПомогите с массивом Найти похожие ветки
← →
shrek (2004-09-27 20:01) [0]Мастера! я уже замучился с этим бороться... :)) вот кусок кода:
A: array[1..10] of string;
....
массив набивается при создании формы!
....
function tform1.CharEx(k: integer; str1: string): string;
var i: integer;
begin
result:= "";
for i:= 1 to k do
begin
Result:= Result + str1[i];
end;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i, Len1: integer;
begin
Len1:= Length(edit1.Text)+1;
for i:= 1 to length(a) do
begin
showmessage(inttostr(len1) + #13 + a[i] + #13 + edit1.Text);
{усли убрать это showmessage то нифига ничего не работает - КАК БЫТЬ???}
if edit1.Text = CharEx(len1, a[i]) then
begin
listbox1.Items.Add(a[i]);
end;
end;
end;
← →
Anatoly Podgoretsky © (2004-09-27 20:13) [1]А где мучения?
← →
Vit@ly © (2004-09-27 20:17) [2]
for i:= 1 to length(a) do
дык а у тебя ж array
следовало бы в первую очередьfor i:= 1 to length(a[...]) do
← →
Vit@ly © (2004-09-27 20:19) [3]или я чего-то не донца посмотрел?
← →
shrek (2004-09-27 20:23) [4]
> А где мучения?
showmessage(inttostr(len1) + #13 + a[i] + #13 + edit1.Text);
{усли убрать это showmessage то нифига ничего не работает - КАК БЫТЬ???}
> for i:= 1 to length(a) do
> дык а у тебя ж array
> следовало бы в первую очередь
> for i:= 1 to length(a[...]) do
Проверял - если ставишь 10 - все равно такая хрень
← →
GanibalLector © (2004-09-27 20:34) [5]Я вообще-то не понял,что надо.Ты лучше обьясни суть,а код свой убери вообще.так проще будет.
Кстати :
function CharEx(k: integer; str1: string): string;
var i: integer;
begin
result:= "";
for i:= 1 to k do
Result:= Result + str1[i];
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i: integer;
begin
for i:= 1 to length(a) do
if edit1.Text = CharEx(length(Edit1.text), a[i]) then listbox1.Items.Add(a[i]);
end;
← →
shrek (2004-09-27 20:39) [6]да будет вам известно, что begin...end ни на что не влияют!!!
← →
GanibalLector © (2004-09-27 20:43) [7]Это нам известно.Просто твой код хрен прочтешь,да и сути как не было,так и нет.Рассказывай,что надо.
← →
shrek (2004-09-27 20:47) [8]ну слушайте:
есть функция CharEx, ее назначение - отделение k символов из строки str1. Например CharEx(3, "ANDREW") = "AND".
В следующей процедуре производится поиск элементов в массиве.
Если Текст из edit1 = CharEx(...) то добавить этот элемент в листбокс. и вот если перед циклом в процедуре поставить showmessage("") - то все работает - если его убрать - нет!
жду предложений.
← →
GanibalLector © (2004-09-27 20:52) [9]
procedure TForm1.FormCreate(Sender: TObject);
begin
A[1]:="123";
A[2]:="456";
A[3]:="789";
A[4]:="sfd";
A[5]:="sfd";
A[6]:="sfd";
A[7]:="sfd";
A[8]:="sfd";
A[9]:="sfd";
A[10]:="sfd";
end;
function CharEx(k: integer; str1: string): string;
var i: integer;
begin
result:= "";
for i:= 1 to k do
Result:= Result + str1[i];
end;
procedure TForm1.Edit1Change(Sender: TObject);
var i:integer;
begin
if Length(Edit1.Text)=0 then Exit;
for i:= 1 to length(a) do
if edit1.Text = CharEx(length(Edit1.text), a[i]) then listbox1.Items.Add(a[i]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
end;
← →
Defunct © (2004-09-27 21:02) [10]> да будет вам известно, что begin...end ни на что не влияют!!!
Ждем begin...end"a, щас он появится и покажет, влияет он на что-то или нет ;)
← →
shrek (2004-09-27 21:09) [11]все ok - заработало
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c