Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
имена в переменую
dronetДата: Вторник, 30 Декабря 2008, 13:43 | Сообщение # 1
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
Такая незадача: имеетса путь, маска искомых фаилов, загружаю в SongList, получаетса список найденых файлов без пути и расширения.
path$='Указанная папка'
SearchForFiles("path$","*.jpg,*.bmp")
ListBoxAddItem("SongList","<List>")
Возможно ли превратить вот эти самые имена файлов в переменные?
Допустим севодня там лежит 10 картинок с разными именами а завтра уже 20 картинок а послезавтра 5 картинок.
надо чтобы каждого файла - имени было присвоена переменная с .
скажем вот так:
name1$=кошки


Andress
 
toizyДата: Вторник, 30 Декабря 2008, 15:18 | Сообщение # 2
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Не в ту сторону копаешь... Используй массив переменных. Синтаксис такой: var[i] для числа и var[i]$ для строки. Доступ к переменной осуществляется по индексу, соответственно, следует завести одну переменную, в которой будешь хранить длину массива. При необходимости просто изменяешь его длину и сохраняешь в эту переменную. Таким образом, всегда будешь знать, сколько элементов в массиве

Жизнь оказалась не такой уж и забавной, как поначалу...
 
dronetДата: Среда, 31 Декабря 2008, 00:58 | Сообщение # 3
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
Огромное Спасибо за подскаску! Но был-бы я пропитанным как говоритса програмистом или как это назвать? Что-то я понимаю но когда так кратко, то не совсем вникаю.
Можно как для Чайнака, ПлииЗ. Может примерчик маленький можно подкинуть. Огромное спасибо!


Andress
 
Alex3AДата: Среда, 31 Декабря 2008, 03:23 | Сообщение # 4
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Code
SongListReset()
SearchForFiles("<SrcDir>\db","*.dbf")
ListBoxAddItem("list1","<List>")
ListBoxGetItems("list1","ItemsArray$,NumItemsArr ay$,#,NumOfAllItems")
For i=1 To NumOfAllItems
filename1$[i]=GetArrayItem(ItemsArray$,#,i)
Message("Смотри ","filename1$[i]")
Next i

filename1[i] - массив с именами

 
toizyДата: Четверг, 01 Января 2009, 12:03 | Сообщение # 5
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Да, пардон :-[ не var[i]$ а var$[i]

Жизнь оказалась не такой уж и забавной, как поначалу...
 
dronetДата: Пятница, 02 Января 2009, 13:46 | Сообщение # 6
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
Вот приписал ешё одну строчку.

SongListReset()
SearchForFiles("<SrcDir>\db","*.dbf")
ListBoxAddItem("list1","<List>")
ListBoxGetItems("list1","ItemsArray$,N umItemsArr ay$,#,NumOfAllItems")
For i=1 To NumOfAllItems
filename1$[i]=GetArrayItem(ItemsArray$,#,i)
RetName$[i]=ExtractName(filename1$[i])
Message("Смотри ","RetName$[i]")
Next i

Получилось так как я хотел.
Выводит только имена без адресса и расширения.


Andress

Сообщение отредактировал dronet - Пятница, 02 Января 2009, 13:48
 
Alex3AДата: Пятница, 02 Января 2009, 16:40 | Сообщение # 7
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (dronet)
Выводит только имена без адресса и расширения.

Так надо было и спрашивать, попробуй догадайся что ты хочешь.
 
dronetДата: Суббота, 03 Января 2009, 17:59 | Сообщение # 8
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
Не ничево, я уже разобрался, может серьёзно - я непонятно написал.

Добавлено (03 Январь 2009, 17:59)
---------------------------------------------
Вот если кому надо такой вариант.
For i=1 To NumOfAllItems
Во всём цикле можно даже и не использовать filename1$[i]
А просто прописать туда filename1$
Ведь весь этот цыкл будет прорабатывать столько - сколько строк загруженно в list1 это определяет уже NumOfAllItems
Next i

Меня интересует ешё такой вариант:
Вот для поиска мы поставили SearchForFiles("<SrcDir>\db","*.dbf") точьнее файлы с расширением .dbf
Допустим - SearchForFiles, получилось что у нас найденно - (001.dbf) (sto.dbf) и (name.dbf)
Нужно чтобы, если есть фаилы (001.dbf) (sto.dbf) и (name.dbf) и в тоже время есть фаилы (001.txt) (sto.txt) и (name.txt)
То,, тогда добавляетса это всё в list1, (но только с расширением согласно ношему поиску SearchForFiles("<SrcDir>\db","*.dbf")
Ну А если,, есть фаил (001.dbf), А (001.txt) нету - то соотведственно (001.dbf) уже не должен попасть в list1.
Естественно эти самые .txt находятса в тойже директории что и .dbf
Возвожно как-нибуть выполнить в ММВ такое?

Надеюсь я понятно написал...


Andress
 
Alex3AДата: Суббота, 03 Января 2009, 20:05 | Сообщение # 9
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (dronet)
Ну А если,, есть фаил (

Есть такой оператор "если" (if...then...end), вот возьми свою нужду, более четко ее сформулируй и
напиши уже более понятным, для ммв языком - получиться нужный скрипт.
 
  • Страница 1 из 1
  • 1
Поиск: