![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Значит так:
Прога, которую я пишу, должна делать много операций с массивами... Итак: есть Listbox и кнопка. Жмём кнопку... и к элементу в массиве присваивается строчка в Listbox'e Также есть ещё кнопка, которая позволяет удалять элемент из ListBox'a и очищать элемент массива.... Далее: есть ещё три поля ввода (TEdit) Когда нажимаем на любую строчку в Listbox инфа из элемента массива должна распихиваться по этим полям... эти поля можно и нужно редактировать...., а потом записать обратно... И в конце концов вывести содержимое массива в memo.... Вот такая господа-товарищи задача! :-) Помогите чем можете! -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Так в чём проблема? Самому лень код писать что-ли? В чём трудность-то? Напиши конкретно что именно не получается и что ты не знаешь как реализовать...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
>>Самому лень код писать что-ли?
Так и знал, что вы сразуже захотите мне помочь! %-) Нет, мне было лень в форум писать..... :-) Я вообще редко чего в форуме спрашиваю! %-) OK! Значит так! type TVector = record X, Y, Z: single; end; var i: integer; items : array of record item_pos : TVector; item_index : integer; end; procedure TForm1.addbuttonClick(Sender: TObject); begin Form1.ListBox1.Items[ListBox1.ItemIndex] := 'item' + inttostr(items[i].item_index); Form1.Edit2.Text := Floattostr(items[i].item_pos.X); Form1.Edit3.Text := Floattostr(items[i].item_pos.Y); Form1.Edit4.Text := Floattostr(items[i].item_pos.Z); inc(items[i].item_index); end; procedure TForm1.Writein2arrayButtonClick(Sender: TObject); begin items[i].item_pos.X := strtoFloat(Form1.Edit2.Text); items[i].item_pos.Y := strtoFloat(Form1.Edit3.Text); items[i].item_pos.Z := strtoFloat(Form1.Edit4.Text); end; Я не понимаю как в таком случае сделать цикл по всем элементам!? -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| dvs |
|
|||
![]() Владимир Драпалюк ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 660 Регистрация: 25.8.2003 Где: Воронеж->Москв а Репутация: нет Всего: 19 |
>>Я не понимаю как в таком случае сделать цикл по всем элементам!?
Цикл по всем элементам чего? Items-а? Да, и что такое Items[i].Item_index? Если ты так пытаешься считать кол-во записей, то у тебя ничго не получится, потому что у тебя для каждого элемента массива Items с индексом i будет своя запись item_index. И если это возможно, то напиши, пожайлуста, исходный текст задачи, которая перед тобой стоит, без конкретизации реализации, т.е саму проблему, для чего нужна программа, потому что я просто не понял в чем вопрос... -------------------- Любите друг друга! |
|||
|
||||
| Sniper |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Vit Спасибо за инфу!
С одной маленькой частью своей задачи я справился! %-) Теперь вопрос следующий: Есть массив:
Записываю связываю список в ListBox'e c массивом:
Вообще мне нужно что бы при каждом нажатии на кнопку происходило добавление элемента и в массив и в ListBox, а не сразу всех! Как это сделать я представляю что так:
Проверил! Вродебы все работает! :-) Далее задача следующая: Если я кликаю на элементе в Listbox'е то инфа из массива соответствующая элементу в ListBox'е заносится в эти три Edit'a, отредактировав эту инфу, её нужно снова поместить в массив.... Я чувствую что это должно выглядет как-то так: item_pos[item_i].X := strtoFloat(Form1.Edit2.Text); item_pos[item_i].Y := strtoFloat(Form1.Edit3.Text); item_pos[item_i].Z := strtoFloat(Form1.Edit4.Text); Но как тогда быть ещё с ListBox'ом!?? Это сообщение отредактировал(а) Sniper - 25.10.2003, 08:55 -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
||||||
|
|||||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
Помогите мне а!! :-)
-------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| &-ray |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
Что-то не понял, что тебе надо изменить в listbox'е, если туда ты только записываешь в строки числа 1,2,3...
Твой код сложно понять, переименуй переменные, а то везде одни item'ы, в глазах пестрит ЗЫ Если проблема в том, что не знаешь, куда в массиве записать инфу из едитов, то вместо item_i в последнем примере меняй на индекс текущей строки в listbox'е -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
&-ray
>>ЗЫ Если проблема в том, что не знаешь, куда в массиве записать инфу из едитов, то вместо item_i в >>последнем примере меняй на индекс текущей строки в listbox'е Спасибо попробую! :-) Вот пример интерфейса : http://www.ogldelphi.km.ru/interface.jpg Мне нужно: если я кликаю на listbox'e то в трёх нижних Edit'ах (так как массив уменя типа tVector, а в типе 3 координаты) должны появиться значения каждой переменной.... это надо как-то в цикле проверять... так же точно и запись надо както в цикле по всем элементам делать! А как? :-) -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| &-ray |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
Хм...
Объясню, как я понял. У тебя массив из элементов типа TVector, каждый хранит 3 координаты. Тебе надо добавить новый элемент в массив, с координатами, записанными в едитах. Для этого добавляй новый элемент в массив (для динамического массива):
Далее записываешь в конец свои данные:
Если у тебя статический массив, то тогда надо ввести глобальную переменную, показывающую, сколько элементов у тебя уже записано и добавляй так:
При клике на Listbox'е заполняешь едиты:
После редактирования сохраняешь в массиве:
Только не понял, зачем тебе циклы -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
||||||||||
|
|||||||||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
&-ray
И ещё у меня элементы массива это как ты понял координаты! Я написал процедурку! : procedure object(item_i : integer); begin gltranslated(MyArray.X,MyArray.Y,MyArray.Z); glBegin(GL_POINTS); glVertex3f(MyArray.X,MyArray.Y,MyArray.Z);// эти "координаты" я от балды написал! Они как то по другому будут выглядеть! glEnd; end; (для справки это OpenGL :-)) И мне нужно эти коодвинаты ВСЕ теперь вывести! Как это сделать?? Я бы хотел узнать, но похоже это делается с помощью цикла :-) И ещё: если удалять объект из списка, то как удалить из массива? Это сообщение отредактировал(а) Sniper - 26.10.2003, 14:37 -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| [ss]3L33T@ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 14.10.2003 Где: Казармы Репутация: нет Всего: 1 |
БАЗЫ ДАННЫХ И ВСЁ...
--------------------
Понастоящему добрый человек всегда простит и забудет вам ваше зло, но он никогда не простит и не забудет вашего добра[ss]3L33T@ |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
[ss]3L33T@
шутник! :-) -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| &-ray |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
Если используешь статический массив, то никак, просто прими, за "нулевое" некоторое значение и подставь его в нужном элементе:
Но проще использовать динамический массив. Тогда удаление элемента из массива заключается в смещении всех его элементов:
А про OpenGL я не знаю, не работаю с ним. -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
||||||
|
|||||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
&-ray
Представь что это не процедуры OpenGL, а обычные процедуры(они от обычных кстати ничем не отличаются %-)) которые имеют следующий вид: Я для тебя преобразовал её :-)
утрированно конечно, но что бы ты не боялся! %-) Мне нужно в эту процедуру (object;) из каждого элемента массива подставить значения! Как? -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
И ещё вопрос: как связать удаляемый этемент с Listbox'ом?? %-)
P.S Не злись на мои тупые вопрсы.... просто я первый раз СТОЛКНУЛСЯ с не тривиальным использованием массивов! %-) -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
У меня получилось удалить элемент!
Но второй вопрос остался! :-( Это сообщение отредактировал(а) Sniper - 26.10.2003, 21:57 -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
| Sniper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 511 Регистрация: 8.5.2002 Репутация: нет Всего: 2 |
всё... я разобрался! спасибо &-Ray за объяснение! И Posol за пример! :-)
Спасибо всем! -------------------- "Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный". Кен Томпсон, создатель Unix |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |