Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / формирование имени файла / 17 сообщений из 17, страница 1 из 1
20.10.2005, 13:54:44
    #33335105
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Доброго всем дня. Вопрос заключается в следующем:
нужно обрабатывать текстовые файлы с использованием FOPEN
но имена этих файлов каждый день различны q1.28,q2.28,q3.28 и т.д.
как быть? каждый день изменять в строке m.n_fd =FOPEN('q11.28') имя файла или можно как нибудь по другому? Заранее благодарен.
...
Рейтинг: 0 / 0
20.10.2005, 14:05:34
    #33335152
формирование имени файла
посмотри в сторону dtoc()
...
Рейтинг: 0 / 0
20.10.2005, 14:21:03
    #33335207
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
А причем здесь dtoc() ???
...
Рейтинг: 0 / 0
20.10.2005, 14:31:26
    #33335246
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Если имя файла - это функция от даты, то

Код: plaintext
1.
2.
3.
LOCAL lcFileName
lcFileName = "q"+TRANSFORM(DAY(Date()))+".28"
m.n_fd =FOPEN(m.lcFileName)

Ну, или используй свой алгоритм формирования предполагаемого имени файла.
...
Рейтинг: 0 / 0
20.10.2005, 15:20:43
    #33335411
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
ВладимирМЕсли имя файла - это функция от даты, то

Код: plaintext
1.
2.
3.
LOCAL lcFileName
lcFileName = "q"+TRANSFORM(DAY(Date()))+".28"
m.n_fd =FOPEN(m.lcFileName)

Ну, или используй свой алгоритм формирования предполагаемого имени файла.

У меня выдается сообщение о синтаксической ошибке в строке
lcFileName = "q"+TRANSFORM(DAY(Date()))+".28"
...
Рейтинг: 0 / 0
21.10.2005, 06:35:53
    #33336395
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
DenverДоброго всем дня. Вопрос заключается в следующем:
нужно обрабатывать текстовые файлы с использованием FOPEN
но имена этих файлов каждый день различны q1.28,q2.28,q3.28 и т.д.
как быть? каждый день изменять в строке m.n_fd =FOPEN('q11.28') имя файла или можно как нибудь по другому? Заранее благодарен.
Самое простое в данной ситуации - открывать файл либо выбранный пользователем в режиме диалога (см. в сторону getfile()) или заданный в коммандной строке в качестве параметра...
...
Рейтинг: 0 / 0
21.10.2005, 06:50:21
    #33336398
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Denver ВладимирМЕсли имя файла - это функция от даты, то

Код: plaintext
1.
2.
3.
LOCAL lcFileName
lcFileName = "q"+TRANSFORM(DAY(Date()))+".28"
m.n_fd =FOPEN(m.lcFileName)

Ну, или используй свой алгоритм формирования предполагаемого имени файла.

У меня выдается сообщение о синтаксической ошибке в строке
lcFileName = "q"+TRANSFORM(DAY(Date()))+".28"
Дык версию Фокса ты же не сообщил...
Вот ВладимирМ и дает тебе рекомедации по VFP...
В FPD функция transform() требует второй параметр...
Please, CONSULT with HELP first!!!
...
Рейтинг: 0 / 0
21.10.2005, 08:15:54
    #33336464
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Я пишу на пятом FOXe
...
Рейтинг: 0 / 0
21.10.2005, 08:22:45
    #33336471
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
На пятом тоже функция transform() требует второй параметр.
help transform()
...
Рейтинг: 0 / 0
21.10.2005, 10:57:39
    #33336795
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
При добавлении даты в название файла иногда мешают разделители даты("/").
...
Рейтинг: 0 / 0
21.10.2005, 12:09:13
    #33337043
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Вот это подойдет для любой версии FoxPro
Код: plaintext
1.
2.
3.
LOCAL lcFileName
lcFileName = "q"+LTRIM(STR(DAY(Date())))+".28"
m.n_fd =FOPEN(m.lcFileName)

Хотя, конечно, неплохо бы читать HELP по тем командам и функциям, которые приводятся в примере.
...
Рейтинг: 0 / 0
21.10.2005, 12:16:21
    #33337069
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
5631При добавлении даты в название файла иногда мешают разделители даты("/").
Если дата нужна для преобразования в строку и последующего анализа этой строки, то для конвертации следует использовать функцию

?DTOS(Date()) - это НЕ опечатка, на конце буква "S", а не "C"
или
?DTOC(Date(),1)

В результате, поучим строку вида "ГГГГММДД"

20051021

Во-первых, здесь нет никаких разделителей.
Во-вторых, такие строки корректно выстраиваются по возрастанию/убыванию даты.
И в-третьих, нет неоднозначности, какую часть считать годом, какую месяцем, а какую днем. Этот формат никак не зависит от региональных настроек.

Т.е. имя файла можно формировать так:

Код: plaintext
1.
2.
3.
LOCAL lcFileName
lcFileName = "q"+DTOS(Date())+".txt"
m.n_fd =FOPEN(m.lcFileName)

Получим имена файлов вроде:

q20051021.txt
q20051022.txt
q20051023.txt
q20051024.txt
...
...
Рейтинг: 0 / 0
24.10.2005, 10:56:27
    #33339723
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Все дело в том, что после "q1" идет всего навсего порядковый номер.
...
Рейтинг: 0 / 0
24.10.2005, 11:00:53
    #33339738
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
DenverВсе дело в том, что после "q1" идет всего навсего порядковый номер.
Повторю еще раз:
автор
Самое простое в данной ситуации - открывать файл либо выбранный пользователем в режиме диалога (см. в сторону getfile()) или заданный в командной строке в качестве параметра...
...
Рейтинг: 0 / 0
27.10.2005, 03:32:48
    #33346419
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
Hi Denver!

И как по твоему программа должна узнать какой именно "порядковый номер" её
обрабатывать сегодня??? Видать придётся в компутер шамана засовывать :)
P.S. Если тебе надо просто обработать какие-то файлы независимо от их имени
(т.е. не зная эти имена!) то подойдёт ADIR() - иначе только шаман!

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.10.2005, 08:56:19
    #33346538
sla15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
в паспортных данных, или в константах пропиши последний № или с какого отсчет вести и обновляй,наращивай каждый раз. имя через & формируй
...
Рейтинг: 0 / 0
28.10.2005, 16:06:43
    #33350327
Denver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формирование имени файла
sla15в паспортных данных, или в константах пропиши последний № или с какого отсчет вести и обновляй,наращивай каждый раз. имя через & формируй

Да именно так я и сделал. Все получается. Всем огромное спасибо за консультации
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / формирование имени файла / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]