Имя файла

Gor

Well-known member
07.06.2005
517
1
#1
Подскажите пож-та как возможно вывести в какую нибудь лотусовую переменную имя файла в определённой директории(не его длину а именно имя к примеру REPORT.xls)?? долго искал но ничего не нашёл по этому вопросу... неужели для этого обязательно вызывать API функционал?
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#2
Для: Gor

Скажи для чего тебе это.
 

Gor

Well-known member
07.06.2005
517
1
#3
мне надо сделать проверку существует ли файл с таким именем в определённом каталоге или нет
(имя файла у меня содержится в переменной)
проверку на совпадающий каталог я сделал а на файл нет
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#4
Для: Gor

Можно так наверно исхитриться:


On Error Goto ErrorHandle

fileNum% = Freefile()
Open directory_path$+filename$ For Input As fileNum%
print "Файл существует"

ErrorHandle:
print "Файл не существует"
Exit Sub

А может кто подскажет более "элегантный" способ
 

Gor

Well-known member
07.06.2005
517
1
#5
а если файл существует то он его открывает получается? хотя конечно это вариант!
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#6
Для: Gor

Да, кстати, так надо:


On Error Goto ErrorHandle

fileNum% = Freefile()
Open directory_path$+filename$ For Input As fileNum%
Close fileNum%
print "Файл существует"

ErrorHandle:
print "Файл не существует"
Exit Sub
 

Gor

Well-known member
07.06.2005
517
1
#7
Забыл совсем к чему стремлюсь ещё)) проверку на наличие то как выяснилось сделать ещё реально но
у меня следующий шаг такой:
имена у файлов в каталоге такие 1.xls, 2.xls, 3.xls
и если я не нахожу файл с идентичным именем мне необходимо открыть файл с максимальным именем
то есть из трёх вышеприведённых мне необходимо открыть 3.xls переписать его и сохранить под новым именем (ну как переписать и сохранить под новым именем с этим проблем нет, вот как его открыть именно нужный мне это вопрос)!!
вот для чего я хотел имя файла получить!))
Может есть у кого нить какие идеи?
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#8
Для: Gor

Значит тебе, в случае если файла нет, надо взять список фалов, сортирнуть их по имени и взять самый большой. :)

Список фалов возмешь с помощью Dir, хелп почитай в этом напрввлении:

Examples: Dir function

' List the contents of the c:\ directory, one entry per line.
Dim pathName As String, fileName As String
pathName$ = "c:\*.*"
fileName$ = Dir$(pathName$, 0)
Do While fileName$ <> ""
Print fileName$
fileName$ = Dir$()
Loop
 

Gor

Well-known member
07.06.2005
517
1
#9
Для: DNT

да действительно спасибо за помощь всё получилось и список, и сортировка. Видел этот метод но не вчитался внимательно, думал что он список каталогов выводит.