Ну согласен! Но вот для терминала какого нибудь вообщем я разобрался как сделать клавиатуру. Регистры сделал по типу видимости кнопок вообщем кому интересно вот скрипт
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;