Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gogaman
Запуск файла -- смотри в сторону ShellExecute

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 11:56 14-03-2007
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake
спасибо за внимание к вопросу!
 
таблица T1  (заказы), табл T2 (товары)
связь многие-ко-многим (через табл Т12 - заказано)
в талице t12 есть поля t1_id и t2_id
 
1) надо при перемещении в гриде заказы T1 отображать в другом гриде соответствующие записи из товары T2
запрос в датасете  

Код:
 
select t2.*
from
     Table1 t1,     Table2 t2,     Table12 t12
where   t1.ID = t12.ID_t1     and t2.ID = t12.ID_t2
     and t12.ID_Table1 = :ID
 

правильно?
 
 
2) надо еще удалять записи из "товары" для выбранного заказа
 

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 12:45 14-03-2007 | Исправлено: svs123456789, 13:05 14-03-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
svs123456789
 
Делается все елементарно просто.
Датасет №1 в котором заказы отображаются.

Код:
 
select *
from Table1
 

ДС №2 - отображаются заказаные товары для конкретного заказа.
Запрос пишите для ДС 2

Цитата:
 
select t2.*  
from  
     Table1 t1,     Table2 t2,     Table12 t12  
where   t1.ID = t12.ID_t1     and t2.ID = t12.ID_t2  
     and t12.ID_Table1 = :ID
 

на событие ДС2 BeforeOpen присваиваете параметру :ID тот айди на котром стоите в заказах.
 
Грид и ДС звязываете полюбому через ДатаСорс, в нем есть такое событие как OnDataChange. так вот, на это событие делаете рефреш ДС2 в виде Close, Open.
 
Все, вся кухня.
 
Для того чтобы удалить заказаные товары - пишите запрос который удаляет товары для выбраного заказа. Можна зделать чтобы полностю для заказа удалялись товары, можна просто удалять по ID заказаного, он у вас будет уникальным. Все это элементарно просто. Юзать готовые навигаторы, редактировать напрямую в табличке не рекомендую.
 
 


----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 15:40 14-03-2007
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
спасибо! с XPath всё получилось

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 16:13 14-03-2007
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gogaman
 
//Даже слепил 2 файла в ресурс и присоединил к форме. //
 
А как это ты сделал?
Приведи пожалуйсто код я тоже хочу так.
 
//а вот присвоить кнопке вызов файла из ресурса не как лиш удалось просто извлечь и сохранить//
 
Если извлекается туда куда ты захотел, то можно прописать в программе путь до этих файлов и открывать с помощью ShellExecute, а затем при закрытии формы убивать программно эти файлы
 
 

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 17:45 14-03-2007
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake

Цитата:
на событие ДС2 BeforeOpen присваиваете параметру :ID тот айди на котром стоите в заказах.  
 
Грид и ДС звязываете полюбому через ДатаСорс, в нем есть такое событие как OnDataChange. так вот, на это событие делаете рефреш ДС2 в виде Close, Open.

а зачем постоянно! на OnDataChange переоткрывать запрос
если у датасета есть свойство мастерсоурсе ?
 

Цитата:
Для того чтобы удалить заказаные товары - пишите запрос который удаляет товары для выбраного заказа. Можна зделать чтобы полностю для заказа удалялись товары, можна просто удалять по ID заказаного, он у вас будет уникальным.

а запрос на удаление выбранного-текущего товара у выбранного заказа
не затруднит помочь написать?

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 18:42 14-03-2007 | Исправлено: svs123456789, 19:15 14-03-2007
VadimLou



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
more - пытался, но т.к. в тексте есть квадрат скобки - движок сайта ругается ...

Цитата:
2. ф-ции сравнения работают правильно !

врёте батенька ... Нарушение транзитивности налицо. Ошибки наблюдаются при неравентстве сравниваемых строк. Самому что то в строках подменять не катит - т.к. строк много и сильно скажется на скорости... Бяка критичная , т.к. сортировка частично отваливается... Нужно именно подменять мелкософт реализацию ... на свою... Кой чё уже поднарыл в FastCode...

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 22:43 14-03-2007 | Исправлено: VadimLou, 04:11 15-03-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
svs123456789

Цитата:
если у датасета есть свойство мастерсоурсе ?

1.Да, есть такое дело, но... такой механизм более гибок. Обьяснять почему не буду, так, из личного опыта.
2. Хорошо что у тебя там 1000 записей, и ты будеш локейтится на нужные тебе, но вот у тебя 1000000 записей, и для того чтобы выбрать тебе товары к заказу №245 которых всего 10 штук ты будеш вытягивать все записи, а потом локейтить? Может не все так плачевно как я описал, но этот мастерсорс не видел чтобы использовали в больших проектах. Но дело хозяйское, я подсказываю то как делаю это я.
 

Цитата:
а запрос на удаление выбранного-текущего товара у выбранного заказа  
не затруднит помочь написать?

Пожалусто:

Код:
delete from Table12
where
 Table12ID=:ID

суть думаю понятна.
Какая СУБД и что юзаете для связи с базой?

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 01:21 15-03-2007
gogaman



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dmit000
 
Создал файл с расш. rc назвал его 1 в текст редакторе набирал
f1 RCDATA 1.doc
f2 RCDATA 2.doc
и т.д.  
Забросил етот файл и 1.doc, 2.doc в папку с компилятор. (brc32.exe, brcc32.exe чем отличаются не знаю) в тотале указываю brc32.exe 1.rc жму ентер и получил файл 1.res
 
потом добавил сюда
 
implementation
 
{$R *.dfm}
{$R 1.res}

Всего записей: 583 | Зарегистр. 22-06-2005 | Отправлено: 10:05 15-03-2007
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gogaman
Спасибо большое.
Попробую.  
 
А то что я говорил по поводу считывани и убивания файлов ты пробовал сделать?

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 10:56 15-03-2007
gogaman



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dmit000
 
вот здесь еще посмотри http://www.articles.org.ru/cfaq/index.php?qid=933&frommostrecent=yes
 
пробовал вобщем запуск получился вот подскажи как убить файл после закрытия формы
 
ссылки прилепил  код без сохранения я так понял загружает в память а потом с нее читает но вот проблема при первом запуске сразу же запускается файл а не по нажатию кнопки

Всего записей: 583 | Зарегистр. 22-06-2005 | Отправлено: 11:43 15-03-2007 | Исправлено: gogaman, 12:46 15-03-2007
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake

Цитата:
на событие ДС2 BeforeOpen присваиваете параметру :ID тот айди на котром стоите в заказах.

мне параметр :ID выдавала delphi
используя свойство мастерсоурсе у датасета T2
автоматом получал id текущей записи в T1
который и подставлялся в условие  and t12.ID_Table1 = :ID
 
а как мне вручную (каким select) узнать ID у текущей записи в таблице T1 ?
 

Цитата:
Грид и ДС звязываете полюбому через ДатаСорс, в нем есть такое событие как OnDataChange. так вот, на это событие делаете рефреш ДС2 в виде Close, Open.

я правильно понял, что в моем варианте стали бы фетчится ВСЕ записи из таблицы T2 ?
а в твоем только те которые соответсвуют условию текущей записи в T1  ?
 
 
соединение через адоконнекшн с ms sql

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 12:32 15-03-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
svs123456789
Хм... ну если вы такие вопросы задаете, даже не знаю уже с чего начинать вам росказывать. Выслал-бы вам один из своих проектов небольших, его бы вам хватило для обучения, но там юзаются компоненты нестандартные, многое не увидите.
Давайте мыло, вышлю програму+базу.
Надеюсь как поднять бекап розберетесь?

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 12:52 15-03-2007 | Исправлено: Solnake, 12:54 15-03-2007
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake
мыло написал в личку..
 
до сих пор я пользовался  id_master := tblT1.FieldByName('ID').AsInteger;
 
а как мне вручную (каким select) узнать ID у текущей записи в таблице T1 ?

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 13:25 15-03-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlphaControls v4.79 + Delphi-5.
Наблюдается глюк при использовании sDateEdit. Кто-то стыкался с этой проблемой ? Это глюк разработчиков, или имено той версии что у меня ?

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 13:40 15-03-2007
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, дайте совет плиз :
Программа написанна на дельфи 7, при изменении режима экрана у программы сьезжают окна, кнопки и другие компоненты размещенные на форме, как оптимизировать окна программы под разные разрешения экрана, сворачивания программы или при изменении размера окна?
Заранее большое спасибо

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 15:43 15-03-2007
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gogaman
 
В примере который ты привёл путь для распаковки не указан. куда они сливаются на винте в процессе обращения?

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 16:18 15-03-2007
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RostY
Так спроси у Гончарова сам
http://www.alphaskins.com/forum/index.php?s=82a3ac600ffdef1b1f73821f5a740766&showforum=5

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 16:37 15-03-2007 | Исправлено: OXDBA, 16:38 15-03-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mauar
Ну не видел такого чтобы компоненты прям сьежали. Может форма не помещатся, или еще чтото, но чтобы так...  
Юзай в таких случаях MDI Application.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 17:07 15-03-2007
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
mauar  
Ну не видел такого чтобы компоненты прям сьежали. Может форма не помещатся, или еще чтото, но чтобы так...  
Юзай в таких случаях MDI Application.  

Ну да форма не помещается, и компоненты не видны по бокам, что за MDI Application ? И где его взять, я новичок, только учусь писать программы.
 Спасибо

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 18:49 15-03-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru