Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

русские или английские буквы в строке?   Найти похожие ветки 

 
Змей ©   (2006-01-20 00:20) [0]

Hello Мастера!:)
есть edit1. в нем переворачиваю англ буквы на русские и наоборот!
для того чтобы две процедуры повесить на одну клавишу нужно определить какие буквы в edit1 русские или английские?
попробовал через inttostr(key) выдает одинаковые что на русском что на англ:(
что делать?


 
Германн ©   (2006-01-20 00:37) [1]


> для того чтобы две процедуры повесить на одну клавишу нужно
> определить какие буквы в edit1 русские или английские?


И причем тут "клавиша" (key)?
Проверяй текст в Edit. Ord(Edit1.Text[1])


 
Змей ©   (2006-01-20 01:12) [2]

это я писал в procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);

Edit. Ord(Edit1.Text[1]) чтото не пойму ничего


 
Германн ©   (2006-01-20 01:28) [3]


> Edit. Ord(Edit1.Text[1]) чтото не пойму ничего

В оригинале было:
Проверяй текст в Edit.
Ord(Edit1.Text[1])

Так что тебе нужно? Определить какие на сей момент уже есть буквы в Edit1? Или "какую букву" пытается вставить пользователь в Edit1?


 
Змей ©   (2006-01-20 01:30) [4]

текст уже набран допустим "аолвжфоавадо" и мне нужно узнать какие это русские или английские!


 
Германн ©   (2006-01-20 01:47) [5]


> Змей ©   (20.01.06 01:30) [4]
>
> текст уже набран допустим "аолвжфоавадо" и мне нужно узнать
> какие это русские или английские!

Ну так вот. Если первая буква - английская, то Ord(Edit1.Text[1]) будет равен или меньше 122 ($7A), в противном случае первая буква - русская ( точнее "не английская").
Тоже самое верно и для всех остальных букв текста эдита.
А ещё точнее - проверять Edit1.Text[n] на вхождение в множество [$41..$


 
Германн ©   (2006-01-20 01:52) [6]

Пардон! случайно нажал "Добавить".
Следует читать: А ещё точнее - проверять Edit1.Text[n] на вхождение в множество [$41..$5A,$61..$7A]. Если входит, то это аглицкие буквы. Но стоит учесть, что кроме букв алфавита могут быть и другие символы: точка, запятая, пробел, кавычки etc.


 
Змей ©   (2006-01-20 03:59) [7]

procedure TForm1.Button9Click(Sender: TObject);
  var k,i,n:integer;
 str:string[50];
 x:char;
 s:string;
 begin
n:=1 ;
for i:=0 to edit1.SelLength do begin
 str:=edit1.Text;

 k:=ord(str[n]);
 if  k<65  then begin
 showmessage("цифры");
// k:=ord(str[n+1]);

 end;
 if (k>65) and (k<=122) then begin
  showmessage("англ");
 //k:=ord(str[n+1]);
ну тут вставляем переворот букв
 end;
  edit16.Text:=inttostr(k);//показываем какой код клавиши
 end;

очень интересно получается :)
все работает только тут фишка с цифрами это нужно их перескакивать до тех пор покамест не наткнемся на букву и посмотрев ее код обнаружим язык:)
чето тут муть! или я просто спать хочу:)


 
Германн ©   (2006-01-20 04:12) [8]

2 Змей ©   (20.01.06 03:59) [7]
Имхо, лучше пойти спать. :-)
А то - полнейшая чушь в сообщении.
Завтра будет день, будет истина.


 
Змей ©   (2006-01-20 04:44) [9]

добил я ее всетаки:)  СПАСИБО за помощь.
begin
n:=1 ;
l1: for i:=0 to edit1.SelLength do begin
 str:=edit1.Text;
  k:=ord(str[n]);
 if  k<65  then begin
 n:=n+1;
goto l1;
 end;
 if (k>65) and (k<=122) then begin
   button13.Click;;// переводим на русский
   end
 else
 begin
 b1.Click;// переводим в английский
  end;
  edit16.Text:=inttostr(k);
 end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
15-1137319308
Хинт
2006-01-15 13:01
2006.02.05
Тормоза в конкретной папке из-за Apache


1-1135880057
___SED
2005-12-29 21:14
2006.02.05
Можно ли написать на делфи 64-х битную прогу?


15-1137150439
Pazitron_Brain
2006-01-13 14:07
2006.02.05
Выбор.., это выбор


3-1134031355
Schooler
2005-12-08 11:42
2006.02.05
Interbase: помогите разобраться с правами.


2-1137704176
kizam
2006-01-19 23:56
2006.02.05
такая ошыбка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский