Автоформатирование текста

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
gvozd1989
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 13.01.2005 (Чт) 9:16
Откуда: Украина

Автоформатирование текста

Сообщение gvozd1989 » 26.03.2005 (Сб) 10:02

Мужики, помогите/натолкните/расскажите как сделать автоформатирование. В автоформатирование должно обязательно входить: расставление правильных знаков препинания (дефисы, тире, минусы, кавычки, одинарные пробелы, запятые и точки с правильными промежутками), "вы" с маленькой буквы, замещение лишних заглавных букв строчными, расставление больших букв в собственных именах и в начале предложений, точек - в конце предложений, проставление ё
вместо е, где этого требует произношение, проверка орфографии и правильности написания словарных слов и их форм.

gvozd1989
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 13.01.2005 (Чт) 9:16
Откуда: Украина

Сообщение gvozd1989 » 26.03.2005 (Сб) 11:56

В том-то и дело, что мне надо без Ворда :cry:

Морфий
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 119
Зарегистрирован: 11.01.2005 (Вт) 18:06

Сообщение Морфий » 26.03.2005 (Сб) 12:09

без ворда или без компонетов ворда?
Можешь конечно сам парсить текст, анализировать его и вносить изменения, но мне кажется лучше не изобретать велосипед. :wink:
Вот оно — счастье...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.03.2005 (Сб) 15:31

Где-то я это уже видел :)
Помнится, там же я говорил о том, что это не ага :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Морфий
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 119
Зарегистрирован: 11.01.2005 (Вт) 18:06

Сообщение Морфий » 26.03.2005 (Сб) 15:46

GSerg писал(а):Где-то я это уже видел :)
Помнится, там же я говорил о том, что это не ага :)

Что ты имеешь в виду?
Вот оно — счастье...

gvozd1989
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 13.01.2005 (Чт) 9:16
Откуда: Украина

Сообщение gvozd1989 » 26.03.2005 (Сб) 16:09

Мне надо без компонентов ворда, так как предполагается коммерческая основа.

Milevskiy
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 05.11.2002 (Вт) 19:56
Откуда: Russia

Сообщение Milevskiy » 26.03.2005 (Сб) 23:16

Ну например если тебе надо заменить маленькую букву на заглавную в начале предложения то просто поищи в текте при момощи функции MID фрагмент типа "точка пробел", определи позицию этого фрагмента.
Затем возьми следующий за этим фрагментом символ и преобразуй его в заглавный при помощи функции UCase. Затем повторяй поиск фрагмента "точка пробел" уже со следующей позиции после замененного символа. И так до конца текста.

Если обработку нужно производить в момент ввода текста то загони код в таймер.
Для обработки лучше загнать текст или его фрагмент в переменную.

Остальные опреации над тектом производятся аналогичным образом.
А вот с орфографией я думаю по сложней будет.

PS: для небольших объемов текста самое то. :)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 26.03.2005 (Сб) 23:24

gvozd1989
Раз предполагается коммерческая основа, то наверное предлагаются и "коммерческие" знания.
Ты с наскоку проверку стилистики и офографии, автозамену и морфологический анализ не сделаешь.
Если бы так просто все можно было сделать, люди Word не покупали бы ;).

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Морфий
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 119
Зарегистрирован: 11.01.2005 (Вт) 18:06

Сообщение Морфий » 26.03.2005 (Сб) 23:27

Milevskiy писал(а):Если обработку нужно производить в момент ввода текста то загони код в таймер.
Для обработки лучше загнать текст или его фрагмент в переменную.


Ага, и каждый раз по таймеру устанавливать позицию каретки (прикинь что будет...) :wink:
Вот оно — счастье...

Milevskiy
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 05.11.2002 (Вт) 19:56
Откуда: Russia

Сообщение Milevskiy » 27.03.2005 (Вс) 0:20

Морфий писал(а):
Milevskiy писал(а):Если обработку нужно производить в момент ввода текста то загони код в таймер.
Для обработки лучше загнать текст или его фрагмент в переменную.


Ага, и каждый раз по таймеру устанавливать позицию каретки (прикинь что будет...) :wink:


Ну для обработки текста "на лету" не обязательно его весь проверять. Достаточно отслеживать несколько символов в обасти позиции курсора. Хотя эсли при этом весь текст хранить в переменной программа конечно будет перегружена - тогда придется прямо в текстовом поле производить обработку.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 141

    TopList