Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Переименовать файл в файл с датой  [new]
1Eprst
Member

Откуда:
Сообщений: 5
Знаю что простота но вот не получается Переименовать открываемый файл в файл с датой вида ДД.ММ.ГГГГ!

Мой код:
автор

mTXT_DATE = DTOC(DATE())
new=''
cFilename=''
*ALTER TABLE table post1707 alter COLUMN nls fieldtype c nfieldwidth
cFilename = GETFILE("dbf")
IF !EMPTY(cFilename) THEN
ALTER TABLE &cFilename;
alter COLUMN nls c(5)
CLOSE TABLES
USE &cFilename
SCAN
new='00000'+ALLTRIM(nls)
new=RIGHT(new,5)
REPLACE nls WITH new
ENDSCAN
BROWSE
USE
Rename &cFilename to &cFilename+mTXT_DATE
ELSE
MESSAGEBox('Не выбран файл',0+16,'Мессага')
ENDIF


VisualFoxPro 7.0
22 янв 08, 15:04    [5186444]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Sergey Sizov.
Guest
Жуть.

mTXT_DATE = DTOC(DATE())
new=''
cFilename=''
*ALTER TABLE table post1707 alter COLUMN nls fieldtype c nfieldwidth
cFilename = GETFILE("dbf")
IF !EMPTY(cFilename) THEN
  select *, space(5) as nls from (cFilename) into table (cFilename+mTXT_DATE) 
ELSE
  MESSAGEBox('Не выбран файл',0+16,'Мессага')
ENDIF
22 янв 08, 15:12    [5186521]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
MiklS
Member

Откуда: Владивосток
Сообщений: 131
Renames a table in the current database.


RENAME TABLE TableName1 TO TableName2



Parameters
TableName1
Specifies the name of the table to be renamed.

TableName2
Specifies the new name of the table.

Remarks
You cannot use RENAME TABLE to change the name of a free table; use RENAME instead.

Example
The following example creates two databases named mydbc1 and mydbc2, and a table named table1. The table is added to mydbc1 when it is created. The table is then closed and removed from mydbc1. ADD TABLE is then used to add the table to mydbc2. RENAME TABLE is used to change the name of the table from table1 to table2.


CLOSE DATABASES
CREATE DATABASE mydbc1
CREATE DATABASE mydbc2
SET DATABASE TO mydbc1
CREATE TABLE table1 (cField1 C(10), n N(10))  && Adds table to mydbc1
CLOSE TABLES     && A table must be closed to remove it from a database
REMOVE TABLE table1
SET DATABASE TO mydbc2
ADD TABLE table1
RENAME TABLE table1 TO table2
22 янв 08, 15:17    [5186567]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Ну на первый взгляд вот тут не понятно:
Rename &cFilename to &cFilename+mTXT_DATE
К чему относится символ макроподстановка и нужна ли она для команды Rename!?
Я бы сделал так:
RENAME (cFilename) TO (FORCEEXT(cFilename, '') + DTOC(DATE()) + '.' + JUSTEXT(cFilename))
Но не уверен, что в VFP 7.0 уже были FORCEEXT и JUSTEXT

С уважением, Алексей
22 янв 08, 15:21    [5186596]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
1Eprst
Member

Откуда:
Сообщений: 5
Ребята во всех слечаях пишет
автор
File dows not exist
22 янв 08, 15:46    [5186809]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
1Eprst
Ребята во всех слечаях пишет
автор
File dows not exist

Да!!
А что дает перед RENAME...
? FILE(cFilename)
С уважением, Алексей.
22 янв 08, 16:01    [5186935]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Fffffffff
Guest
Пример
22 янв 08, 16:04    [5186966]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
1Eprst
Member

Откуда:
Сообщений: 5
Дает
автор

not a character expression


Код такой:
mTXT_DATE = DTOC(DATE())
new=''
cFilename=''
cFilename = GETFILE("dbf")
IF !EMPTY(cFilename) THEN
RENAME File(cFilename) TO (FORCEEXT(cFilename, '') + DTOC(DATE()) + '.' + JUSTEXT(cFilename))
ELSE
MESSAGEBox('Не выбран файл!',0+16,'Мэссэндж')
ENDIF
22 янв 08, 16:09    [5186998]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
1Eprst
Дает
автор

not a character expression


Код такой:
mTXT_DATE = DTOC(DATE())
new=''
cFilename=''
cFilename = GETFILE("dbf")
IF !EMPTY(cFilename) THEN
RENAME File(cFilename) TO (FORCEEXT(cFilename, '') + DTOC(DATE()) + '.' + JUSTEXT(cFilename))
ELSE
MESSAGEBox('Не выбран файл!',0+16,'Мэссэндж')
ENDIF

1. Если на ? FILE(cFilename) дает not a character expression, то тут ничем не помочь :)
2. Если not a character expression дает на RENAME, то возможно, что в VFP 7.0 еще не было JUSTEXT или (и) FORCEEXT
С уважением, Алексей.
22 янв 08, 16:12    [5187028]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
1Eprst
Member

Откуда:
Сообщений: 5
Нужно фокс обновить?
22 янв 08, 16:18    [5187086]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
Sergey Sizov.
Guest
Найти ошибку в своем коде. Иой вариант для любых версий фокса.
22 янв 08, 16:52    [5187385]     Ответить | Цитировать Сообщить модератору
 Re: Переименовать файл в файл с датой  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Для справки: функции FORCEEXT() и JUSTEXT() были введены в VFP6. Хотя через FoxTools.fll были доступны и в ранних версиях FoxPro.
23 янв 08, 00:05    [5188893]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить