Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: www22.brinkster.com/casperz
 Профиль | | #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.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам