имена в переменую
|
|
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), вот возьми свою нужду, более четко ее сформулируй и напиши уже более понятным, для ммв языком - получиться нужный скрипт.
|
|
| |