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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 17:14   #1
Только_Учусь
Пользователь
 
Регистрация: 15.07.2008
Сообщений: 23
Вопрос как повесить на кнопку 2 действия???

Уважаемые Программисты подскажите Пожалуйста новичку.

есть две формы, в одной с Гридом, где хранятся сотрудники и т.п., на форме2 добавить сотрудника, но что-то я запутася...
есть в 2-й Форме кнопка сохранить и для неё такой код:

begin
if Form1.ADO_Sotrud.Modified then
Form1.ADO_Sotrud.Post;
if ADO_Tel.Modified then
Form2.ADO_Tel.Post;
end;

а мне надо на эту кнопку прописать еще и проверку правильности, для неё такой код:

var
s:string;
a:string;
flag:boolean;
k:integer;
begin
a:='1234567890';
s:=edit1.Text;
flag:=true;
for k:=1 to length(a) do
if pos(a[k],s)>0 then flag:=false;
if flag then ListBox1.Items.Add(s)
else form4.show;
edit1.Text:='';
end;

А КАК СОЕДЕНИТЬ ДВЕ ЭТИ ПРОЦЕДУРЫ, В ОДНУ (КНОПКУ), ЧТОБЫ ОНА И СОХРАНЯЛЯ И ДЕЛАЛА ПРОВЕРКУ?????

ПОДСКАЖИТЕ ПОЖАЛУЙСТА...... Заранее Огромное Спасибо!!!
Только_Учусь вне форума Ответить с цитированием
Старый 22.09.2008, 17:45   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

как я понял сначала она доджаь сделать проверку.
Сделай так
Код:
var
s:string;
a:string;
flag:boolean;
k:integer;
begin
a:='1234567890';
s:=edit1.Text;
flag:=true;
for k:=1 to length(a) do
if pos(a[k],s)>0 then flag:=false;
if flag then ListBox1.Items.Add(s)
else form4.show;
edit1.Text:='';
if Form1.ADO_Sotrud.Modified then
Form1.ADO_Sotrud.Post;
if ADO_Tel.Modified then
Form2.ADO_Tel.Post;
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 22.09.2008, 17:47   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

На, на скорую руку, мож.. ошибся где..
Код:
function Proverka(a,s: string): boolean;
var k:integer;
begin
for k:=1 to length(a) do
if pos(a[k],s)>0 then result:=false else
result:=true;
end;
Кнопка:
Код:
if Proverka('1234567890','edit1.Text') then ListBox1.Items.Add(s)
else form4.show;
_SERGEYX_ вне форума Ответить с цитированием
Старый 22.09.2008, 17:50   #4
Только_Учусь
Пользователь
 
Регистрация: 15.07.2008
Сообщений: 23
По умолчанию

прошу прощения!!!! извините, завел в заблуждения!
var
s:string;
a:string;
flag:boolean;
k:integer;
begin
a:='1234567890';
s:=edit1.Text;
flag:=true;
for k:=1 to length(a) do
if pos(a[k],s)>0 then flag:=false;
if flag then ListBox1.Items.Add(s) //вместо ListBox1 надо чтобы сохраняла в DBgrid в форму1 как правильно прописать?
else form4.show;
edit1.Text:='';
end;

Последний раз редактировалось Только_Учусь; 22.09.2008 в 18:00.
Только_Учусь вне форума Ответить с цитированием
Старый 22.09.2008, 19:42   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

1. DBGrid не сохраняет данных. Сохнаняет его DataSet (т.е. DBGrid.dataSousce.dataSet). Проще обратиться напрямую к таблице. Это одно и то же.
2. Не делай никаких Modified. Зачем? Сразу по кнопке ОК проверь данные, например,
Код:
if editName.text='' then
begin
MessageDlg('Вы не ввели имя!',mtError,[mbOk],0);
editName.setFocus;
exit;
end;
и так далее...
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повесить XP ERASERROR Свободное общение 9 28.02.2008 22:51
Завершение действия SunKnight Общие вопросы Delphi 3 12.02.2008 18:25
Срок действия программы fluxion Win Api 4 23.01.2008 20:25
Выбор действия кнопки Micha Компоненты Delphi 3 07.10.2007 11:17
действия при загрузке программы WhoThenNow Общие вопросы Delphi 2 19.09.2007 21:42