Показать сообщение отдельно
Старый 22.09.2008, 14:17   #120
Cliffe Snake
Нуждающийся
 
Аватар для Cliffe Snake
 
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений
(для 12 пользователей)
Печаль Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.

У меня на теле в JVM нет ввода русских букв.
Сделайте плиз либу, чтобы был програмнный ввод символов.
Я на MP программку писал, может чем поможет.

Вот код:
program Programniy_vvod_russkimi_bukvami;
var 
ok:command
      
n,k,nl,kl,nn,kn,tim,np:integer
      
rd,ru,ed,eu,td,tu,txt,s:string
      
upc,lng:string;
  
begin 
    ok
:=createcommand('OK',CM_OK,2);
    
addcommand(ok);
    
rd:='.,?!0: _1=+-абвг2 деёжз3ийкл4 мно5  прс6  туфх7 цчшщъ8ыьэюя9';
    
ru:='.,?!0: _1=+-АБВГ2 ДЕЁЖЗ3ИЙКЛ4 МНО5  ПРС6  ТУФХ7 ЦЧШЩЪ8ЫЬЭЮЯ9';
    
ed:='.,?!0: _1=+-abc2  def3  ghi4  jkl5  mno6  pqrs7 tuv8  wxyz9 ';
    
eu:='.,?!0: _1=+-ABC2  DEF3  GHI4  JKL5  MNO6  PQRS7 TUV8  WXYZ9 ';
    
tu:=ru;td:=rd;
    
upc:='UPCASE';
    
lng:='rus';
    
repeat
      
     k
:=getkeyclicked;
     if (
k<>0then kl:=k
     
      
if (kl=42then begin 
        
if (upc='UPCASE'then upc:='downcase' else upc:='UPCASE';
        
kl:=0;
      
end;
      
      if (
kl=-7then begin 
        
if (lng='rus'then lng:='eng' else lng:='rus';
        
kl:=0;
      
end;
     
      if (
kl>47) and (nl>47then if (nl=klthen nn:=nn+1;
     
      if (
nn>6then nn:=1;
      if (
nl>42) and (kl<>nl) and (nn>0) and (kl<>0)then begin
        kn
:=nn+(nl-48)*6+4;
        
nn:=0;
       
end;
         
      if (
nn>=1then kl:=else nl:=kl;
      
      if (
lng='rus'then 
        begin
          td
:=rd;
          
tu:=ru;
        
end 
      
else
        
begin
          td
:=ed;
          
tu:=eu;
        
end
       if (
np<>nnthen tim:=0
       if (
tim>30then begin kn:=nn+(nl-48)*6+4tim:=0nn:=0end;
        
np:=nn;
        
tim:=tim+1;
      
      if (
kn>4then
      begin
        
if upc='UPCASE' then 
          txt
:=txt+getchar(tu,kn-5
         else
          
txt:=txt+getchar(td,kn-5);
        
kn:=0;
      
end
      
      
if (kl=-8) and (length(txt)>0then begin 
        txt
:=copy(txt0length(txt)-1);
        
kl:=0;
      
end;
      
     
kn:=nn+(nl-48)*6+4;
     if 
upc='UPCASE' then 
          s
:=getchar(tu,kn-5
         else
          
s:=getchar(td,kn-5);
     
kn:=0;
      
     
setColor(200255255);
     
fillrect(0,0,240,320);
     
setColor(000);
     
drawtext(''+nl,10,10);
     
setColor(02550);
     
drawtext(s,10,30);
     
drawtext(upc,50,50);
     
drawtext(lng,10,50);
     
setColor(00255);
     
drawtext(txt,10,70);
     
drawtext(''+tim,10,90);
     
repaint;
     
until (kl=-) or (getclickedcommand=ok);
  
end

Последний раз редактировалось ViNT, 22.09.2008 в 21:59. Причина: Используйте теги для экономии места и улучшения понятности кода
(Offline)
 
Ответить с цитированием