ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

удалить все русские буквы из текста. как?
  #1  
Старый 07.01.2010, 00:01
Аватар для 1n0y
1n0y
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме:
1682814

Репутация: 102
Отправить сообщение для 1n0y с помощью ICQ
По умолчанию удалить все русские буквы из текста. как?

сабж. делфи. помогите пажалста
 
Ответить с цитированием

  #2  
Старый 07.01.2010, 00:39
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

вот примитивный алгоритм. (pascal не люблю)
тк строка это массив то определенную букву можно получить так str[5] - 5 буква... есть такая функция ord - получить ASCII код символа. выведи для начала ord('а') ord('Я') посмотри диапазон чисел потом
делаешь 2 строки одинакового размера
первая исходная - for ом по всем элементам if ord(str[i])<ord('а') then dest[k]=str[i];

типа если это не русская буква заносим символ в новую строку - в итоге в новой строке будут все встречающиеся не русские символы.

может можно и красивее реализовать ) хз
 
Ответить с цитированием

  #3  
Старый 07.01.2010, 01:25
Аватар для Faost
Faost
Новичок
Регистрация: 11.07.2009
Сообщений: 20
Провел на форуме:
39998

Репутация: 2
Отправить сообщение для Faost с помощью ICQ
По умолчанию

Ну хоть бы и так:
Цитата:
var s: string;
i: integer;
c: char;
begin
s:= 'сstringяАiusaol';

for c:= 'А' to 'я' do
repeat
i:= pos(c, s);
if i <> 0 then
Delete(s, i, 1);
until i = 0;

ShowMessage(s);
end;
 
Ответить с цитированием

  #4  
Старый 07.01.2010, 03:52
Аватар для 1n0y
1n0y
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме:
1682814

Репутация: 102
Отправить сообщение для 1n0y с помощью ICQ
По умолчанию

заюзал StringReplace, повторив 33 раза со всеми буквами
Цитата:
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,'а','',[rfReplaceAll, rfIgnoreCase]);
не очень красиво, но работает
 
Ответить с цитированием

  #5  
Старый 07.01.2010, 14:25
Аватар для Fata1ex
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

I like the way you move!
Отличный выход
 
Ответить с цитированием

  #6  
Старый 07.01.2010, 17:53
Аватар для patcher
patcher
Познающий
Регистрация: 15.12.2009
Сообщений: 81
Провел на форуме:
393444

Репутация: 24
Отправить сообщение для patcher с помощью ICQ
Wink

Вот набросал:
Код:
procedure DeleteRus(text:string);
var c:char;
begin
for c:='А' to 'я' do
text:=StringReplace(text,с,'',[rfReplaceAll, rfIgnoreCase]);
end;
Пример:
Код:
var s:string;
begin
s:='хзчтоздgdfgsds36есь';
DeleteRus(s);
end;
 
Ответить с цитированием

  #7  
Старый 07.01.2010, 18:03
Аватар для 1n0y
1n0y
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме:
1682814

Репутация: 102
Отправить сообщение для 1n0y с помощью ICQ
По умолчанию

patcher, спасибо жаль что в голову вчера такое не пришло

но менять наверное нечего небуду, ибо приделал опции с выбором символов, которые нужно удалять

 
Ответить с цитированием

  #8  
Старый 07.01.2010, 19:45
Аватар для Linkus
Linkus
Участник форума
Регистрация: 20.12.2008
Сообщений: 130
Провел на форуме:
436500

Репутация: 11
По умолчанию

0_o те не лень было все эти чекбоксы ставить??
 
Ответить с цитированием

  #9  
Старый 07.01.2010, 21:40
Аватар для Fata1ex
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

эээ на будущее - это решается одним текстовым полем, в которое юзер вбивает нужные символы для замены...
50 чекбоксов - это сильно. В мемы юзабилити!
 
Ответить с цитированием

  #10  
Старый 08.01.2010, 00:14
Аватар для 1n0y
1n0y
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме:
1682814

Репутация: 102
Отправить сообщение для 1n0y с помощью ICQ
По умолчанию

Цитата:
Сообщение от Fata1ex  
эээ на будущее - это решается одним текстовым полем, в которое юзер вбивает нужные символы для замены...
50 чекбоксов - это сильно. В мемы юзабилити!
да я с делфи знаком неделю буквально, что первое подруку попалось, то и поставил. притом задача была сделать прогу с кучей всяких ненужных настроек, да и вообще сымитировать бурную деятельность и гибкость программы

расскажите как сделать одно текстовое поле?

Последний раз редактировалось 1n0y; 08.01.2010 в 00:33..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интервью с сотдрудником отдела "К" elimS2 Мировые новости 69 12.11.2009 18:02
Как грамотно убить компьютер [AG] Статьи 12 06.10.2009 14:39
Как стать админом ICQ (c) yarrak InfernoNet Болталка 77 06.08.2009 15:15
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
FAQ по выделенным серверам (Dedicated Servers) byte57 Чужие Статьи 4 16.11.2006 22:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ