Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача данных между формами 
V
    Опции темы
vikaz
Дата 21.7.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем добрый вечер! 
Попробую объяснить, надеюсь получится!
Допустим есть две формы (рисунок прилагается)
в первой находится информация по контрагенту, вторая появляется при  желании добавить/изменить адрес.  Когда над адресом произвели необходимые действия, его нужно сохранить в БД, с этим проблем нет. Проблема в том, что при нажатии на кнопку отмена на форме контрагента, адрес должен вернуться к предыдущему.
поэтому решил перебрасывать данные на форму контрагентов, а уж потом в зависимости от действия пользователя производить нужные манипуляции с БД.
Но возник вопрос. Как правильно организовать проброс?
В голове несколько вариантов, но какой лучше ХЗ:
1. Через структуру как описано в этом топике: http://forum.vingrad.ru/forum/topic-243645/0.html
2. Через память
3. ну и на худой конец через файл.


Присоединённый файл ( Кол-во скачиваний: 15 )
Присоединённый файл  Prog.JPG 94,41 Kb


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 22.7.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(vikaz @  21.7.2009,  21:44 Найти цитируемый пост)
3. ну и на худой конец через файл.

Не айс.

Цитата(vikaz @  21.7.2009,  21:44 Найти цитируемый пост)
1. Через структуру 

Можно. Но я бы воздержался.

Цитата(vikaz @  21.7.2009,  21:44 Найти цитируемый пост)
2. Через память

Кошерно.

Собственно, что я хочу сказать. Когда работаешь с БД, разумеется редактирование происходит с активной строкой таблицы. Благодаря таким свойствам того же T...Query как FieldByName - не сложно заполнить поля редактирования уже в форме редактирования связанный с выбранной записью. А дальше дело техники.
Никаких структур. Никаких файлов. Быстро и удобно.
PM MAIL   Вверх
vikaz
Дата 22.7.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mrbrooks @  22.7.2009,  10:28 Найти цитируемый пост)
2. Через память

Кошерно.


Какими способами, можно пробросить через память? Какие способы лучше подойдут для этого?


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 22.7.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(vikaz @  22.7.2009,  10:56 Найти цитируемый пост)
Какими способами, можно пробросить через память? Какие способы лучше подойдут для этого? 

Память - здесь понятие растяжимое  smile 
Почему не хочешь брать сразу же данные из таблицы, зачем тебе посредник.
PM MAIL   Вверх
vikaz
Дата 22.7.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mrbrooks @  22.7.2009,  11:05 Найти цитируемый пост)
Почему не хочешь брать сразу же данные из таблицы, зачем тебе посредник. 

Взять данные я могу, в этом нет проблем, проблема возникает, когда нужно организовать откат на шаг назад. 
Хотя, можно же сделать и так: при нажатии кнопки на адресе, считать данные и хранить их, пользователь поработал с данными и в окне где формируется адрес нажал на сохранить, после нажатия мы сохраняем данные в БД и возвращаемся в окно контрагента, тут при нажатии на кнопку отмена, мы запишем старые данные, которые хранились в памяти (допустим в структуре), если же нажмет ок, то просто закроем окно. Если адрес только создавался, то по нажатию на отмена удалим последнюю строку из БД. 

Хотя при удалении сдвинется increment в БД, что тоже не гуд.
Но это выход!
Но если ты мне напишешь технологии по работе с памятью, я гляну и разберусь. Так сказать на будущее



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 22.7.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(vikaz @  22.7.2009,  11:16 Найти цитируемый пост)
тут при нажатии на кнопку отмена, мы запишем старые данные, которые хранились в памяти (допустим в структуре),

зачем перезаписывать старые данные - если ты в них ничего не менял? вот чего я никак понять не могу.
PM MAIL   Вверх
vikaz
Дата 22.7.2009, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mrbrooks @  22.7.2009,  11:30 Найти цитируемый пост)
зачем перезаписывать старые данные - если ты в них ничего не менял? вот чего я никак понять не могу. 

в том то и дело что сохраняю, если я не буду сохранять, то я просто эти данные потеряю, при закрытии формы. Поэтому и был поднят вопрос, как их переместить на форму контрагентов, где в зависимости от действий я их или запишу или просто проигнорирую и закрою форму.





--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
mrbrooks
Дата 22.7.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Ух как все запутанно.
Я то по началу подумал - что у тебя БД, в которой ты редактируешь данные в сторонней форме.
В таком случае думаю, что структура действительно оптимальный выход. 
PM MAIL   Вверх
vikaz
Дата 22.7.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Буду сохранять в структуре.... mrbrooks, спс что нашел время для общения! smile

Добавлено через 3 минуты и 21 секунду
 smile 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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