![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
) |
|
#15
|
|||
|
|||
|
Мне больше нравится FireBird.
|