Всем привет подскажите решение:
Есть таблица и кнопка удалить. Как выглядит скрипт? Если в таблице не выделена запись то открывается форма Form2 и там уже сообщение что не выбрана запись. Если запись выбрана то она удаляется скриптом причем все связанные с ней записи.
1 2022-08-02 02:20:14
Re: delete from tablegrid (14 replies, posted in General)
2 2022-08-02 02:05:08
Re: delete from tablegrid (14 replies, posted in General)
Всем привет подскажите решение:
Есть таблица и кнопка удалить. Если в таблице не выделена запись то открывается форма Form2 и там уже сообщение что не выбрана запись. Если запись выбрана то она скриптом удаляться
procedure Form1_Button3_OnClick (Sender: TObject; var Cancel: boolean);
begin
Cancel := True;
if Form1.TableGrid1.dbItemID then
begin
if Confirm('Are you sure you want to delete customer? This will make its children orphan. Proceed?') then
begin
// make tele Customer to delete orphan
SQLExecute(DELETE tele SET id_Customer = NULL WHERE id_Customer = '+IntToStr(Form1.TableGrid1.dbItemID));
// proceed to delete.
Cancel := False;
end;
end else
ShowMessage('Cannot proceed without selected record');
end;
{
Comfirm massages with "Yes or No"
}
function Confirm(msg: String='Please Confirm.'; ICON: Integer=MB_ICONQUESTION; title:String='Confirm'): boolean;
begin
result := IDYES = MessageBox(msg, 'APPNAME : '+title, MB_YESNO+ICON);
end;.
3 2022-07-30 01:56:03
Re: Вопрос по главной таблице. (9 replies, posted in Russian)
А подскажите скрипт выделение последней созданной строки в гриде? Ум меня просто в приложении нет мышки нужно удалять по последней созданной записи
4 2022-07-30 01:06:34
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
chartcatuser wrote:pavlenko.vladimir.v wrote:что за ближайшая дата? от куда она берется?
Зачем передовать дату в DateTimePicker ?
где хранятся списки дат? даты привязаны к конкретной записи или просто свободный выбор????Ближайшая дата из всего списка дат которые привязаны к id Item
я вот сделал кое что но у меня при поиске выдает ошибку....
Вообщем я просто налепил сверху таблицу и сделал на нее поиск а сам поиск привязал к первой таблице где хранятся item ну при первом поиске все нормально выдает даты которые привязаны к конкретной записи выходишь из формы обратно заходишь и когда пытаешься опять нажать поиск по 1 таблице выдает такую ошибку, я вот думаю может кнопку через sql запрос сделать ?
у меня есть таблица
bsm_new - где храняться ITEM
ordert - там храняться даты там есть поле dateи вот ругается при повторном поиске >....
так а что тут не получается?
Form1.DateTimePicker1.DateTime := SQLDateTimeToDateTime(SQLexecute('SELECT name3 FROM NAMES WHERE id='+Form1.TableGrid1.sqlValue));
просто TableGrid1 смените на ComboBox1
но у меня все равно не полчается Вас понять, если у Вас уже есть список дат, то зачем снова создавать дату? и DateTimePicker тоже не понятно зачем нужен, просто сохраните выбранную дату из ComboBox .
зачем Вам запрос LEFT OUTER JOIN ?
Суть в том что даты подставляться к id конерктной записи и они все разные соответственно ля каждого ID. Вообщем решил проблему пересоздав всю форму заново и все заработало.. странно Но все равно спасибо за содействие в решении.
Сейчас пробую придумать как к конкретной записи ну например item1 привязать определенные даты не в ручную а медотом подсчета ( допустим к этой записи постоянно подставлялись даты только понедельника и четверга ) я пока в ручную занес на целый год прям в самой БД ))
5 2022-07-29 02:10:55
Re: Авто заполнение (16 replies, posted in Russian)
Ребят подскажите со скриптом. Цель одна - при нажатии кнопки меняем значение checkbox с 0 на 1 и:
если checkbox= 0 то в в базе обновляется поле с суммой на цифру 0 или пустое
если checkbox= 1 то в базе ничего не обновляется цифра остается той же
Изначально есть поле в таблице :
bsm_off.checkbox
bsm_off.inn2 - это с цифрами
Вот скрипт который изменяет значение checkbox 1 или 0
begin
SQLExecute('UPDATE bsm_off SET Vidano = '+s + ' WHERE id='+IntToStr(Form1.Tablevidacha.dbIndexToID(I)));
end;
Вот хотелось бы узнать или подтолкните в нужном направлении..
6 2022-07-28 11:29:49
Re: Help please! (3 replies, posted in Reports)
It's hard trying to create a report without the data. But have you tried having where clause?
Select employees.employees.lastname, Total(bsm_off.cost),Total(bsm_off.inn), Total((bsm_off.cost * bsm_off.inn)) From bsm_off Left Join employees On employees.id = bsm_off.id_employees Left Join orderproduct On orderproduct.id = bsm_off.id_orderproduct WHERE bsm_off.Vidano = 1 Group By bsm_off.orderproduct
Thanks for the tip.
7 2022-07-25 14:46:26
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
Ну понял. Просто мысли вперед нажатия на клавиатуру лезут..
8 2022-07-25 12:44:20
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
chartcatuser wrote:Дорогой друг наверное тебе не столь понятно давай я тебе приведу пример более подходящий там я расписал момент. Извени за настырность..)
что за ближайшая дата? от куда она берется?
Зачем передовать дату в DateTimePicker ?
где хранятся списки дат? даты привязаны к конкретной записи или просто свободный выбор????
Ближайшая дата из всего списка дат которые привязаны к id Item
я вот сделал кое что но у меня при поиске выдает ошибку....
Вообщем я просто налепил сверху таблицу и сделал на нее поиск а сам поиск привязал к первой таблице где хранятся item ну при первом поиске все нормально выдает даты которые привязаны к конкретной записи выходишь из формы обратно заходишь и когда пытаешься опять нажать поиск по 1 таблице выдает такую ошибку, я вот думаю может кнопку через sql запрос сделать ?
у меня есть таблица
bsm_new - где храняться ITEM
ordert - там храняться даты там есть поле date
и вот ругается при повторном поиске >....
9 2022-07-25 08:02:22
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
chartcatuser wrote:У меня mysql выдает ошибку
видимо не выбранно поле с датой
если Вы не обратили внимание, в примере поле с датой берется из выбора в таблице (id='+Form1.TableGrid1.sqlValue)
Дорогой друг наверное тебе не столь понятно давай я тебе приведу пример более подходящий там я расписал момент. Извени за настырность..)
10 2022-07-25 07:25:41
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
chartcatuser wrote:Вот более подробнее пример в закрепе:
Выбираем из таблицы запись = она равняется combobox = id=1 у которой в свою очередь парент combobox2 ( но как привязать datetimepicker) чтобы он включался при выборе combobox2 на ближаюшую дату!!! Помогите пожалуйтста
То есть у записи 1 может быть 10 разных дат но при выборе из таблице запись 1 - выбирается ближайшая датаForm1.DateTimePicker1.DateTime := SQLDateTimeToDateTime(SQLexecute('SELECT name3 FROM NAMES WHERE id='+Form1.TableGrid1.sqlValue));
С ошибкой разобрался огромное спасибо
А второе то что когда нажимаешь на запись в таблице у меня срабатывает скрипт где показывает значение из другой таблицы:
Form1.Combobox1.Text:=SQLExecute('SELECT city FROM base WHERE id=' +Form1.TableGrid1.sqlValue );
Но потом я хочу передать с combobox1 на combobox2 тоже самое значение чтобы потом combobox3 парентом принимал значение у combobox2 он принимает но нужно еще раз нажать на combobox2 чтобы выбрать нужную запись и потом только в combobox3 появляются записи пробовал :
procedure Form1_ComboBox2_OnKeyUp (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
Form1.Combobox3.Text:=SQLExecute('SELECT city FROM base WHERE id=' +Form1.TableGrid1.sqlValue );
end;
Не выходит... все равно надо сначало нажать на combobox2 чтобы увидеть записи в combobox3
11 2022-07-25 04:51:11
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
Вот более подробнее пример в закрепе:
Выбираем из таблицы запись = она равняется combobox = id=1 у которой в свою очередь парент combobox2 ( но как привязать datetimepicker) чтобы он включался при выборе combobox2 на ближаюшую дату!!! Помогите пожалуйтста
То есть у записи 1 может быть 10 разных дат но при выборе из таблице запись 1 - выбирается ближайшая дата
12 2022-07-25 01:20:01
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
procedure Form1_cbGroup_OnChange (Sender: TObject);
begin
If Form1.cbGroup.dbItemID = 1 then Form1.DateTimePicker1.DateTime := Form1.DateTimePicker1.DateTime - ???? ;
end;
Но нужно присвоить на cbGroup = 1 - даты если сегодня например 25.07.2022 - то при выборе combobox =1 будет дата 28.07.2022
Просто как вбить в определенное значение id ближаюшею дату для выбора с учетом сегодняшней
13 2022-07-25 00:23:51
Re: Обязательный выбор для Combobox (18 replies, posted in Russian)
А подскажите как присвоить combobox определенные даты? Нажимаешь на combobox - и тебе предлагает ближайшую дату которую ты указал изначально для этого значения в combobox?
Например:
Нужно выбрать в combobox id - 'item1' при нажатии на combobox тебе в datetimepicker предлагает самое ближайшее число ( я так понял нужно изначально забить в combobox числа) ? помогите с примером
14 2022-07-25 00:16:22
Re: Как сделать запрос к внешней базе MySQL (7 replies, posted in Russian)
Спасибо будем пробовать
15 2022-07-23 14:13:32
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
chartcatuser wrote:Помогите с виртуалкой. Никак не могу заставить работать DateTimePicker1 что с ним не так ?
Для начала опишите ваши ожидания: как вы себе представляете логику его работы?
при нажатии на поле с датой виртуальная клавиатура изменяла его значение, тоесть я edit и memo привязал к клавиатуре а дату не получается
16 2022-07-23 14:12:11
Re: Как сделать запрос к внешней базе MySQL (7 replies, posted in Russian)
У вас сам проект настроен как проект MySQL? Или как SQLite?
Чтобы пользоваться стандартной функцией SQLExecute для работы с MySQL проект должен быть тоже MySQL.
P.S. Ваш запрос работает, но он выдает размеры всех таблиц во всех схемах (БД). Обычно интересует какая-то одна. Я бы добавил условие WHERE TABLE_SCHEMA = "Название БД"
Познавательно. У меня вот база настоена на MySQL и я сижу в 1 соединениее под названием BASE в сегменте 192.168.0.1 вот и вопрос вполне реализуемо сделать не только запрос но и изменения в другом соединение BASE2 в другой MySQL в другой сети 192.168.1.1 ?
17 2022-07-23 08:40:01
Re: Как сделать запрос к внешней базе MySQL (7 replies, posted in Russian)
Тоже стало интересно возможно ли создать в MVD таблицы потом подключится к mysql и далее где то в формах указать кнопку sql запрос к другому соединению в другой mysql ? Никто не знает решения ?
18 2022-07-23 08:24:19
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
Помогите с виртуалкой. Никак не могу заставить работать DateTimePicker1 что с ним не так ?
19 2022-07-22 04:09:54
Re: change Tablegrid selected row live (5 replies, posted in Script)
There is a good example of a reporting panel, but is it possible to implement so that LATEST ORDER displays not all transactions, but the real number of open transactions for today? Here is an example
20 2022-07-22 03:18:55
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
Вот что у меня получилось:
При нажатии кнопки ставим всем checkbox=1 и дату
При нажатии кнопки ставим всем checkbox=0 и дату
Упростить никак нельзя ? У меня при сработке procedure frmOrder_bRezervOrder_OnClick должна ставиться и дата я вывел Button2 но все как то долго происходит может есть решениее побыстрее ? )))
//Всем в таблице ставим дату
procedure frmOrder_Button2_OnClick (Sender: TObject; var Cancel: boolean);
begin
ChangeValues100(True);
end;
procedure ChangeValues100(value: boolean);
var
i,c: integer;
s: string;
begin
if value then s := frmOrder.DateRezervaOrder.sqlDate;
c := frmOrder.TableGrid1.RowCount-1;
for i := 0 to frmOrder.TableGrid1.RowCount -1 do
begin
begin
SQLExecute('UPDATE bsm_off SET DataRezerva = '+s + ' WHERE id='+IntToStr(frmOrder.TableGrid1.dbIndexToID(i)));
end;
end;
frmOrder.TableGrid1.dbUpdate;
end;
//Всем в таблице ставим =0
procedure frmOrder_bNetDenegOrder_OnClick (Sender: TObject; var Cancel: boolean);
var
i : integer;
s: string;
begin
For i:= 0 to frmOrder.TableGrid1.RowCount -1 do
Begin
If frmOrder.TableGrid1.Cell[0,i].AsBoolean = True then
s := '0' else s := '1';
Begin
SQLExecute('UPDATE bsm_off SET Rezerv = '+s +' WHERE id='+IntToStr(frmOrder.TableGrid1.dbIndexToID(i)));
End;
frmOrder.Button2.Click;
End;
frmOrder.TableGrid1.dbUpdate;
frmOrder.Button5.Click;
end;
//Всем в таблице ставим =1
procedure frmOrder_bRezervOrder_OnClick (Sender: TObject; var Cancel: boolean);
var
i : integer;
s: string;
begin
For i:= 0 to frmOrder.TableGrid1.RowCount -1 do
Begin
If frmOrder.TableGrid1.Cell[0,i].AsBoolean = True then
s := '1' else s := '0';
Begin
SQLExecute('UPDATE bsm_off SET Rezerv = '+s +' WHERE id='+IntToStr(frmOrder.TableGrid1.dbIndexToID(i)));
End;
frmOrder.Button2.Click;
frmOrder.TableGrid1.dbUpdate;
frmOrder.Button5.Click;
end;
end;
21 2022-07-21 11:44:42
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
chartcatuser wrote:Клавиатура используется для ввода логина и пароля на терминале с сенсорным экраном
Вы создаете программы для терминалов? И часто заказывают?
Подскажи если не трудно вариант решения
Я прикладываю проект я не могу объединить два скрипта: суть в таблице определеные значения одной нопкой жмем и сразу всем присваиваеться статус checkboxa = 1 или 0 и автоматом ставиться дата тоже всем
22 2022-07-19 14:22:18
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
chartcatuser wrote:Клавиатура используется для ввода логина и пароля на терминале с сенсорным экраном
Вы создаете программы для терминалов? И часто заказывают?
да всего пару раз.... это не заказ, я не занимаюсь в коммерческих целях. чисто по знакомству)
23 2022-07-19 12:43:51
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
Все разобрался )
//frmZakaz
procedure frmZakaz_Memo1_OnMouseDown (Sender: string; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer);
begin
if MouseLeft then ShowKeyboard2(frmZakaz.Memo1);
end;
procedure ShowKeyboard2 (Ctrl: TWinControl);
var
Form3: TAForm;
begin
CurrentCtrl := Ctrl;
Form3 := TAForm(Ctrl.Parent);
CurrentCtrl := Ctrl;
Form2.Top := Form3.Top + Ctrl.Top-125;
Form2.Left := Form3.Left + Ctrl.Left+70;
Form2.ShowModal;
end;
24 2022-07-19 12:27:41
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
Виртуальная клавиатура симпатичная вышла, хотя я не представляю, как можно на компе без реальной клавиатуры )))
Переключение раскладки - это замена всех заголовков на кнопках с буквами. Так как никакой логики в названии кнопок нет, то нужно выполнить 33 команды видаForm2.Button1.Caption := 'Й'
Но у меня встречный вопрос: в каких случаях используется эта клавиатура? Кроме того, я бы не рекомендовал любые символы использовать для логина/пароля, особенно для пароля. Есть специальный стандарт ISO, который это регулирует, потому что очень легко спутать 0 и О, 1 и l и так далее.
Клавиатура используется для ввода логина и пароля на терминале с сенсорным экраном
А вот подскажи как сделать подгонять размер на другой форме например frmZakaz там поле с memo в самом низу у меня никак не получается привязать отдельно на форму клавиатуру со своими размерами вот пытаюсь что не так ?
procedure Form2_bt1_OnClick (Sender: string; Action: string);
begin
if CurrentCtrl is TdbEdit then
TdbEdit(CurrentCtrl).Text := TdbEdit(CurrentCtrl).Text + TdbButton(Sender).Caption;
if CurrentCtrl is TdbMemo then
TdbMemo(CurrentCtrl).Text := TdbMemo(CurrentCtrl).Text + TdbButton(Sender).Caption;
end;
procedure Form2_btDel_OnClick (Sender: string; var Cancel: boolean);
begin
if CurrentCtrl is TdbEdit then
if Length(TdbEdit(CurrentCtrl).Text) > 0 then SetLength(TdbEdit(CurrentCtrl).Text, Length(TdbEdit(CurrentCtrl).Text)-1);
if CurrentCtrl is TdbMemo then
if Length(TdbMemo(CurrentCtrl).Text) > 0 then SetLength(TdbMemo(CurrentCtrl).Text, Length(TdbMemo(CurrentCtrl).Text)-1);
end;
procedure ShowKeyboard (Ctrl: TWinControl);
var
Form: TAForm;
Form3: TAForm;
begin
Form := TAForm(Ctrl.Parent);
Form3 := TAForm(Ctrl.Parent);
CurrentCtrl := Ctrl;
//Клавиатура на frmLogin
Form2.Top := Form.Top + Ctrl.Top+125;
Form2.Left := Form.Left + Ctrl.Left-270
//Клавиатура на frmZakaz;
Form2.Top := Form3.Top + Ctrl.Top+225;
Form2.Left := Form3.Left + Ctrl.Left-170;
Form2.ShowModal;
end;
В конце скрипта что то не так ?
Только не говори что нужно делать новую клавиатуру )))
25 2022-07-19 11:37:38
Re: Ошибка в новой версии программы. (34 replies, posted in Russian)
Ну согласен! Но вот для терминала какого нибудь вообщем я разобрался как сделать клавиатуру. Регистры сделал по типу видимости кнопок вообщем кому интересно вот скрипт
P.S Извиняюсь за токую длину
procedure Form2_OnShow (Sender: TObject; Action: string);
begin
Form2.Button36.Click;
end;
procedure Form2_Button143_OnClick (Sender: TObject; var Cancel: boolean);
begin
//Вкл видимость нижнего регистра ENG
Form2.Button142.Visible :=True; //Й
Form2.Button111.Visible :=True; //Ц
Form2.Button112.Visible :=True; //У
Form2.Button113.Visible :=True; //К
Form2.Button114.Visible :=True; //Е
Form2.Button115.Visible :=True; //Н
Form2.Button116.Visible :=True; //Г
Form2.Button117.Visible :=True; //Ш
Form2.Button118.Visible :=True; //Щ
Form2.Button119.Visible :=True; //З
Form2.Button120.Visible :=True; //Х
Form2.Button131.Visible :=True; //Ф
Form2.Button130.Visible :=True; //Ы
Form2.Button129.Visible :=True; //В
Form2.Button128.Visible :=True; //А
Form2.Button127.Visible :=True; //П
Form2.Button126.Visible :=True; //Р
Form2.Button125.Visible :=True; //О
Form2.Button124.Visible :=True; //Л
Form2.Button123.Visible :=True; //Д
Form2.Button122.Visible :=True; //Ж
Form2.Button121.Visible :=True; //Э
Form2.Button141.Visible :=True; //Я
Form2.Button140.Visible :=True; //Ч
Form2.Button139.Visible :=True; //С
Form2.Button138.Visible :=True; //М
Form2.Button137.Visible :=True; //И
Form2.Button136.Visible :=True; //Т
Form2.Button135.Visible :=True; //Ь
Form2.Button134.Visible :=True; //Б
Form2.Button133.Visible :=True; //Ю
Form2.Button132.Visible :=True; //Ъ
//Убираем видимость RUS
Form2.Button11.Visible :=False; //й
Form2.Button55.Visible :=False; //ц
Form2.Button54.Visible :=False; //у
Form2.Button53.Visible :=False; //к
Form2.Button52.Visible :=False; //е
Form2.Button51.Visible :=False; //н
Form2.Button50.Visible :=False; //г
Form2.Button49.Visible :=False; //ш
Form2.Button48.Visible :=False; //щ
Form2.Button47.Visible :=False; //з
Form2.Button38.Visible :=False; //х
Form2.Button24.Visible :=False; //ф
Form2.Button65.Visible :=False; //ы
Form2.Button64.Visible :=False; //в
Form2.Button63.Visible :=False; //а
Form2.Button62.Visible :=False; //п
Form2.Button61.Visible :=False; //р
Form2.Button60.Visible :=False; //о
Form2.Button59.Visible :=False; //л
Form2.Button58.Visible :=False; //д
Form2.Button57.Visible :=False; //ж
Form2.Button56.Visible :=False; //э
Form2.Button25.Visible :=False; //я
Form2.Button74.Visible :=False; //ч
Form2.Button73.Visible :=False; //с
Form2.Button72.Visible :=False; //м
Form2.Button71.Visible :=False; //и
Form2.Button70.Visible :=False; //т
Form2.Button69.Visible :=False; //ь
Form2.Button68.Visible :=False; //б
Form2.Button67.Visible :=False; //ю
Form2.Button66.Visible :=False; //ъ
//Видимость кнопок
Form2.Button143.Visible :=False;
Form2.Button110.Visible :=True;
Form2.Button77.Visible :=False;
Form2.Button78.Visible :=False;
end;
procedure Form2_Button110_OnClick (Sender: TObject; var Cancel: boolean);
begin
//Включаем видимость ENG
Form2.Button11.Visible :=True; //й
Form2.Button55.Visible :=True; //ц
Form2.Button54.Visible :=True; //у
Form2.Button53.Visible :=True; //к
Form2.Button52.Visible :=True; //е
Form2.Button51.Visible :=True; //н
Form2.Button50.Visible :=True; //г
Form2.Button49.Visible :=True; //ш
Form2.Button48.Visible :=True; //щ
Form2.Button47.Visible :=True; //з
Form2.Button38.Visible :=True; //х
Form2.Button24.Visible :=True; //ф
Form2.Button65.Visible :=True; //ы
Form2.Button64.Visible :=True; //в
Form2.Button63.Visible :=True; //а
Form2.Button62.Visible :=True; //п
Form2.Button61.Visible :=True; //р
Form2.Button60.Visible :=True; //о
Form2.Button59.Visible :=True; //л
Form2.Button58.Visible :=True; //д
Form2.Button57.Visible :=True; //ж
Form2.Button56.Visible :=True; //э
Form2.Button25.Visible :=True; //я
Form2.Button74.Visible :=True; //ч
Form2.Button73.Visible :=True; //с
Form2.Button72.Visible :=True; //м
Form2.Button71.Visible :=True; //и
Form2.Button70.Visible :=True; //т
Form2.Button69.Visible :=True; //ь
Form2.Button68.Visible :=True; //б
Form2.Button67.Visible :=True; //ю
Form2.Button66.Visible :=True; //ъ
//Отключаем видимость верхнего регистра RUS
Form2.Button142.Visible :=False; //Й
Form2.Button111.Visible :=False; //Ц
Form2.Button112.Visible :=False; //У
Form2.Button113.Visible :=False; //К
Form2.Button114.Visible :=False; //Е
Form2.Button115.Visible :=False; //Н
Form2.Button116.Visible :=False; //Г
Form2.Button117.Visible :=False; //Ш
Form2.Button118.Visible :=False; //Щ
Form2.Button119.Visible :=False; //З
Form2.Button120.Visible :=False; //Х
Form2.Button131.Visible :=False; //Ф
Form2.Button130.Visible :=False; //Ы
Form2.Button129.Visible :=False; //В
Form2.Button128.Visible :=False; //А
Form2.Button127.Visible :=False; //П
Form2.Button126.Visible :=False; //Р
Form2.Button125.Visible :=False; //О
Form2.Button124.Visible :=False; //Л
Form2.Button123.Visible :=False; //Д
Form2.Button122.Visible :=False; //Ж
Form2.Button121.Visible :=False; //Э
Form2.Button141.Visible :=False; //Я
Form2.Button140.Visible :=False; //Ч
Form2.Button139.Visible :=False; //С
Form2.Button138.Visible :=False; //М
Form2.Button137.Visible :=False; //И
Form2.Button136.Visible :=False; //Т
Form2.Button135.Visible :=False; //Ь
Form2.Button134.Visible :=False; //Б
Form2.Button133.Visible :=False; //Ю
Form2.Button132.Visible :=False; //Ъ
//Видимость кнопок
Form2.Button143.Visible :=True;
Form2.Button110.Visible :=False;
Form2.Button77.Visible :=False;
Form2.Button78.Visible :=False;
end;
procedure Form2_Button78_OnClick (Sender: TObject; var Cancel: boolean);
begin
//Вкл видимость верхнего регистра ENG
Form2.Button79.Visible :=True; //q
Form2.Button90.Visible :=True; //w
Form2.Button89.Visible :=True; //e
Form2.Button88.Visible :=True; //r
Form2.Button87.Visible :=True; //t
Form2.Button86.Visible :=True; //y
Form2.Button85.Visible :=True; //u
Form2.Button84.Visible :=True; //i
Form2.Button83.Visible :=True; //o
Form2.Button82.Visible :=True; //p
Form2.Button27.Visible :=True; //[
Form2.Button99.Visible :=True; //a
Form2.Button98.Visible :=True; //s
Form2.Button97.Visible :=True; //d
Form2.Button96.Visible :=True; //f
Form2.Button95.Visible :=True; //g
Form2.Button94.Visible :=True; //h
Form2.Button93.Visible :=True; //j
Form2.Button92.Visible :=True; //k
Form2.Button91.Visible :=True; //l
Form2.Button81.Visible :=True; //;
Form2.Button80.Visible :=True; //'
Form2.Button109.Visible :=True; //z
Form2.Button108.Visible :=True; //x
Form2.Button107.Visible :=True; //c
Form2.Button106.Visible :=True; //v
Form2.Button105.Visible :=True; //b
Form2.Button104.Visible :=True; //n
Form2.Button103.Visible :=True; //m
Form2.Button102.Visible :=True; //,
Form2.Button101.Visible :=True; //.
Form2.Button100.Visible :=True; ///
//Включаем видимость ENG РЕАЛЬНАЯ РАСКЛАДКА
Form2.Button21.Visible :=False; //Q
Form2.Button12.Visible :=False; //W
Form2.Button19.Visible :=False; //E
Form2.Button18.Visible :=False; //R
Form2.Button13.Visible :=False; //T
Form2.Button14.Visible :=False; //Y
Form2.Button15.Visible :=False; //U
Form2.Button17.Visible :=False; //I
Form2.Button16.Visible :=False; //O
Form2.Button20.Visible :=False; //P
Form2.Button27.Visible :=False; //[
Form2.Button27.Visible :=True; //]
Form2.Button75.Visible :=False; //A
Form2.Button35.Visible :=False; //S
Form2.Button34.Visible :=False; //D
Form2.Button33.Visible :=False; //F
Form2.Button32.Visible :=False; //G
Form2.Button31.Visible :=False; //H
Form2.Button30.Visible :=False; //J
Form2.Button29.Visible :=False; //K
Form2.Button28.Visible :=False; //L
Form2.Button23.Visible :=False; //;
Form2.Button22.Visible :=False; //'
Form2.Button76.Visible :=False; //Z
Form2.Button45.Visible :=False; //X
Form2.Button44.Visible :=False; //C
Form2.Button43.Visible :=False; //V
Form2.Button42.Visible :=False; //B
Form2.Button46.Visible :=False; //N
Form2.Button41.Visible :=False; //M
Form2.Button40.Visible :=False; //,
Form2.Button39.Visible :=False; //.
Form2.Button100.Visible :=True; ///
//Видимость кнопок
Form2.Button77.Visible :=True;
Form2.Button78.Visible :=False;
end;
//Регистр Up
procedure Form2_Button77_OnClick (Sender: TObject; var Cancel: boolean);
begin
//DOWN ENG
//Включаем видимость ENG РЕАЛЬНАЯ РАСКЛАДКА
Form2.Button21.Visible :=True; //Q
Form2.Button12.Visible :=True; //W
Form2.Button19.Visible :=True; //E
Form2.Button18.Visible :=True; //R
Form2.Button13.Visible :=True; //T
Form2.Button14.Visible :=True; //Y
Form2.Button15.Visible :=True; //U
Form2.Button17.Visible :=True; //I
Form2.Button16.Visible :=True; //O
Form2.Button20.Visible :=True; //P
Form2.Button27.Visible :=True; //[
Form2.Button38.Visible :=True; //]
Form2.Button75.Visible :=True; //A
Form2.Button35.Visible :=True; //S
Form2.Button34.Visible :=True; //D
Form2.Button33.Visible :=True; //F
Form2.Button32.Visible :=True; //G
Form2.Button31.Visible :=True; //H
Form2.Button30.Visible :=True; //J
Form2.Button29.Visible :=True; //K
Form2.Button28.Visible :=True; //L
Form2.Button23.Visible :=True; //;
Form2.Button22.Visible :=True; //'
Form2.Button76.Visible :=True; //Z
Form2.Button45.Visible :=True; //X
Form2.Button44.Visible :=True; //C
Form2.Button43.Visible :=True; //V
Form2.Button42.Visible :=True; //B
Form2.Button46.Visible :=True; //N
Form2.Button41.Visible :=True; //M
Form2.Button40.Visible :=True; //,
Form2.Button39.Visible :=True; //.
Form2.Button100.Visible :=True; ///
//Откл видимость нижнего регистра ENG
Form2.Button79.Visible :=False; //q
Form2.Button90.Visible :=False; //w
Form2.Button89.Visible :=False; //e
Form2.Button88.Visible :=False; //r
Form2.Button87.Visible :=False; //t
Form2.Button86.Visible :=False; //y
Form2.Button85.Visible :=False; //u
Form2.Button84.Visible :=False; //i
Form2.Button83.Visible :=False; //o
Form2.Button82.Visible :=False; //p
Form2.Button27.Visible :=True; //[
Form2.Button100.Visible :=False; ///
Form2.Button99.Visible :=False; //a
Form2.Button98.Visible :=False; //s
Form2.Button97.Visible :=False; //d
Form2.Button96.Visible :=False; //f
Form2.Button95.Visible :=False; //g
Form2.Button94.Visible :=False; //h
Form2.Button93.Visible :=False; //j
Form2.Button92.Visible :=False; //k
Form2.Button91.Visible :=False; //l
Form2.Button81.Visible :=False; //;
Form2.Button80.Visible :=False; //'
Form2.Button109.Visible :=False; //z
Form2.Button108.Visible :=False; //x
Form2.Button107.Visible :=False; //c
Form2.Button106.Visible :=False; //v
Form2.Button105.Visible :=False; //b
Form2.Button104.Visible :=False; //n
Form2.Button103.Visible :=False; //m
Form2.Button102.Visible :=False; //,
Form2.Button101.Visible :=False; //.
Form2.Button26.Visible :=True; ///
//Убираем видимость RUS
Form2.Button11.Visible :=False; //й
Form2.Button55.Visible :=False; //ц
Form2.Button54.Visible :=False; //у
Form2.Button53.Visible :=False; //к
Form2.Button52.Visible :=False; //е
Form2.Button51.Visible :=False; //н
Form2.Button50.Visible :=False; //г
Form2.Button49.Visible :=False; //ш
Form2.Button48.Visible :=False; //щ
Form2.Button47.Visible :=False; //з
Form2.Button38.Visible :=False; //х
Form2.Button24.Visible :=False; //ф
Form2.Button65.Visible :=False; //ы
Form2.Button64.Visible :=False; //в
Form2.Button63.Visible :=False; //а
Form2.Button62.Visible :=False; //п
Form2.Button61.Visible :=False; //р
Form2.Button60.Visible :=False; //о
Form2.Button59.Visible :=False; //л
Form2.Button58.Visible :=False; //д
Form2.Button57.Visible :=False; //ж
Form2.Button56.Visible :=False; //э
Form2.Button25.Visible :=False; //я
Form2.Button74.Visible :=False; //ч
Form2.Button73.Visible :=False; //с
Form2.Button72.Visible :=False; //м
Form2.Button71.Visible :=False; //и
Form2.Button70.Visible :=False; //т
Form2.Button69.Visible :=False; //ь
Form2.Button68.Visible :=False; //б
Form2.Button67.Visible :=False; //ю
Form2.Button66.Visible :=False; //ъ
//Видимость кнопок
Form2.Button77.Visible :=False;
Form2.Button78.Visible :=True;
end;
//ENG
procedure Form2_Button37_OnClick (Sender: TObject; var Cancel: boolean);
begin
//Вкл видимость верхнего регистра ENG
Form2.Button79.Visible :=True; //q
Form2.Button90.Visible :=True; //w
Form2.Button89.Visible :=True; //e
Form2.Button88.Visible :=True; //r
Form2.Button87.Visible :=True; //t
Form2.Button86.Visible :=True; //y
Form2.Button85.Visible :=True; //u
Form2.Button84.Visible :=True; //i
Form2.Button83.Visible :=True; //o
Form2.Button82.Visible :=True; //p
Form2.Button27.Visible :=True; ///
Form2.Button99.Visible :=True; //a
Form2.Button98.Visible :=True; //s
Form2.Button97.Visible :=True; //d
Form2.Button96.Visible :=True; //f
Form2.Button95.Visible :=True; //g
Form2.Button94.Visible :=True; //h
Form2.Button93.Visible :=True; //j
Form2.Button92.Visible :=True; //k
Form2.Button91.Visible :=True; //l
Form2.Button81.Visible :=True; //;
Form2.Button80.Visible :=True; //'
Form2.Button109.Visible :=True; //z
Form2.Button108.Visible :=True; //x
Form2.Button107.Visible :=True; //c
Form2.Button106.Visible :=True; //v
Form2.Button105.Visible :=True; //b
Form2.Button104.Visible :=True; //n
Form2.Button103.Visible :=True; //m
Form2.Button102.Visible :=True; //,
Form2.Button101.Visible :=True; //.
Form2.Button26.Visible :=True; ///
//Убираем видимость RUS
Form2.Button11.Visible :=False; //й
Form2.Button55.Visible :=False; //ц
Form2.Button54.Visible :=False; //у
Form2.Button53.Visible :=False; //к
Form2.Button52.Visible :=False; //е
Form2.Button51.Visible :=False; //н
Form2.Button50.Visible :=False; //г
Form2.Button49.Visible :=False; //ш
Form2.Button48.Visible :=False; //щ
Form2.Button47.Visible :=False; //з
Form2.Button38.Visible :=False; //х
Form2.Button24.Visible :=False; //ф
Form2.Button65.Visible :=False; //ы
Form2.Button64.Visible :=False; //в
Form2.Button63.Visible :=False; //а
Form2.Button62.Visible :=False; //п
Form2.Button61.Visible :=False; //р
Form2.Button60.Visible :=False; //о
Form2.Button59.Visible :=False; //л
Form2.Button58.Visible :=False; //д
Form2.Button57.Visible :=False; //ж
Form2.Button56.Visible :=False; //э
Form2.Button25.Visible :=False; //я
Form2.Button74.Visible :=False; //ч
Form2.Button73.Visible :=False; //с
Form2.Button72.Visible :=False; //м
Form2.Button71.Visible :=False; //и
Form2.Button70.Visible :=False; //т
Form2.Button69.Visible :=False; //ь
Form2.Button68.Visible :=False; //б
Form2.Button67.Visible :=False; //ю
Form2.Button66.Visible :=False; //ъ
//Отключаем видимость верхнего регистра RUS
Form2.Button142.Visible :=False; //Й
Form2.Button111.Visible :=False; //Ц
Form2.Button112.Visible :=False; //У
Form2.Button113.Visible :=False; //К
Form2.Button114.Visible :=False; //Е
Form2.Button115.Visible :=False; //Н
Form2.Button116.Visible :=False; //Г
Form2.Button117.Visible :=False; //Ш
Form2.Button118.Visible :=False; //Щ
Form2.Button119.Visible :=False; //З
Form2.Button120.Visible :=False; //Х
Form2.Button131.Visible :=False; //Ф
Form2.Button130.Visible :=False; //Ы
Form2.Button129.Visible :=False; //В
Form2.Button128.Visible :=False; //А
Form2.Button127.Visible :=False; //П
Form2.Button126.Visible :=False; //Р
Form2.Button125.Visible :=False; //О
Form2.Button124.Visible :=False; //Л
Form2.Button123.Visible :=False; //Д
Form2.Button122.Visible :=False; //Ж
Form2.Button121.Visible :=False; //Э
Form2.Button141.Visible :=False; //Я
Form2.Button140.Visible :=False; //Ч
Form2.Button139.Visible :=False; //С
Form2.Button138.Visible :=False; //М
Form2.Button137.Visible :=False; //И
Form2.Button136.Visible :=False; //Т
Form2.Button135.Visible :=False; //Ь
Form2.Button134.Visible :=False; //Б
Form2.Button133.Visible :=False; //Ю
Form2.Button132.Visible :=False; //Ъ
//Откл кнопки
Form2.Button37.Enabled :=False;
Form2.Button36.Enabled :=True;
Form2.Button110.Visible :=False;
Form2.Button143.Visible :=False;
Form2.Button78.Visible :=True;
Form2.Button77.Visible :=True;
end;
//RUS
procedure Form2_Button36_OnClick (Sender: TObject; var Cancel: boolean);
begin
//Включаем видимость ENG
Form2.Button11.Visible :=True; //й
Form2.Button55.Visible :=True; //ц
Form2.Button54.Visible :=True; //у
Form2.Button53.Visible :=True; //к
Form2.Button52.Visible :=True; //е
Form2.Button51.Visible :=True; //н
Form2.Button50.Visible :=True; //г
Form2.Button49.Visible :=True; //ш
Form2.Button48.Visible :=True; //щ
Form2.Button47.Visible :=True; //з
Form2.Button38.Visible :=True; //х
Form2.Button24.Visible :=True; //ф
Form2.Button65.Visible :=True; //ы
Form2.Button64.Visible :=True; //в
Form2.Button63.Visible :=True; //а
Form2.Button62.Visible :=True; //п
Form2.Button61.Visible :=True; //р
Form2.Button60.Visible :=True; //о
Form2.Button59.Visible :=True; //л
Form2.Button58.Visible :=True; //д
Form2.Button57.Visible :=True; //ж
Form2.Button56.Visible :=True; //э
Form2.Button25.Visible :=True; //я
Form2.Button74.Visible :=True; //ч
Form2.Button73.Visible :=True; //с
Form2.Button72.Visible :=True; //м
Form2.Button71.Visible :=True; //и
Form2.Button70.Visible :=True; //т
Form2.Button69.Visible :=True; //ь
Form2.Button68.Visible :=True; //б
Form2.Button67.Visible :=True; //ю
Form2.Button66.Visible :=True; //ъ
//Откл видимость нижнего регистра ENG
Form2.Button79.Visible :=False; //q
Form2.Button90.Visible :=False; //w
Form2.Button89.Visible :=False; //e
Form2.Button88.Visible :=False; //r
Form2.Button87.Visible :=False; //t
Form2.Button86.Visible :=False; //y
Form2.Button85.Visible :=False; //u
Form2.Button84.Visible :=False; //i
Form2.Button83.Visible :=False; //o
Form2.Button82.Visible :=False; //p
Form2.Button27.Visible :=False; //[
Form2.Button100.Visible :=False; ///
Form2.Button99.Visible :=False; //a
Form2.Button98.Visible :=False; //s
Form2.Button97.Visible :=False; //d
Form2.Button96.Visible :=False; //f
Form2.Button95.Visible :=False; //g
Form2.Button94.Visible :=False; //h
Form2.Button93.Visible :=False; //j
Form2.Button92.Visible :=False; //k
Form2.Button91.Visible :=False; //l
Form2.Button81.Visible :=False; //;
Form2.Button80.Visible :=False; //'
Form2.Button109.Visible :=False; //z
Form2.Button108.Visible :=False; //x
Form2.Button107.Visible :=False; //c
Form2.Button106.Visible :=False; //v
Form2.Button105.Visible :=False; //b
Form2.Button104.Visible :=False; //n
Form2.Button103.Visible :=False; //m
Form2.Button102.Visible :=False; //,
Form2.Button101.Visible :=False; //.
Form2.Button26.Visible :=False; ///
//Откл кнопки
Form2.Button36.Enabled :=False;
Form2.Button37.Enabled :=True;
Form2.Button77.Visible :=False;
Form2.Button78.Visible :=False;
Form2.Button110.Visible :=True;
Form2.Button143.Visible :=True;
end;
procedure Form2_bt1_OnClick (Sender: string; Action: string);
begin
if CurrentCtrl is TdbEdit then
TdbEdit(CurrentCtrl).Text := TdbEdit(CurrentCtrl).Text + TdbButton(Sender).Caption;
end;
procedure Form2_btDel_OnClick (Sender: string; var Cancel: boolean);
begin
if CurrentCtrl is TdbEdit then
if Length(TdbEdit(CurrentCtrl).Text) > 0 then SetLength(TdbEdit(CurrentCtrl).Text, Length(TdbEdit(CurrentCtrl).Text)-1);
end;
procedure frmLogin_Edit2_OnMouseDown (Sender: string; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer);
begin
if MouseLeft then ShowKeyboard(frmLogin.Edit2);
end;
procedure frmLogin_Edit1_OnMouseDown (Sender: string; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer);
begin
if MouseLeft then ShowKeyboard(frmLogin.Edit1);
end;
procedure Form2_btOk_OnClick (Sender: string; Action: string);
begin
Form2.Close;
end;
procedure ShowKeyboard (Ctrl: TWinControl);
var
Form: TAForm;
begin
Form := TAForm(Ctrl.Parent);
CurrentCtrl := Ctrl;
Form2.Top := Form.Top + Ctrl.Top+125;
Form2.Left := Form.Left + Ctrl.Left-270;
Form2.ShowModal;
end;