filename as string?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
O(- |-)O
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.07.2004 (Вт) 14:50

filename as string?

Сообщение O(- |-)O » 14.07.2004 (Ср) 15:26

преставьте што у меня имена файла заканчиваютса- на 1,2,3,4... - а начинаютса на 2003,2004, по середине есть информация типа "полёты" (2003_полёты_1) первое число год последнее месац- а мне надо в vb ето всё превратить в стринг да так штобы потом с ним можно было работат- например достать первые четыре числа и последнее+ превратить его в инт? как мне сделать:
А)представить имя файла в виде стринга
Б)из стринга достать числа и превратить в интегер- как на паскале может и в vb есть такие функции?

O(- |-)O
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.07.2004 (Вт) 14:50

Сообщение O(- |-)O » 14.07.2004 (Ср) 16:17

punkt (a) snimaetsa sam soboj :)

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

Сообщение GSerg » 14.07.2004 (Ср) 17:55

Если числа идут прямо с начала, то можно сразу Val.
Если нужен фильтр, то посимвольно перебирай и смотри IsNumeric каждого символа.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 14.07.2004 (Ср) 19:44

Выглядеть это будет где-то так (FName - имя файла,Y - год,M - месяц):
Код: Выделить всё
Dim FName As String, Y As Integer, M As Byte
'--------------------------------------------------
'Здесь идет нужный код и задается FName
'--------------------------------------------------
Y=CInt(Left$(FName,4))
M=CByte(Right$(FName,1))
If Left$(Right$(FName,2),1)="1" Then M=M+10

ЗЫ. Да, это - первый пришедший в голову вариант, так что если найдутся записи выполненные до 1000 или после 9999 года, а также в месяцы с номерами меньше 0 или больше 19 - прошу меня извинить. :wink:
Листинги не горят!

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 14.07.2004 (Ср) 22:38

Вот еще вариант...
Код: Выделить всё
Dim sFileName As String, sYear As string, sNumber As String
Dim vArray as Variant

  vArray = Split (sFileName, "_")
  sYear = CInt(vArray(LBound(vArray)))
  sNumber = CInt(vArray(UBound(vArray)))


O(- |-)O
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.07.2004 (Вт) 14:50

Сообщение O(- |-)O » 14.07.2004 (Ср) 23:35

big chelovecheskij spasib!!!!!


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

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

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

    TopList  
cron