Работа с тектом... никак не врублюсь...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
el-niko
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 17.09.2004 (Пт) 20:15
Откуда: Елец

Работа с тектом... никак не врублюсь...

Сообщение el-niko » 25.09.2004 (Сб) 11:36

Здравствуйте, помогите пожалуйста в следующей прабле:

У меня в текстовом поле, допустим, с ипенем pole есть такой текст
z1 x2 v3+ b4-

Теперь надо в этом тексте сделать так:
1) все буквы оставить также
2) 1 заменить на 4
2 - на 3
3 - на 2
4 - на 1
3) Если в конце стоял "+" то поместить вперёд слово "да"
Если в конце стоял "-" то поместить вперёд слово "нет"

4) Убрать все пробелы

В иторе должно получиться так:
z4x3даv2нетb1

Если кто-то знает, как решить сию задачу - подскажите пожалуйста...
Зараннее спасибо...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 25.09.2004 (Сб) 13:04

Смотри InStr()
Запоминай позицию и меняй - писать алгоритм или вручняк или пошерсти поисковики 8)
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 25.09.2004 (Сб) 13:15

Replace. Вот и все.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

el-niko
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 17.09.2004 (Пт) 20:15
Откуда: Елец

Сообщение el-niko » 25.09.2004 (Сб) 14:22

Ребят, это вам опытным прогерам понятно, а нам, ламерам, эти слова ничё не говорят, честное слово =) Можно какой-нить примерчик чтоли или как-нить по-подробнее, а?

Зараннее спсибо...
=)

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 25.09.2004 (Сб) 15:04

txt=Replace(txt," ","")
txt=Replace(txt,"+","да")
txt=Replace(txt,"-","нет")
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

el-niko
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 17.09.2004 (Пт) 20:15
Откуда: Елец

Сообщение el-niko » 25.09.2004 (Сб) 17:08

Всё, я сам нашёл решение, но всё рвно всем спасибо !!!
Тема закрыта....
=)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.09.2004 (Пн) 11:26

Replace не пойдет.
Если заменить "1" на "4", а потом заменить "4" на "1", то в результате "4" не будет нигде, будет только "1".
Надо искать требуемые символы и запоминать их позиции. А потом пройтись циклом по этому списку и заменить на что нужно.
Lasciate ogni speranza, voi ch'entrate.

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 27.09.2004 (Пн) 11:39

alibek писал(а):Replace не пойдет.
Если заменить "1" на "4", а потом заменить "4" на "1", то в результате "4" не будет нигде, будет только "1".

А можно сначала заменить все единицы на что-то несуразное типа "[edenitsa]", четверки :arrow: "[chetverka]". Потом "[chetverka]" :arrow: "1", "[edenitsa]" :arrow: 4.

А конкретно к этим числам, то можно и по формуле 5-x заменять!
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.09.2004 (Пн) 12:02

А на что несуразное? Вдруг это несуразное в тексте встретится, вот несуразность будет.
Правильный ответ был уже в первом посте, от xenomorph, т.е. запоминать позиции, а потом заменять разом. Имеет смысл написать функцию ReplaceBatch(Find1, Replace1, Find2, Replace2, ..., FindN, ReplaceN) и реализовать такую замену в ней.
Lasciate ogni speranza, voi ch'entrate.

kazah_
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 13.01.2003 (Пн) 18:37
Откуда: Russia

Сообщение kazah_ » 27.09.2004 (Пн) 19:38

можно так:

for i=1 to len(Str)
if mid(Str,i,1)<>" " Str2=Str2+mid(Str,i,1)
...

next
if Right(Str, 1)="+" then str="да" & left(str,len(str)-1)
Mr DEN - THE WAY YOU KNOW / Мр. ДЕН - Ваш Путь к Познанию!


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

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

Сейчас этот форум просматривают: С.Т., Yandex-бот и гости: 3

    TopList