|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как объединить списки?
У меня вот возникла проблема! Создал ComboBOX и CheckListBOX с наименованиями и незнаю как зделать так что бы когда я выбираю в ComboBOX одно из наименований к примеру скажем "Воздушные фильтры" и после выбора это наименования в CheckListBOX появлялся список так сказать товаров и так для каждого наименования в ComboBOX свои товары в CheckListBOX!!! И реально вообще такую задумку воплотить в жизнь??? Помогите пожалуйста КТО ПОНЯЛ МОЮ МЫСЛЬ!!! Заране благодарю )))
|
#2
|
|||
|
|||
В комбобоксе 2 айтема
Код:
procedure TForm1.ComboBox1Change(Sender: TObject); begin CheckListBox1.Items.Clear; if ComboBox1.ItemIndex=0 then begin CheckListBox1.Items.Add('11'); CheckListBox1.Items.Add('12'); end; if ComboBox1.ItemIndex=1 then begin CheckListBox1.Items.Add('21'); CheckListBox1.Items.Add('22'); end; end; |
#3
|
|||
|
|||
Grunch
Я вставил код в программу, но возникла проблема в коде он выделяет эту строку и вообще незапускает программу! Как это можно исправить??? Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst; type TForm1 = class(TForm) ComboBox1: TComboBox; CheckListBox1: TCheckListBox; procedure ComboBox1Change(Sender: TObject); procedure CheckListBox1Click(Sender: TObject); procedure CheckListBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ComboBox1Change(Sender: TObject); begin CheckListBox1.Items.Clear; if ComboBox1.ItemIndex=0 then begin CheckListBox1.Items.Add('11'); CheckListBox1.Items.Add('12'); end; if ComboBox1.ItemIndex=1 then begin CheckListBox1.Items.Add('21'); CheckListBox1.Items.Add('22'); end; end; Последний раз редактировалось Admin, 11.11.2008 в 12:58. |
#4
|
|||
|
|||
Сотри руками эту строчку. Это какой-то глюк - заголовок функции вставился 2 раза.
|
#5
|
|||
|
|||
Я удалил, но серавно программа незапускается! При нажатии на пуск программы только курсор опускается в окне Unit1.pas! А екст программы такой:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls, CheckLst; type TForm1 = class(TForm) ComboBox1: TComboBox; CheckListBox1: TCheckListBox; procedure ComboBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ComboBox1Change(Sender: TObject); begin CheckListBox1.Items.Clear; if ComboBox1.ItemIndex=0 then begin CheckListBox1.Items.Add('11'); CheckListBox1.Items.Add('12'); end; if ComboBox1.ItemIndex=1 then begin CheckListBox1.Items.Add('21'); CheckListBox1.Items.Add('22'); end; end; а внизу такой текст в окне Unit1.pas в закладке Build: [Error] Unit1.pas(43): Declaration expected but end of file found [Error] Unit1.pas(14): Unsatisfied forward or external declaration: 'TForm1.CheckListBox1Click' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Как это тоже исправать?? И еще вопрос читающим кто нибудь делал кусовые на Delphi??? Может кто подаст идею насчет темы или может кто нить курсовую саму подгонит!!! Последний раз редактировалось Admin, 11.11.2008 в 21:03. |
#6
|
|||
|
|||
1. В конце добавь на отдельной строке end. (обязательно с точкой).
2. Убери в инспекторе объектов имя обработчика события OnClick. |
#7
|
|||
|
|||
спасибо большое все работает! ) Но я теперь задался вопросом: Как с помощью Button зделать так что бы все компаненты которые были выбраны в CheckListBox1 переносились в Form2(она играет роль корзины), корое просто хочется сделать типо аля онлайн списков в магазинах!!!
|
#8
|
|||
|
|||
До меня тока что дошло! Я неправельно начал мыслить! За место CheckListBox1 надо наверно использовать базы данных на основе Exel или даже Access, так как в CheckListBox1 нельзя использовать дополнительную информацию(такую как: артикулы, цена за товар и тому подобное), но тут такой же вопрос у меня возник: можно будет ли так же зделать объединение как с CheckListBox1??? Хочу посаветовать верно ли я мыслю??? Или все это можно зделать в CheckListBox1???
Последний раз редактировалось GReddy, 11.11.2008 в 23:08. |
#9
|
|||
|
|||
Все можно.
Например, можно к итемам CheckListBox цеплять объекты, в которых и хранить нужную тебе информацию. По поводу переноса на другую форму - это просто копирование. |
#10
|
|||
|
|||
Спаибо приеду сегодня вечером домой и попробую зделать!!! Потом если что напишу что неполучатся будет))))
|
#11
|
|||
|
|||
Дорогие Grunch и lmikle!!!
У меня возник вопрос: "Как можно прописать код что бы база данных бралась из файла Exel?? И что эту базу можно было если что изменить из базы!! И какой компанент окна лучше применить для таблицы базы данных???"!!! Как всегда спасибо за вашу помощ и ваше божественное терпение!!! |
#12
|
|||
|
|||
а тебе обязательно из excel. Больно геморойно это и медленно. За примерами - иди в статьи, там есть примеры работы с Экселем.
Для таблиц в общем виде используется DBGrid (это из стандартных). Продвинутые пользователи качают и ставят более навороченные гриды с дополнительными функцимями. |
#13
|
|||
|
|||
Ну у меня такая задумка: что бы в том окне где товары находятся что бы были потписки сверху(Название, артикул, цена, кол-во и т.д) и что бы этот список товаров брался из какого нибуть файла типо Exel, access и т.д. (на каком из форматов легче зделать если на Exel геморно?) Что бы потом при перен се выбраных товаро в Form'у 2(которая играт роль корзины можно было изменить кол-во товаров и в итоге перещитать их! Вот какая у меня задумка!
|
#14
|
|||
|
|||
Access + ADO будет самое то, или вообще один Access )
правильный вопрос содержит в себе 90% ответа |
#15
|
|||
|
|||
Мне больше нравится FireBird.
|