|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.03.2007, 20:04 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 21.01.2007
Сообщений: 193
|
поиск и замена текста в RichEdit
Здравствуйте ув. спецы, помогите пожалуйста решить такую задачку: Створити текстовий редактор, в котрому паралельно з набором тексту, автоматично виконується перевірка тексту на наявність пробілів після знаків пунктуації в внесення відповідних правок.
|
01.03.2007, 22:57 | #2 |
Пользователь
Регистрация: 21.02.2007
Сообщений: 26
|
тут тебе никто готовый редактор невикинет напсаный таким путем. могут толька лишь намекнуть, подсказать к и что делать.
могу подсказать немного, ибо преставляю как оно должно выглядить, и думаю это просто будет. Вот чем ты можешь воспользоватся:
|
09.03.2007, 21:18 | #3 |
Форумчанин Подтвердите свой е-майл
Регистрация: 21.01.2007
Сообщений: 193
|
Вот написал код для поиска : и проверки нахождения пробела перед и после него, если пробел перед ним то удаляем его, если после : отсутствует то вставляем. Вот только что то он не работает ошибка Access Violation. Подскажите пожалуйста где я ошибся? Ниже приведен код:
procedure search (str : array of char); var str1: array of string; i, index: integer; begin str1[i]:=Form1.RichEdit1.Text; for i:= 0 to Form1.RichEdit1.Lines.Count do begin index:=pos (str[i], str1[i]); if index <> 0 then index:=index+1; if str1[index] <> ' ' then insert (' ',str1[index],index) else index:=index-1; if str1[index] = ' ' then delete (str1[i], index, index); end; end; procedure TForm1.Button1Click(Sender: TObject); var str: array of char; i:integer; begin str[i]:=':'; search (str[i]); end; |
10.03.2007, 10:43 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Не паникуй
1) Что-то уж больно сложная процедура поиска 2) Отлаживал код? (F7) Где ошибка именно? Вот, я тут немного накодил: Код:
Все восклицательные знаки заменятся знаками вопроса. (Конечно вместо '!' можно написать 'fg;lkgk') Последний раз редактировалось zetrix; 10.03.2007 в 11:01. |
10.03.2007, 19:53 | #6 | ||
Форумчанин Подтвердите свой е-майл
Регистрация: 21.01.2007
Сообщений: 193
|
Спасибо Zetrix
Цитата:
Цитата:
Если можно подскажите пожалуйста как решить эту задачку |
||
15.03.2007, 00:16 | #7 |
Форумчанин Подтвердите свой е-майл
Регистрация: 21.01.2007
Сообщений: 193
|
Вот дописал код:
procedure search_space (index:integer); var str1,str,space: string; begin space:=' '; str1:=Form1.RichEdit1.Lines.Strings[index-1]; if str1 = space then //если пробел перед : то удаляем его begin delete(str,index-1,1); end; str1:=Form1.RichEdit1.Lines.Strings[index+1]; if str1 <> space then // если пробела после : нет то вставляем begin insert (space,str,index+1); end; end; procedure search(S:string); var str:string; i,index:integer; begin for i:=0 to Form1.RichEdit1.Lines.Count-1 do begin str:=Form1.RichEdit1.Lines.Strings[i]; while pos(S,str)<>0 do begin index:=pos(S,str); Search_space (index); end; Form1.RichEdit1.Lines.Strings[i]:=str; end; end; procedure TForm1.Button1Click(Sender: TObject); begin search (':'); end; Но видно я где то ошибаюсь, программа просто зависает при нажатии кнопки . Подскажите в чем ошибка? Последний раз редактировалось Vasya; 15.03.2007 в 01:00. |
15.03.2007, 21:19 | #9 | ||
Пользователь
Регистрация: 28.01.2007
Сообщений: 27
|
Цитата:
Например, текст был такой: Цитата:
вызвали так: search('попа','о'); Результат, совсем не тот.. 2Vasya: Естественно вешается, ты же делаешь Код:
Попробуй просто взять без переделок функцию Search (c) zetrix и вызови ее так: Код:
Последний раз редактировалось Malice; 15.03.2007 в 21:36. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема поиск и замена текста(Delphi) | KirkMETAL | Помощь студентам | 4 | 26.07.2010 08:41 |
RichEdit обновление текста | N!ckeL | Общие вопросы Delphi | 11 | 05.02.2009 20:47 |
Замена констант в RichEdit. | Pashekka | Компоненты Delphi | 1 | 24.09.2007 09:42 |
Поиск и замена текста в файле | VAbramyak | Общие вопросы Delphi | 3 | 04.04.2007 20:20 |
замена текста | zetrix | Microsoft Office Excel | 0 | 31.10.2006 07:54 |