Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2011, 07:28   #1
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию разархивация файла

нужно разархивировать файл создав временную папку с файлами, затем выбрать нужный и сним уже работать

Код:
 vibf=''
 IF EMPTY (vibf)=.F. then
 *используется для отладки программ
 *SET STEP ON
 *Arj не работает с русскими буквами, поэтому нахожу короткое имя файла и записываю его в С:\temp
 L="" 
 k=0 
 endif ;
 DO WHILE L # "\" ;
 k = k+1 ;
 promf=RIGHT(vibf,k) ;
 L=LEFT(promf,1) ;
 ENDDO ;
 promf=RIGHT(vibf,k-1) ;
 rabf="C:\Temp\"+(promf) ;
 COPY FILE (vibf) TO (rabf) ; 
 *SET STEP ON
 *разархивирую в папку темп
f='Run arj e -y '+rabf+' C:\temp\' 
 & RUN f ; 
f='Run rar e -y '+rabf+' C:\temp\' 
 & RUN f ;

 *открываю справочник sptf для чтения без изменений

 SELECT 0
 DO CASE ;
 CASE UPPER(RIGHT(rabf,3))='REE' ;
 DO CPZERO.prg WITH "C:\Temp\a.dbf", 866 ;
 use C:\Temp\a.dbf 

* тут уже не находит файл:
 select * ;
 from a ;
 where id = 2;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.11.2011 в 09:29.
illyuziy вне форума Ответить с цитированием
Старый 25.11.2011, 09:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

мой ответ в предыдущей теме не устроил?
Так, как сказал, тоже не работает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2011, 10:05   #3
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

нет, не работает. не находит файл Use
illyuziy вне форума Ответить с цитированием
Старый 25.11.2011, 10:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
vibf=''
ну, если я правильно понимаю, имя архива пустое изначально.
Что он будет распаковывать и открывать?!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2011, 11:26   #5
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

Код:
 vibf=''
в форме выбирает нужный заархивированный файл. кнопка "обзор"
illyuziy вне форума Ответить с цитированием
Старый 25.11.2011, 13:22   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) ну, перед f='.....
вставьте строчку, которая отобразит содержимое переменной rabf
Код:
WAIT WINDOWS 'Файл >>>>'+rabf+'<<<<'
2) ещё раз уточню, ЗАЧЕМ у Вас в конце каждой строки присутствуют точки с запятой?! Вы вообще знаете, что означает точка с запятой в конце строки в командах FOXPRO ?!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2011, 14:21   #7
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
1) ну, перед f='.....
вставьте строчку, которая отобразит содержимое переменной rabf
Код:
WAIT WINDOWS 'Файл >>>>'+rabf+'<<<<'
2) ещё раз уточню, ЗАЧЕМ у Вас в конце каждой строки присутствуют точки с запятой?! Вы вообще знаете, что означает точка с запятой в конце строки в командах FOXPRO ?!!!
1. т.е. след строчка?
2. это наверно привычка с С++, я так понимаю надо везде убрать
illyuziy вне форума Ответить с цитированием
Старый 14.12.2011, 12:40   #8
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

вот как я это реализовала. может комуто поможет
Код:
if empty (ppp)=.F. then
L=""
k=0
endif
Do while L# '/'
k=k+1
bbb=right (ppp,k)
l=left (bbb,1)
bbb=right (ppp,k-1)
enddo
v='c:/Temp/'+(bbb)
f='Run rar e -y '+v+' c:/Temp/'
теперь задача наоборот
создать с помощью архиватора rar, zip, arj
архив iddhm.scd где id=код, d-день, h-час, m-минута когда был создан файл
ваши предложения....
illyuziy вне форума Ответить с цитированием
Старый 15.12.2011, 07:02   #9
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
Печаль

Код:
LOCAL lArcDate, lArcTime, lArc, lSDir, lcCommand 
 lArcDate=PadL(AllT(Str(DAY(DATE()))),2,'0') 
 lArcTime=PadL(AllT(Str(HOUR(DATETIME()))),2,'0')+PadL(AllT(Str(MINUTE(DATETIME()))),2,'0') 
 
 lArc='backup'+lArcDate+lArcTime+'.scd' 
  lcCommand = 'run rar a '+lArc+' '+lsDir+'*.* ' 
 !&lcCommand
Не пойму как вставить в название id который располагается в pdf файле в папке Temp (временный файл разархивированный) в поле id.
Получается надо вставить это условие перед строкой и вместо 'backup'
Код:
lArc='backup'+lArcDate+lArcTime+'.scd'
и формат архивного файла должен быть .scd

помогите пожалуйста!

Последний раз редактировалось illyuziy; 15.12.2011 в 12:33.
illyuziy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разархивация файла illyuziy SQL, базы данных 2 24.11.2011 14:55
Перезапись файла без путя или определение расположения файла программы The Best Общие вопросы Delphi 4 13.07.2009 22:50
Разархивация посредством Delphi Dark_Chr0n0 Компоненты Delphi 5 19.02.2009 11:17
Два XL файла, данные 1-го файла являются частью другого в формуле 2-го Кот Microsoft Office Excel 2 14.08.2007 16:56