powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сделал "Hello, World", а дальше запнулся
2 сообщений из 2, страница 1 из 1
Сделал "Hello, World", а дальше запнулся
    #39548496
kuda_ya_popal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! запнулся на чем-то непонятном. пишу код под андроид. не лезу ни в какие настройки, а просто беру apk и кидаю в корень. устанавливаю приложение. запускаю. все хорошо, пока не произойдет первое совпадение. Ощущение, что после того, как пропадает виртуальная клавиатура для ввода слова, приложение заглючивает. кнопка по вызову следующего слова (без обращения к Edit) не приводит к проблеме. не знаю что делать. вроде примитив, да и под винду подобное делал без проблем. Delphi XE7

Код: 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.
var
  Form1: TForm1;
  Monday:array[0..9] of array[0..2] of string; // массив для данных
  num:integer;                                             // рандомный номер строки
implementation

{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}

procedure TForm1.Button1Click(Sender: TObject);// кнопка проверки
begin
  if Edit1.Text=Monday[num,1] then begin // сравнение английского слова с 1 вариантом перевода
    num:=random(9);                                    // совпадает, значит разыгрываем новое число
    Label1.Text:=Monday[num,0];                  // пишем его в label
    end
  else if (Edit1.Text=Monday[num,2]) and (Monday[num,2]<>' ') then begin // сравнение английского слова со 2 вариантом перевода
    num:=random(9);                                       // совпадает не с  пустым значение, значит разыгрываем новое число
    Label1.Text:=Monday[num,0]; // пишем его в label
  end;
  Edit1.Text:=' ';                                                  // очистка Edit
end;

procedure TForm1.Button2Click(Sender: TObject); // кнопка следующего слова
begin
  num:=random(9); //берем новый номер строки
  Label1.Text:=Monday[num,0]; // выводим это слово
  Edit1.Text:=' ';  // очищаем edit
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
// генерируем массив
  Monday[0,0]:='hot';       Monday[0,1]:='Горячий';       Monday[0,2]:='Жаркий';
  Monday[1,0]:='happy';     Monday[1,1]:='Счастливый';    Monday[1,2]:='Довольный';
  Monday[2,0]:='wonderful'; Monday[2,1]:='Замечательный'; Monday[2,2]:='Изумительный';
  Monday[3,0]:='impotant';  Monday[3,1]:='Важный';        Monday[3,2]:='Значительный';
  Monday[4,0]:='large';     Monday[4,1]:='Большой';       Monday[4,2]:='Крупный';
  Monday[5,0]:='helpful';   Monday[5,1]:='Полезный';      Monday[5,2]:=' ';
  Monday[6,0]:='impotant';  Monday[6,1]:='Важный';        Monday[6,2]:=' ';
  Monday[7,0]:='popular';   Monday[7,1]:='Популярный';    Monday[7,2]:='Любимый';
  Monday[8,0]:='lonely';    Monday[8,1]:='Одинокий';      Monday[8,2]:=' ';
  Monday[9,0]:='acid';      Monday[9,1]:='Кислый';        Monday[9,2]:=' ';

  randomize; // меняем seed
  num:=random(9); // разыгрываем номер строки
  Label1.Text:=Monday[num,0]; // выводим английское слово
  Edit1.Text:=' '; // очищаем edit
end;

end.



Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
Сделал "Hello, World", а дальше запнулся
    #39548506
kuda_ya_popal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuda_ya_popal,
добавил пару функций, чтобы проконтролировать работу клавиатуры. Метод Keyboard.HideVirtualKeyboard не закрыл клавиатуру

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TForm1.Edit1Click(Sender: TObject);
var Keyboard: IFMXVirtualKeyboardService; //ввод переменной, отвечающей за обращение к сервису
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(Keyboard)) then Keyboard.ShowVirtualKeyboard(Edit1);
end;

procedure TForm1.Edit1Enter(Sender: TObject);
var Keyboard: IFMXVirtualKeyboardService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(Keyboard)) then Keyboard.HideVirtualKeyboard;
end;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сделал "Hello, World", а дальше запнулся
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]