|
Основной форум Сюда все проблемы связанные с программированием. |
14.08.2007, 01:36
|
#1
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Альтернативный экран ввода текста на Моторолах!!!
Народ ктонить может деал уже библу такую??? Короче на моторе просто в текст боксе писать нельзя там вылазит станартный ввод текста который сильно тормазит!!! Так вот собсно в чем вопрос ещё не кто не делал библу для алтернативного ввода и чтения текста! Если нет, то есть желающие на пару со мной взяться деалать такую???
|
(Offline)
|
|
14.08.2007, 19:26
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
На счет либ не знаю, но есть у меня один мидлет. Там ввод сделан "под Windows" . Поковыряй декомпилятором, может поможет.
|
(Offline)
|
|
14.08.2007, 20:26
|
#3
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
ты понимаеш Я в явке пока не бум бум!!! Книгу нормальную не могу найти!!! Ну я подумаю!! А ты бы не хотел составить мне компанию в этом не лёгком деле???
|
(Offline)
|
|
14.08.2007, 21:24
|
#4
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Да я в общем-то тоже, в основном на Delphi пишу, яву знаю полхо.
|
(Offline)
|
|
14.08.2007, 22:58
|
#5
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Понятно!!! Значит будем ждать может PILIgrim подсобит!!
|
(Offline)
|
|
14.08.2007, 23:42
|
#6
|
Нуждающийся
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Такое можно и без либы написать. Правда времени займет много.
|
(Offline)
|
|
15.08.2007, 00:24
|
#7
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Н тогда намекни как это сделать!! Я сам не могу додуматься!!!
|
(Offline)
|
|
15.08.2007, 16:16
|
#8
|
Нуждающийся
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Тебе надо написать canvas textbox. Если поменьше писать, то есть где-то тут на форуме либа CRT, которая выводит строку и автоматически переносит на следующую, если она длиннее экрана(как в обычном Turbo Pascal). Её я не нашел поиском, но где-то видел. А ещё среди библиотек Pilgrima есть либа >>Custom Fonts<<, так она тоже выводит, но уже маленьким рисованным шрифтом (процедурой OutLongStr вроде ). Но это только вывод текста, еще надо написать чтобы прога печатала текст при нажатии клавиш(например клавиша 2 - А,Б,В,Г,2 с каждым последующим нажатием; 3 - Д,Е,Ё,Ж,З,3 и.т.д). Вобщем, работы много.
|
(Offline)
|
|
15.08.2007, 16:53
|
#9
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
В курсах что много! Есть у меня приложенице написанное на ЯВА!! ТАм реализован ввод текста!!! Может сюда кинуть кто разбираеться покапаеться в нем и напишет либу!! Если что я подсоблю!!!
И ещё есть ли либы спмощью которых можно ловить повтороне и 3 нажаитие кнопки и подставлять буковки!!!! И ли это осуществимо самим МП и стандартными функциями!
|
(Offline)
|
|
15.08.2007, 17:20
|
#10
|
Нуждающийся
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Сообщение от BASSON XVI
В курсах что много! Есть у меня приложенице написанное на ЯВА!! ТАм реализован ввод текста!!! Может сюда кинуть кто разбираеться покапаеться в нем и напишет либу!!
|
Я в этом не шарю.
Сообщение от BASSON XVI
И ещё есть ли либы спмощью которых можно ловить повтороне и 3 нажаитие кнопки и подставлять буковки!!!! И ли это осуществимо самим МП и стандартными функциями!
|
Не видел таких. Думаю это осуществимо самим паскалем. Да и вобще всю прогу можно было на нем написать, но для уменьшения потраченого времени лучше использовать библиотеки.
|
(Offline)
|
|
15.08.2007, 19:33
|
#11
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
знаю есть била или ещё что мне кото-то говорил !!! Моно спомошью ёе коды кнопок вычислять!!!
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
вот написал не весть что не работает!!! А хотелось что б работало!!! Посмотрите !!!
program Canwas;
uses CRT;
var
s2, keyaction, tecla : integer;
buf3, s1 : string;
tscreen : string;
clicked : integer;
//-------------------------------------------------------
begin
buf3 := 'My name is Denis!! ';
tscreen := buf3;
write(tscreen);
tecla := GetKeyPressed;
if tecla = ke_key1 then begin s2:=1; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key2 then begin s2:=2; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key3 then begin s2:=3; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key4 then begin s2:=4; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key5 then begin s2:=5; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key6 then begin s2:=6; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key7 then begin s2:=7; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key8 then begin s2:=8; s1:=IntegertoString(s2); write(s1); end;
if tecla = ke_key9 then begin s2:=9; s1:=IntegertoString(s2); write(s1); end;
repeat
keyaction:= keyToAction(getKeypressed);
until keyaction<>GA_NONE;
if (keyToAction(GetKeyPressed)=GA_FIRE) then halt;
delay(900000);
end.
А вот сама библа CRT
unit CRT;
// эмуляция текстового дисплея
interface
var
Wrap : boolean; // признак переноса слов при достижении правого края экрана
MaxLine : integer; // количество строк
procedure ClrScr; // оистка экрана
procedure SetBkColor(R,G,B : integer); // устанавливает цвет фона всего экрана
procedure SetFontColor(R,G,B : integer);// устанавливает цвет текста на всем экране
procedure write(s : string); // аналог write
procedure writeln(s : string); // аналог writeln
procedure waitkey(Key : integer) ; // ожидает нажатия на указанную кнопку
procedure waitanykey; // ожидает нажатия на любую кнопку
procedure InitCRT; // инициализация системы вывода (надо вызывать после изменения размера шрифта
implementation
type
ColorRec = record
R,G,B : integer;
end;
var
Screen : array[0..99] of string; // виртуальные строки дисплея
CurLine : integer; // текущая строка
CurX : integer; // текущая позиция в строке
BkColor : ColorRec;
FColor : ColorRec;
LineH : integer; // высота строки
procedure SetC(C : ColorRec);
begin
SetColor(C.R, C.G, C.B);
end;
procedure ClearScreen;
var
i : integer;
begin
for i := 0 to MaxLine do Screen[i] := '';
end;
procedure RedrawScreen; // отрисовка всего текста
var
i, y : integer;
begin
SetC(BkColor);
fillrect(0,0,GetWidth, GetHeight);
SetC(FColor);
y := 0;
for i := 0 to CurLine do begin
DrawText(Screen[i],0,y);
y := y + LineH;
end;
repaint;
end;
procedure ClrScr; // оистка экрана
begin
CurLine := 0;
CurX := 0;
ClearScreen;
RedrawScreen;
end;
procedure SetBkColor(R,G,B : integer); // устанавливает цвет фона
begin
BkColor.R := R;
BkColor.G := G;
BkColor.B := B;
end;
procedure SetFontColor(R,G,B : integer);// устанавливает цвет текста
begin
FColor.R := R;
FColor.G := G;
FColor.B := B;
end;
procedure ScrollUp;
var
i : integer;
begin
for i := 1 to MaxLine do Screen[i-1] := Screen[i];
Screen[MaxLine] := '';
CurLine := MaxLine;
end;
procedure NextLine;
begin
CurLine := CurLine + 1;
if CurLine > MaxLine then ScrollUp;
CurX := 0;
end;
procedure AddLine(s : string);
begin
Screen[CurLine] := Screen[CurLine] + s;
CurX := GetStringWidth(Screen[CurLine]);
end;
function GetToken(s : string; num : integer): string; // возвращает слово номер num из строки
var
s1 : string;
ch : char;
i : integer;
begin
ch := getChar(s,num);
if ch = chr(0)
then s1 := ''
else s1 := ''+ch;
GetToken := s1;
end;
procedure write(s : string); // аналог write
var
s1,s2, s3 : string;
i : integer;
lsp : integer;
done : boolean;
begin
if Wrap then begin // если включен перенос
while s <> '' do begin
s1 := '';
i := 0;
repeat
s3 := GetToken(s,i);
s1 := s1 + s3;
i := i + 1;
s2 := copy(s,i,length(s));
until ((GetStringWidth(s1)+CurX) > GetWidth) or (s2 = '') or (s1 = '');
if s2 <> '' then begin
i := i -1;
s1 := copy(s1,0,length(s1)-1);
s2 := copy(s,i,length(s));
end;
AddLine(s1);
if s2 <> '' then NextLine;
s := s2;
end;
end
else AddLine(s); // если перенос выключен
RedrawScreen; // выводим все
end;
procedure writeln(s : string); // аналог writeln
begin
write(s);
NextLine;
end;
procedure waitkey(Key : integer) ; // ожидает нажатия на указанную кнопку
begin
repeat
delay(100);
until GetKeyPressed = Key;
end;
procedure waitanykey; // ожидает нажатия на любую кнопку
begin
repeat
delay(100);
until GetKeyPressed <> KE_NONE;
end;
procedure InitCRT;
begin
LineH := GetStringHeight('S');
MaxLine := GetHeight / LineH;
if MaxLine > 100 then MaxLine := 100;
if MaxLine < 0 then MaxLine := 1;
MaxLine := MaxLine - 1;
Clrscr;
SetBkColor(255,255,255);
SetFontColor(0,0,0);
end;
initialization
Wrap := true;
InitCRT;
end.
|
(Offline)
|
|
16.08.2007, 12:48
|
#12
|
Нуждающийся
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Вот держи полностью переделанная прога с вмонтированной либой crt. Выводит буквы и цифры.
|
(Offline)
|
|
16.08.2007, 12:57
|
#13
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Теперь бы ещё сделать что бы вводилось а не только выводилось!! ХАХА
|
(Offline)
|
|
16.08.2007, 13:00
|
#14
|
Нуждающийся
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Сообщение от BASSON XVI
Теперь бы ещё сделать что бы вводилось а не только выводилось!! ХАХА
|
Что ты имеешь ввиду? В проге, выложенной выше, текст вводится с клавиатуры в canvas режиме и выводится на экран, только набор символов меньше.
|
(Offline)
|
|
16.08.2007, 16:19
|
#15
|
Нуждающийся
Регистрация: 04.06.2007
Сообщений: 87
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Альтернативный экран ввода текста на Моторолах!!!
Можете дать простенкий пример на содание ресурсового файла!!! А то я не бум бум !! Сне надо чтобы в с него считало и ввыдоло данные в string! В основной код!!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:47.
|