С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: FireMonkey
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173

Delphi XE3, InputBox

06.12.2013, 12:20. Показов 2633. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите пожалуйста!!!
Можно ли в InputBox изменить кнопки на русскоязычные?

Вот кусок кода который есть у меня

Pascal
1
value := InputBox('Ввод пароля', 'Пароль', '');
Название: Без имени-2.jpg
Просмотров: 249

Размер: 32.0 Кб
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2013, 12:20
Ответы с готовыми решениями:

Delphi XE3 FireMonkey приложение не хочет работать с ShellExecute
Помогите пожалуйста разобраться! в uses shellapi прописано.

Регулярные выражения System.RegularExpressions (Delphi XE3/FireMonkey)
Здраститя. Есть такая строка "<message>SUCCESS_YES</message>" Значение тега, меняется в зависимости от входа в процедуру. Составил...

Ошибки в Delphi XE3
Что это за ошибки, и как их можно исправить?

19
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,250
06.12.2013, 12:25
Цитата Сообщение от Sanya Black1993 Посмотреть сообщение
в InputBox изменить кнопки на русскоязычные?
нет, проще создать свою форму с нужными кнопками.
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 12:38  [ТС]
droider, проще, но я не ищу лёгких путей)
А если честно не уверен что из проекта запустится 2-ая форма без запуска 1-ой формы...
Весь код идёт в drp-файле
И хотелось бы действительно узнать можно ли сделать русскоязычный InputBox
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,250
06.12.2013, 12:41
Цитата Сообщение от Sanya Black1993 Посмотреть сообщение
я не ищу лёгких путей)
мудрите дальше тогда...
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 12:47  [ТС]
droider, вот моё содержимое drp файла:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program Project1;
 
uses
Vcl.Dialogs,
  FMX.Forms,
  Unit1 in 'Unit1.pas' {Form1},
  WinApi.Windows,
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3D3};
 
{$R *.res}
var
 f: TextFile;
   value,text: string;
   label povtor, proverka;
 
Begin
//установка связи между переменной и именем файла
assign(f,'password.txt');
//открытие файла для чтения
goto proverka;
proverka:Reset(f);
//считывание содержимого файла
while not Eof(f) do
  begin
    ReadLn(f, text);//text - текст файла
  end;
 if ((text='admin_1993') or (text='gwatemala')or
(text='1234567')
or(text='retry_gold')) then
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3D3, Form3D3);
  Application.Run;
end
else
begin
  if MessageBox(0, 'Введённый пароль неверен, для регистрации нажмите "ДА"!!!',
    'Запрос регистрации', (MB_YESNO + MB_ICONQUESTION)) = idYes then
begin
rewrite(f);
    value := InputBox('Ввод пароля', 'Пароль', '');
      WriteLn(f, value);
      CloseFile(f);
      goto proverka;
end
 
 
end;
end.
Думаю что теперь все поймут что я хочу сделать!!!
Вот поэтому я и хочу использовать русскоязычный интерфейс InputBox!
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
06.12.2013, 13:11
можно так попробовать
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure HookInputButtons(rs: PResStringRec; newStr: PChar);
 var
   oldprotect: DWORD;
 begin
   VirtualProtect(rs, SizeOf(rs^), PAGE_EXECUTE_READWRITE, @oldProtect);
   rs^.Identifier := Integer(newStr);
   VirtualProtect(rs, SizeOf(rs^), oldProtect, @oldProtect);
 end;
 
 const
   ButtonOK: PChar = 'Ок';
   ButtonCancel: PChar = 'Отмена';
 
 
initialization
   HookInputButtons(@SMsgDlgOK, ButtonOK);
   HookInputButtons(@SMsgDlgCancel,ButtonCancel);
 end.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
06.12.2013, 13:13
Sanya Black1993
Замени вызов InputBox на функцию с CreateMessageDialog, в которой "на лету" можно создать диалоговое коно, и в нем мало того что поменять заголовки кнопок, так еще и добавить контролы по желанию. Пример я приводил вот тут: MessageDlgPos: 1) изменение названий кнопок и 2) размещение в центре вызвавшей формы , правда на Билдере...

Или создай форму, аналогичную форме авторизации, и показывай ее перед запуском приложения... Я бы выбрал все-таки второй путь...
1
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
06.12.2013, 13:16
а еще к тому что я написал нужно,
Delphi
1
uses Consts;
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 13:48  [ТС]
Immo, и куда вы предлагаете вставить вашу процедуру?
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
06.12.2013, 14:42
просто в коде напишите ее, куда еще то
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 14:46  [ТС]
UI, Форма авторизации не подходит, так как регистрация программы происходит всего лишь один раз!!!
Хотелось бы увидеть более конкретный пример CreateMessageDialog с использованиемм поля ввода...И также на Delphi

Добавлено через 4 минуты
Immo, а в drp файле эта процедура сработает?
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
06.12.2013, 14:50
попробуйте
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 15:02  [ТС]
Immo, выскакивают ошибки на всё что можно
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
06.12.2013, 15:13
если вы не понимаете что куда писать, зачем вам это надо? у меня все работает как надо
Изображения
 
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
06.12.2013, 15:34
Цитата Сообщение от Sanya Black1993 Посмотреть сообщение
Хотелось бы увидеть более конкретный пример CreateMessageDialog с использованиемм поля ввода...
Хотелось - смотри:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
program Project1;
 
uses
  WinApi.Windows,
  System.UITypes,
  FMX.Dialogs,
  FMX.Forms,
  FMX.Controls, FMX.Edit,
  Unit1 in 'Unit1.pas' {Form1};
 
{$R *.res}
 
function MessageDlgPos(const msg: string; DlgType: TMsgDlgType;
  buttons: TMsgDlgButtons; const captions: array of string;
  defaultButton: TMsgDlgBtn): string;
var
  aMsgDlg: TForm;
  i, captionIndex: Integer;
  dlgButton: TButton;
  Edit: TEdit;
begin
  aMsgDlg := CreateMessageDialog(msg, DlgType, buttons, defaultButton);
  aMsgDlg.Caption := captions[0];
  Edit := TEdit.Create(aMsgDlg);
  Edit.Parent := aMsgDlg;
  Edit.Position.X := (aMsgDlg.FindComponent('Message') as TLabel).Position.X;
  Edit.Position.Y := aMsgDlg.Canvas.TextHeight('W') + 2 * 10;
  aMsgDlg.InsertComponent(Edit);
  captionIndex := 1;
  for i := 0 to Pred(aMsgDlg.ComponentCount) do
    if aMsgDlg.Components[i] is TButton then
    begin
      (aMsgDlg.Components[i] as TButton).Text := captions[captionIndex];
      Inc(captionIndex);
    end;
 
  aMsgDlg.ShowModal;
  Result := Edit.Text;
  aMsgDlg.Free;
end;
 
var
  s: string;
 
begin
 
  if MessageBox(0, 'Вы хотите ввести регистрационный ключ?',
    'Запрос регистрации', (MB_YESNO + MB_ICONQUESTION)) = idYes then
  begin
    s := MessageDlgPos('Введите пароль'#13#10#13#10#13#10, TMsgDlgType.mtCustom,
      [TMsgDlgBtn.mbOk, TMsgDlgBtn.mbCancel], ['Ввод пароля', 'Ok', 'Отмена'],
      TMsgDlgBtn.mbNo);
    MessageBox(0, Pchar(s), 'Password entered', MB_OK); // Делаешь с паролем что нужно
 
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
  end;
 
end.
(проверял в XE2 на Firemonkey HD Application)... Тему, однако, переношу в ветку по FM...
1
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
06.12.2013, 16:10  [ТС]
Immo, скиньте пожалуйста вашу готовую программу...

Добавлено через 42 секунды
UI , Спасибо за наглядный пример!!!

Добавлено через 17 минут
Immo, просто у меня ругается на раздел initialization
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
08.12.2013, 19:59  [ТС]
UI, я ваш код проверил у себя и вот какая ошибка:

подскажите пожалуйста в чём проблема!!!
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
08.12.2013, 20:21
Хм. Да, в XE3 эту функцию выпилили из библиотеки (на официальном форуме тоже спрашивали, оказывается), облом. Я-то тестировал на XE2, а там она еще есть, и прекрасно, надо сказать, работает:

1
09.12.2013, 11:38

Не по теме:

ХМ.. Странно. Надо на 5-ке проверить вечером, может вернули

0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
09.12.2013, 13:04  [ТС]
UI, спасибо за помощь и за пример...Мне кажется вы права, и множество ошибок у меня связано скорее всего из-за версии XE... А свою проблему я решил очень просто, как вы и подсказали...Сделал всё через форму...Теперь всё работает!!!
Ещё раз большое спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2013, 13:04
Помогаю со студенческими работами здесь

про Delphi XE3
Почему делфи все подчеркивает? Беру любую задачу. В 6-м и 7-м Делфи все работет. В XE3 Работает но подчеркивает все подряд... (прошу...

Русификатор для Delphi XE3
Есть у кого? Поделитесь плиззззззззззз

Реализация GIF-изображений в Delphi XE3
Помогите реализовать GIF - изображения в delphi XE3. Угробил огромное количество времени на попытки воспроизведения gif - ок в delphi. ...

Клиент и сервер для Delphi XE3
На XE3 нет некоторых функций (может есть, но по другому называются)... помогите доделать программку пожалуйста Сервер: unit...

Права администратора в программе написанной на delphi xe3
Здравствуйте, программисты! Столкнулся с такой проблемой. Добавление собственного манифеста в программу. Раньше, когда добавлял...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru