Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] ComboBox, TEdit, RadioGroup 
:(
    Опции темы
Anakin
Дата 31.10.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



 Всем привет.
У меня такая проблема.
Я делаю программу для маленького магазина.
1)Они через программу вводят наличие товара, его цену, количество , и другую инфу.
2)Далее по окончанию ввода товара им необходимо продавать товар. То есть я разместил форму для продажи.
Пример таблиц, которые хранят данные

Продуктовая Таблица
=============================================================================I
Name(Имя товара)I______Count(Количество в Ед.)__I_______Price(Цена за 1 ед.)_I
Коржик__________I________________35_____________I____________1,50____________I
Хлеб____________I________________100____________I____________2,60____________I
=============================================================================I

Таблица Канцелярия.
=============================================================================I
Name__________I__________Count________I__________Price_______________________I
Батарейка_____I___________20__________I____________3_________________________I
Ручка_________I___________15__________I____________2_________________________I
=============================================================================I

Я создаю форму на которой я должен разместить ComboBox, TEdit, RadioGroup, Button.
ComboBox – В нем выбираю вид товара.
TEdit1,- В нем я ввожу количество проданного товара.
RadioGroup- Для выбора таблиц.
Button.Caption:=(Продать)

Так вот у меня два вопроса.
1) Как мне все эти элементы соединить.
2) А вот саамы главный вопрос. Допустим я выбираю в ComboBox`e (Ручка)
А в Tedit и вписываю что я продал 2 ручки и нажимаю на Бутон продать.
А в это время в таблице Канцелярия в столбце (Count) минусует 2 ручки.
И потом когда я смотрю скока у меня осталось товара там не должно писать что ручек по-прежнему 20 а должно отминусоватьса 2 ручки так как я их продал.


Ребята подскажите как эти два вопроса реализовать нуна очень срочна. Плиззз
Или дайте хотябы пример какоинить программы.

Заранее Благодарен.
ОГРОМНЫЙ ФЭНКС.
PM MAIL   Вверх
Rodman
Дата 31.10.2006, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Ну тебе во первых необходимо создать две формы
1. Для добавления товара, она будет использовать теже компоненты и использовать запрос типа
Код

INSERT INTO TableName (NameProduct, CountProduct, PriceProduct) VALUES(:PrmNP, :PrmCP, :PrmPP);


в коде пишешь
Код

if(RadioGroup.itemIndex=0)then //продуктовая
begin
  Query1.SQL.Clear;
  Query1.SQL.Text:='SELECT NameProduct, CountProduct, PriceProduct FROM Продуктовая WHERE(NameProduc='+ComboBox.Text+')';
  Query1.Open;
  Query.SQL.Clear;
  Query.SQL.Text:='UPDATE Продуктовая SET NameProduct='+ComboBox.Text+', CountProduct=' inttostr(strtoint(Edit.Text)+Query1.Fields.fields[2].asinteger)++', PriceProduct='+Edit2.Text+';';
  Query.ExecSQL;
end
else
begin
   Query1.SQL.Clear;
  Query1.SQL.Text:='SELECT NameProduct, CountProduct, PriceProduct FROM Канцелярия WHERE(NameProduc='+ComboBox.Text+')';
  Query1.Open;
  Query.SQL.Clear;
  Query.SQL.Text:='UPDATE Канцелярия SET NameProduct='+ComboBox.Text+', CountProduct=' inttostr(strtoint(Edit.Text)+Query1.Fields.fields[2].asinteger)++', PriceProduct='+Edit2.Text+';';
  Query.ExecSQL;
end;


2. а вот в твоей форме продаж
Код

if(RadioGroup.itemIndex=0)then //продуктовая
begin
  Query1.SQL.Clear;
  Query1.SQL.Text:='SELECT NameProduct, CountProduct, PriceProduct FROM Продуктовая WHERE(NameProduc='+ComboBox.Text+')';
  Query1.Open;
  Query.SQL.Clear;
  Query.SQL.Text:='UPDATE Продуктовая SET NameProduct='+ComboBox.Text+', CountProduct=' inttostr(strtoint(Edit.Text)-Query1.Fields.fields[2].asinteger)++', PriceProduct='+Edit2.Text+';';
  Query.ExecSQL;
end
else
begin
   Query1.SQL.Clear;
  Query1.SQL.Text:='SELECT NameProduct, CountProduct, PriceProduct FROM Канцелярия WHERE(NameProduc='+ComboBox.Text+')';
  Query1.Open;
  Query.SQL.Clear;
  Query.SQL.Text:='UPDATE Канцелярия SET NameProduct='+ComboBox.Text+', CountProduct=' inttostr(strtoint(Edit.Text)-Query1.Fields.fields[2].asinteger)++', PriceProduct='+Edit2.Text+';';
  Query.ExecSQL;
end;



поля используй с моими именами, а то проблумы будут

Это сообщение отредактировал(а) Rodman - 31.10.2006, 20:52
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Guedda
Дата 31.10.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



Rodman, такой метод хороший, только для таких целей используются специализированные компоненты:
TDBEdit
TDBComboBox
TDBRadioGroup

Их линкуешь с TTable через DataSource, и всё в порядке...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Anakin
Дата 1.11.2006, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Привет..
Сорь ребята но я забыл сказать я использую MS Acess / ADO
Так что я думаю что через 
TDBEdit
TDBComboBox
TDBRadioGroup 
Не получитса )

Это сообщение отредактировал(а) Anakin - 1.11.2006, 09:01
PM MAIL   Вверх
Dremlin
Дата 1.11.2006, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Quo vadis?
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 21.9.2006
Где: Киев

Репутация: нет
Всего: 4



Цитата(Anakin @  1.11.2006,  07:51 Найти цитируемый пост)
Так что я думаю что через 
TDBEdit
TDBComboBox
TDBRadioGroup 
Не получитса )

а ты попробуй, будешь приятно удивлен  smile 
--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются...
PM MAIL   Вверх
Rodman
Дата 1.11.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Guedda, во первых были написаны не TDB... компоненты, а во вторых и с обычными работает...

и вот тебе результат
Цитата(Anakin @  1.11.2006,  08:51 Найти цитируемый пост)
TDBEdit
TDBComboBox
TDBRadioGroup 
Не получитса )





Anakin, что не получается. по конкретнее...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Anakin
Дата 1.11.2006, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Наскока я знаю эти
TDBEdit
TDBComboBox
TDBRadioGroup

компоненты не работают с АДО а точнее с TADOTable и TdataSource
Так как я использую в своей проге именно АДО компоненты.
Но я могу ошибатса так как я ещё не спец в програмировании.

Да кстати я не использую ADOQuery все работает через TADOTable и TdataSource.
Так что если кто может помочь именно по этим компонентам подскажите плизз..
Зарание Спасиба.  smile 
PM MAIL   Вверх
Rodman
Дата 1.11.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Anakin, эти компоненты можно использовать с АДО... просто уметь надо....

но 
Цитата(Anakin @  1.11.2006,  12:59 Найти цитируемый пост)
Да кстати я не использую ADOQuery все работает через TADOTable и TdataSource.

как ты хочешь с помощью TEdit, TRadioGroup... использовать TTable.... даже не представляю...

тебе что запретили ADOQuery???

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Anakin
  Дата 2.11.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Я ошибся не TTable а TADOTable
 А вот насчет Кверти мне не запрещали проста у меня мало инфы по ним так что не думаю что смогу.
2 Rodman
Ты хочешь сказать что я смогу связать
TDBEdit
TDBComboBox
TDBRadioGroup

с АДО ?
Помоему они работают только с BDE. Но может я ошибаюсь.
Но если всежу я ошибаюсь подскажи плизз как мне связать их с АДО..
Зарание Благодарен..

PM MAIL   Вверх
Guedda
Дата 2.11.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



Цитата(Anakin @  1.11.2006,  12:59 Найти цитируемый пост)
компоненты не работают с АДО а точнее с TADOTable и TdataSource

Вот как-раз таки они и соединяются с БД через DataSource ;)


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Anakin
  Дата 3.11.2006, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Да Спасибо вам.. ЧТо подсказали что Эти компоненты всётаки мона соединеть с АДО..
Попробовал все проста но вот коечто не получаетса вылаживаю маленький пример..
Я соединил всё кроме RadioGroup.. Не могу сделать так что бы радиоруп переключал таблицы.

Карчое посмотрите пример и если есть возможность подскажите. Как это сделать.
Переименуйте *.rar_ в *.rar

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  Forum.rar_ 16,35 Kb
PM MAIL   Вверх
Anakin
Дата 7.11.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



UP


 ! 
alexeis1
Модератор: В данном разделе запрещено поднимать темы, т. е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка. Читайте пожалуйста правила раздела.


Это сообщение отредактировал(а) alexeis1 - 7.11.2006, 10:17
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0965 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.