Страница: 1 |
Страница: 1 |
Вопрос: Помогите по VB!!!!!!......Элементарное!!!!
Добавлено: 14.07.04 14:06
Автор вопроса: EDIK
Мне надо написать маленькую программку....:
Например нам дан текстовик (new.txt) у него структура одинаковая (например первая строчка
выглядит так: 9760290002000298097601109910021@@@) мне нужно чтобы последнее число "10021" менялось на "80" а после него символы красиво сужались...
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #1
Добавлено: 14.07.04 15:21
1.Берёшь InStrRev и им перебираешь в цикле все элементы своей строки (задом наперёд). При этом каждый элемент внимательно просматриваешь при помощи IsNumeric - и запоминаешь первое числовое и первое нечисловое значение. А затем из исходной строки выдираешь часть, начинающуюся с первой цифровой и до первой нецифровой-1.И вставляешь вместо неё свои "80"
2.Что значит "красиво сужались" ? Если уменьшать ширину отображаемого символа, то апишные CreateFont и LOGFONT тебе в руки. Ими ты можешь слепить шрифт любой ширины и высоты.Берешь Right$ и отрубаешь им справа от строки кусок размером "длина строки"-"первый цифровой"см.п.1). Определяешь длину куска. Сколько символов в куске - столько раз достаешь CreateFont и делаешь новый шрифт, чуть поуже предыдущего, и рисуешь им букву.
Если надо пример по изготовлению шрифтов, пиши.
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 14.07.04 16:59
Забыл сказать: это только элементарное. Потом надо будет всё прорисовывать. Вот это уже не очень элементарно. И практически не VB.
Номер ответа: 3
Автор ответа:
CaS
ICQ: 165551179
Вопросов: 10
Ответов: 124
Web-сайт:
Профиль | | #3
Добавлено: 18.07.04 15:55
Если эта строчка и есть все содержимое файла, то скидывай его в какую-нибудь переменную strOut.
Потом находишь исходное число
s=instr(1,StrOut,"10021"
strLeft=left(srtOut,s-1)
strRight=mid(strOut,s+len("10021")
потом все скидываешь в новую переменную
strItog=strLeft & "80" & strRight
и пишешь в файл strItog.
Да, там сам помотришь где s-1, а где s+1.