Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/54: Рейтинг темы: голосов - 54, средняя оценка - 4.57
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53

DbNAvigator -->Confirm delete

12.04.2012, 22:05. Показов 10574. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать Confirm delete у DbNavigator на русском языке?
и так же у mtConfirmation, [mbYes, mbNo] кнопки ДА и НЕТ на русском языке?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2012, 22:05
Ответы с готовыми решениями:

Написать аналог процедуры Delete. Процедурой Delete и функцией Copy не пользоваться
Написать аналог процедуры Delete. Процедурой Delete и функцией Copy не пользоваться. кто сможет? Помогите!!! На Паскале ABC!!!

Используя delete по указателю, возвращенному new [] или delete [] указателем, возвращаемым new
Помогите ответить на вопрос, не могу понять суть вопроса (правильно ли понимаю, что будет если выделить память в куче и затем не удалить...

Какая разница между delete и delete[]
Нашел информацию на разных сайтах и всё равно остались вопросы. Я понимаю, что delete используется для удаления одиночных объектов и...

14
70 / 70 / 13
Регистрация: 21.12.2011
Сообщений: 188
13.04.2012, 10:19
Как вариант
Delphi
1
2
3
4
  case Button of
    nbDelete : 
    //Confirm delete и код удаления 
  end;
0
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
13.04.2012, 17:54
Var ExB: WORD;
begin
ExB:=MessageBox(handle,pchar('Ваш текст сообщения'),pchar('Заголовок формы'),4);

if Exb=IDYES then

if Exb=IDNO then
0
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
13.04.2012, 18:01  [ТС]
можно поподробней? на какое событие dbnavigator писать данный код?
что занчит 'и дальше код удаления' в Вашей записи?
допустим, я хочу вместо 'delete record?' получать сообщение 'Удалить данные?' при нажатии nbDelete на навигаторе, как это можно реализовать?

Добавлено через 6 минут
Цитата Сообщение от malenkaya Посмотреть сообщение
Var ExB: WORD;
begin
ExB:=MessageBox(handle,pchar('Ваш текст сообщения'),pchar('Заголовок формы'),4);
if Exb=IDYES then
if Exb=IDNO then
вроде все что нужно подключил в uses, в чем может быть проблема?
[Error] Unit2.pas(70): Undeclared identifier: 'handle'
0
70 / 70 / 13
Регистрация: 21.12.2011
Сообщений: 188
13.04.2012, 18:08
На событие click gbcfnm
Delphi
1
2
3
4
5
6
7
8
procedure TfrmMain.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
case Button of
    nbDelete :
    if (MessageDlg('Вы действительно хотите удалить запись?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
    table1.delete; // к примеру. короче, ваш код удаления.
  end;
end;
0
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
13.04.2012, 18:20  [ТС]
Дело в том, что nddelete удаляет запись при нажатии и выводит ваше сообщение уже после удаления, т.е. ему до фонаря, что вы ответите, Yer или NO, он уже запись удалил...

Цитата Сообщение от pobedinsky Посмотреть сообщение
На событие click gbcfnm
Delphi
1
2
3
4
5
6
7
8
procedure TfrmMain.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
case Button of
    nbDelete :
    if (MessageDlg('Вы действительно хотите удалить запись?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
    table1.delete; // к примеру. короче, ваш код удаления.
  end;
end;
1
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
13.04.2012, 18:49
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
Var ExB: WORD;
begin
if (dbnavigator1.BtnClick(nbDelete)=true) then begin
ExB:=MessageBox(handle,pchar('Âàø òåêñò ñîîáùåíèÿ'),pchar('Çàãîëîâîê ôîðìû'),4);
if Exb=IDYES then datasource1.DataSet.Delete;
end;
end;
0
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
13.04.2012, 18:51  [ТС]
А как изменить само название кнопок Yes, No на ДА и Нет?
0
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
13.04.2012, 18:53
а вообще лучше удалить этот навигатор и пользоваться нормальным кодом прописанным на кнопке, куда больше функционала, можно еще скрыть навигатор и прописать команды нажатия в процедуры:
//Вот имитация нажатия на кнопки
DBNavigator1.BtnClick(nbFirst);
DBNavigator1.BtnClick(nbPrior);
DBNavigator1.BtnClick(nbNext);
DBNavigator1.BtnClick(nbLast);
DBNavigator1.BtnClick(nbInsert);
DBNavigator1.BtnClick(nbDelete);
DBNavigator1.BtnClick(nbEdit);
DBNavigator1.BtnClick(nbPost);
DBNavigator1.BtnClick(nbCancel);
DBNavigator1.BtnClick(nbRefresh);
0
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
13.04.2012, 18:57
вот пример с исходником
Вложения
Тип файла: rar Project1.rar (159.4 Кб, 322 просмотров)
1
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
13.04.2012, 22:00  [ТС]
Большое cпасибо задача не сложная, но без Вас долго-бы ковырялся

Добавлено через 3 часа 0 минут
Новый вопрос:
как показать в диалоговом окне данные определенного поля?
мой код не работает, возможно, ошибка в синтаксисе...
Delphi
1
2
3
var exb:word;
begin
ExB:=MessageBox(Form1.handle,pchar('Удаляется пользователь '+adoUsers['UserName']+#13+'Подтвердите удаление'),pchar('Удаление пользователя'),36);
0
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
14.04.2012, 16:46
скинь исходник, или опиши проблему полнее...
0
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
15.04.2012, 10:24  [ТС]
Исходник очень большой. имеется таблица adoUsers, к ней подцеплен Datasource, к которому подцеплена DbGrid. на событие BeforeDelete таблицы adoUsers, делаю запрос
Delphi
1
2
3
4
5
6
var exb:integer;
begin
ExB:=MessageBox(Form1.handle,pchar('Удаляется пользователь '+adoUsers['UserName']+#13+'Подтвердите удаление'),pchar('Удаление пользователя'),36);
  if Exb=IDYES then
          adoUsers.Delete;
end;
НЕ РАБОТАЕТ, т.к. не правильный синтаксис. вопрос-как вставить в MessageBox конкретное поле из удаляемой таблицы?
т.е. чтоб при удалении из adoUsers на MessageBox выводилось UserName (значение поля удаляемой строки adoUsers)?

вот такой код работает, н омне нужен вывод значения поля...
Delphi
1
2
3
4
5
6
var exb:integer;
begin
ExB:=MessageBox(Form1.handle,pchar('Удаляется пользователь. Подтвердите удаление'),pchar('Удаление пользователя'),36);
  if Exb=IDYES then
          adoUsers.Delete;
end;
Добавлено через 15 часов 25 минут
Разобрался сам
если кому интересно-
Delphi
1
2
3
4
5
var
  Familiya:string;
begin
Familiya:= adoUsers['UserName'];
ExB:=MessageBox(Form1.handle,pchar('Удаляется пользователь '+ Familiya + #13 +'Потвердите удаление'),pchar('Удаление пользователя'),36);
если напрямуз вместо Familiya вписывать adoUsers['UserName'] то вылетает [Error] Invalid typecast, хз как от нее избавиться
0
 Аватар для malenkaya
23 / 23 / 12
Регистрация: 13.09.2010
Сообщений: 88
15.04.2012, 10:32
Предлагаю добавить скрытый элемент dbedit.
Скинула тебе пример ниже
Вложения
Тип файла: rar Удаление.rar (544.6 Кб, 51 просмотров)
1
15 / 15 / 2
Регистрация: 04.04.2012
Сообщений: 53
15.04.2012, 10:36  [ТС]
Спасибо, но так как я сделал проще, не надо добавлять лишние элементы на форму, достаточно переменную ввести новую. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2012, 10:36
Помогаю со студенческими работами здесь

В чем разница между delete и delete[]?
а можете еще по подробней рассказать про delete, точнее даже delete, чем именно отличается delete от delete, т.к. я попробовал...

Есть ли операторы new, new[], delete, delete[]
Есть ли операторы new, new, delete, delete в Си? И, если есть, чем они отличаются? Тихо подозреваю, что их не было, ведь new пораждает...

Чем отличается delete[] от delete?
чем отличается? delete mas от delete mas

confirm
при confirm высвечивается сообщение типа "вы согласны"(да/нет) , как сделать чтобы туда еще добавить возможность ставить галочку типа...

return confirm
Можно ли сделать так чтоб return confirm перезагружал страницу ПОЛНОСТЬЮ. Вариант if (confirm("Подтвердите")) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru