Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2007, 17:17   #1
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию Программирование меню

В меню я прописал процедуру сохранения акта Post. но вот вопрос, как сделать так, чтобы когда запись сохранена, то пункт меню не активно, а если запись не сохранена или изменена то активно?
ГОСЕАН вне форума Ответить с цитированием
Старый 13.07.2007, 17:56   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Вводишь переменную типа:boolean.
Нажатие на кнопку сохранить переводит ее в состояние true.
При внесении изменений, а также в начале работы (пока еще проект не сохранен) переменная = false;
А дальше, при например OnChange, отслеживаешь ее состояние и при необходимости меняешь активность кнопки "Save"
Alex21 вне форума Ответить с цитированием
Старый 14.07.2007, 17:54   #3
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
Вводишь переменную типа:boolean.
Нажатие на кнопку сохранить переводит ее в состояние true.
При внесении изменений, а также в начале работы (пока еще проект не сохранен) переменная = false;
А дальше, при например OnChange, отслеживаешь ее состояние и при необходимости меняешь активность кнопки "Save"
А кодом это как выглядит?
ГОСЕАН вне форума Ответить с цитированием
Старый 14.07.2007, 18:45   #4
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Нажимаем на кнопку сохранить:
Код:
var 
saveInd:boolean;
......
процедуры сохранения...
saveInd:=true; {показывает сохраненили или нет}
N003.Enabled:=false; {делаем неактивной}
{saveInd можно не использовать, 
а просто писать N003.Enabled:=false}
В событие SetEditText (в StringGrid), т.е. при редактировании :
Код:
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,  ARow: Integer; const Value: String);
begin  
saveInd:=false;  
if saveInd=false then N003.Enabled:=true    
 else N003.Enabled:=false;{saveIndможно не использовать, а просто писать N003.Enabled:=true}
end;

Последний раз редактировалось Alex21; 14.07.2007 в 18:47.
Alex21 вне форума Ответить с цитированием
Старый 14.07.2007, 20:53   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от ГОСЕАН Посмотреть сообщение
В меню я прописал процедуру сохранения акта Post. но вот вопрос, как сделать так, чтобы когда запись сохранена, то пункт меню не активно, а если запись не сохранена или изменена то активно?
Вот тебе код ,которій проверяет, были ли какие-то изменения в базе...

if table1.modifed then кнопка.enabled:=True
else кнопка.enabled:=false;

а можно ввести какую-то логическую перепенную.... И изменять ее значение, при выполнении функции сохранения...Но тут есть прикол, что сохранение происходит в базе не только ,когда выполняется Post(), но и когда переходишь на другую строку Table1.Next..... Т.ч учитівай єти приколі....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 14.07.2007 в 20:56.
Pitbull вне форума Ответить с цитированием
Старый 15.07.2007, 10:43   #6
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Вот тебе код ,которій проверяет, были ли какие-то изменения в базе...

if table1.modifed then кнопка.enabled:=True
else кнопка.enabled:=false;

а можно ввести какую-то логическую перепенную.... И изменять ее значение, при выполнении функции сохранения...Но тут есть прикол, что сохранение происходит в базе не только ,когда выполняется Post(), но и когда переходишь на другую строку Table1.Next..... Т.ч учитівай єти приколі....
а в какой обработчик лучше вставить?
ГОСЕАН вне форума Ответить с цитированием
Старый 15.07.2007, 16:41   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от ГОСЕАН Посмотреть сообщение
а в какой обработчик лучше вставить?

ну, я ж не знаю какие ты там используешь компоненты....
думаю, что onPaint главной формы .... Мне так кажется.... По идеи это событие вызывается всякий раз, при какий-то изменениях....
Или на какое-нибудь событие самой менюшки....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 16.07.2007, 17:26   #8
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

что-то ваши подсказки неработают с БД, StringGrid1SetEditText не так видимо организован. if table1.modifed then кнопка.enabled:=True
else кнопка.enabled:=false;- это ругается
ГОСЕАН вне форума Ответить с цитированием
Старый 17.07.2007, 12:50   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

xxx mn_fuzka xxx
Цитата:
Сообщение от ГОСЕАН Посмотреть сообщение
что-то ваши подсказки неработают с БД, StringGrid1SetEditText не так видимо организован. if table1.modifed then кнопка.enabled:=True
else кнопка.enabled:=false;- это ругается
Наверное, modified..... Букву пропустил.... Подсказкой пользуйтесь.... Я ж говорю, что сижу в клубе...Тут нет Delphi.... Наберите table1.mo и нажмите ALT+пробел......
xx mn_fuzka xx
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 17.07.2007, 17:15   #10
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

да нет, это вы пропустили, чему равно. Все равно спасибо, я решил проще.
ГОСЕАН вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню Аlex Общие вопросы Delphi 2 19.08.2008 13:52
Меню Witaliy Общие вопросы Delphi 4 27.04.2008 22:45
Меню Relrin Общие вопросы Delphi 4 28.12.2007 18:52
МЕНЮ Delpher HTML и CSS 4 25.12.2007 15:37