Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: ADMIN, Nextik  
Форум » MidletPascal » Делимся! » Проверка долгих нажатий
Проверка долгих нажатий
12121Дата: Пятница, 02.01.2009, 14:39 | Сообщение # 1
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Пробуем
var
vvod_pause: integer; { задержка до долгого нажатия }

procedure soob(t: string);{ вывод сообщения }
var n,m,r,n1: integer;
begin
n:= getStringWidth(t);m:= getStringHeight(t);{ n - ширина m - высота строки текста }
setColor(145,135,255);fillrect((getWidth - n) / 2-5,(getHeight - m) / 2-5,n+10,m+10);{ очищаем прямоугольник под текст }
setColor(140,10,35); if n<=getWidth then drawText(t, (getWidth - n) / 2,(getHeight - m) / 2); { центруем и печатаем если целиком помещается на экране }
else begin r:=n-getWidth; for n1:=0 to r do begin { вычисляем сколько пикселей не влезло }
setColor(145,135,255);fillrect((getWidth - n) / 2-3,(getHeight - m) / 2-3,n+6,m+6); { если не очистить просто смажется }
setColor(140,10,35);drawText(t,0-n1,(getHeight - m) / 2);repaint; delay(10);{ центруем и печатаем }
if n1=0 then delay(2000);end;end; { задержка что б прочесть начало строки }

repaint;delay(1000);setColor(145,135,255);fillrect((getWidth - n) / 2-5,(getHeight - m) / 2-5,n+10,m+10);
end;

procedure vvod1(key:integer);
begin
if key=KE_KEY0 then soob(' 0 долгое нажатие ');
end;


procedure vvod;
var
{com:command;} { если будут проверятся и команды меню }
pause,key:integer;
fv:boolean; { флаг нажатия }
begin

{com:= getClickedCommand;
if com = ok then ...} { обработка команд меню }


key:=getKeyClicked;
if getKeyPressed<>KE_NONE then fv:=true;
while fv do begin
pause:=pause+1; delay(100);
if getKeyPressed=KE_NONE then fv:=false;
if pause>=vvod_pause then begin vvod1(key); key:=0; fv:=false; end; {key:=0 - иначе и короткое и длинное сразу }
end;

if key=KE_KEY0 then soob('0 короткое нажатие ');

end;

begin
vvod_pause:=5;
soob('жми 0 для проверки ');delay(1000);

while true do begin
soob(' ничего не нажато ');
vvod;

end; end.

 
12121Дата: Четверг, 29.01.2009, 19:12 | Сообщение # 2
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
В продолжение темы пример создания меню и работа с сенсорным экраном
Прикрепления: menu.zip (5.3 Kb)
 
adminДата: Четверг, 29.01.2009, 19:24 | Сообщение # 3
Admin
Группа: Администраторы
Сообщений: 244
Награды: 2
Репутация: « 594 »
Статус: Offline
12121, Отлично! +5! ессли ты не против я включу твой пример в раздел пример/графика/граф.меню
 
12121Дата: Четверг, 29.01.2009, 19:40 | Сообщение # 4
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
не против. Добавь если не трудно библиотеку чтоб все сразу было а то я забыл
 
adminДата: Четверг, 29.01.2009, 19:56 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 244
Награды: 2
Репутация: « 594 »
Статус: Offline
Выложил. Вот тут. Либу в архив не сунул, но указал ссылку на нее.
 
12121Дата: Пятница, 30.01.2009, 17:24 | Сообщение # 6
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Вот меню с большими возможностями. Также здесь показано как можно прочитать русский текст из ресурса и как сделать мультиязычное приложение.
Если есть идеи что еще можно добавить пишите.
Прикрепления: 1771204.zip (9.7 Kb)
 
adminДата: Суббота, 31.01.2009, 12:59 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 244
Награды: 2
Репутация: « 594 »
Статус: Offline
Gooaaaaddd! applause
 
12121Дата: Суббота, 31.01.2009, 15:48 | Сообщение # 8
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Может кто потестирует. Ошибок вроде нет но мало ли
 
adminДата: Суббота, 31.01.2009, 17:16 | Сообщение # 9
Admin
Группа: Администраторы
Сообщений: 244
Награды: 2
Репутация: « 594 »
Статус: Offline
Я проотестил. нормал
 
12121Дата: Суббота, 31.01.2009, 23:25 | Сообщение # 10
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Мобильный касперский в прогах на мидлет паскале упорно видит вирус. Я смарт проверял так он выдал. Людей может отпугнуть. Знаешь об этом что нибудь?
 
12121Дата: Суббота, 31.01.2009, 23:29 | Сообщение # 11
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Можешь обновить в примерах раз все норм. Пока вроде все.
 
adminДата: Понедельник, 02.02.2009, 16:14 | Сообщение # 12
Admin
Группа: Администраторы
Сообщений: 244
Награды: 2
Репутация: « 594 »
Статус: Offline
DA. ЗНАКОМАЯ ПРОБЛЕМА О ВИРУСАх. Но пусть никто не пугается. odd говорит, что в его русской версии mp он что-то подделал и вирусов нет.
 
12121Дата: Вторник, 03.02.2009, 13:44 | Сообщение # 13
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Значит все таки в английской версии есть вирус? А если несколько либ используешь то ведь в русской версии будет ошибка.
 
13GetДата: Вторник, 03.02.2009, 22:28 | Сообщение # 14
Новичок
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: « 0 »
Статус: Offline
типа безвиходное положение. Ну ничего, если проект серьезный то делать в англо версии, не тестить неа смартах, а использовать в телефонах, да и ничего опасного этот вирус не сделает. А тем кто не знает, пугаться не стоит.. wink
 
12121Дата: Среда, 04.02.2009, 15:11 | Сообщение # 15
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
набросал пример к новой либе effects. Перемести куда надо. Прозрачность видно в KEmulatorе. Полезная штука :-)
Прикрепления: NewProject.zip (154.2 Kb)
 
Форум » MidletPascal » Делимся! » Проверка долгих нажатий
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: