powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно наивный вопросик
16 сообщений из 41, страница 2 из 2
Можно наивный вопросик
    #34204956
Фотография Megabrain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PyroTechnicновую плюху кидаю:-)
как заставить ADIR сработать на директории, отличной от текущей?
в параметрах ADIR есть только ArrayName:-(

Вам лень справку почитать? Там это ясно описано.


Код: plaintext
1.
2.
cFileSkeleton 
Specifies a file skeleton so you can store information about files with names or extensions that match a search criterion. For example, the criterion can be all tables, all text files, all files with names that have A as their first letter, and so on. Such general searches are done by including the wildcards * and ? in cFileSkeleton. A question mark represents a single character; an asterisk represents any number of characters. You can use any number of wildcards in any position within the file skeleton. 
You can specify a drive and/or directory to search for matching file names. If you don't specify a drive and a directory, Visual FoxPro places information about files in the current directory into the array. 
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34204960
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MegaBrain, я лох. Спасибо!!!:-))))))
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205099
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще вопросик

! (cmd /k) unrar e -o+ "(ADDBS(v_input)+v_arcname)" "(v_work)"

cmd /k - чтобы посмотреть что не так

в скобках должно получаться значение пути, оно так и получается, но в командную строку передается выражение как есть, без вычисления. Как заставить вычисляться?:-)
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205109
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PyroTechnicеще вопросик

! (cmd /k) unrar e -o+ "(ADDBS(v_input)+v_arcname)" "(v_work)"

cmd /k - чтобы посмотреть что не так

в скобках должно получаться значение пути, оно так и получается, но в командную строку передается выражение как есть, без вычисления. Как заставить вычисляться?:-)
Здесь такой фокус не пройдет.
Сначала сформируйте строку команды. Что-то вроде:
Код: plaintext
1.
lcCommand="! (cmd /k) unrar e -o '"+ ADDBS(v_input)+v_arcname+"'"
&lcCommand

С уважением.
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205119
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, в Windows путь должен быть в двойных кавычках. Поэтому что-то вроде:
Код: plaintext
1.
lcCommand='! (cmd /k) unrar e -o "'+ ADDBS(v_input)+v_arcname+'"'
&lcCommand

Для примера у меня распаковка:
Код: plaintext
1.
2.
lcCommand="RUN /n "+gcStartPath+'WinRAR.exe e "'+tcFileName+'" "'+THIS.c_dr_temp_path+'"'
&lcCommand

С уважением.
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205295
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fox_vik GREAT THANKS!!!
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205410
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще глупый вопросик
нужно проверить присутствует значение из array среди значений поля из таблицы. Как лучше всего это сделать? пробовал так:
USE pack_content
FOR x=1 TO ALEN(v_dbfiles,1)
LOCATE FOR pack_content.file_name=RTRIM(v_dbfiles(x,1),'.DBF')
IF FOUND() then
? RTRIM(v_dbfiles(x,1),'.DBF')+" passed"
ELSE
? RTRIM(v_dbfiles(x,1),'.DBF')+" not passed"
ENDIF
ENDFOR
Выдает следующее: по первому значению массива - попадание, а дальше нет, потому что сравнение почему то идет только с первым значением из поля таблицы. Где не прав, подскажите?
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205673
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, серьезно какой-то бред. Способ, который я нарисовал, четко работает с одной таблицей, но не работает с другой. не может ли это быть оттого что в таблице, где не работает, всего один столбец?:-(
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205706
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока все молчали, я проблему решил. нарисовалась новая: в цикле идет выборка из таблицы, которая при следующем цикле должна замениться другой (туда разархивируются зипы, см. выше)
как снять блокировку с этой таблицы, не дергая другие. есть какой-нибудь вариянт окромя CLOSE TABLES?
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205726
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PyroTechnicЕще глупый вопросик
нужно проверить присутствует значение из array среди значений поля из таблицы. Как лучше всего это сделать? пробовал так:
USE pack_content
FOR x=1 TO ALEN(v_dbfiles,1)
LOCATE FOR pack_content.file_name=RTRIM(v_dbfiles(x,1),'.DBF')
IF FOUND() then
? RTRIM(v_dbfiles(x,1),'.DBF')+" passed"
ELSE
? RTRIM(v_dbfiles(x,1),'.DBF')+" not passed"
ENDIF
ENDFOR
Выдает следующее: по первому значению массива - попадание, а дальше нет, потому что сравнение почему то идет только с первым значением из поля таблицы. Где не прав, подскажите?
Для точного сравнения без учета расширения файла я бы cделал так:
Код: plaintext
LOCATE FOR UPPER(ALLTRIM(pack_content.file_name)) == UPPER(FORCEEXT(v_dbfiles(x, 1 ),''))
С уважением, Алексей.
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205745
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, алексей. Нет дело было в том, что надо было добавить:
SELECT pack_content
Кто-нить может ответить на простенький вопрос по поводу закрытия таблиц?
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205749
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем проблемма?
С уважением, Алексей
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205756
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
См. выше. открываю таблицу запросом, потом не могу закрыть чтоб другие не дергать, а надо. Уверен, что решается просто
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34205772
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PyroTechnicСм. выше. открываю таблицу запросом, потом не могу закрыть чтоб другие не дергать, а надо. Уверен, что решается просто
SELECT ... FROM .. INTO CURSOR ... NOFILTER
Добавь после имени курсора слово NOFILTER
С уважением, Алексей.
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34206111
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Алексей
нет не помогает. при селекте таблица захватывается фоксом, и удалить физически файл я уже не могу. таблица в базе не участвует. нужна ее перезапись неоднократно. может надо как-то с FOPEN-FCLOSE поиграться?
...
Рейтинг: 0 / 0
Можно наивный вопросик
    #34206225
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PyroTechnicto Алексей
нет не помогает. при селекте таблица захватывается фоксом, и удалить физически файл я уже не могу. таблица в базе не участвует. нужна ее перезапись неоднократно. может надо как-то с FOPEN-FCLOSE поиграться?Как раз про это я и описывал выше. Если в SELECT-е участвует таблица которая не была специально открыта командой USE, конечно Fox ее откроет в свободной рабочей области (см. HELP по команде USE). Для освобождения рабочей области используется таже команда USE
Код: plaintext
USE IN <имя алиаса или имя таблицы>
И теперь удаляй файл, т.к. он откреплен от Fox-а. Конечно, если я правильно понял ситуацию. Надо конкретно задавать вопросы.
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно наивный вопросик
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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