Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > mkdir


Автор: larabelle 20.5.2007, 01:16
Всем здрасте.
имею вопрос - 
на форме клиент вводит слово в TEXTBOX
и теперь нуно создать каталог, который будет так и называться.

что-то типа: 

local cDirName as string
cDirName = thisform.text1.value
mkdir C:\.....иии и дальше не знаю, не понимаю, не умею 

Автор: Tritiy 21.5.2007, 12:24
Попробуй использовать макроподстановку:

local cDirName as string
cDirName = thisform.text1.value
mkdir &cDirName

Автор: Cashey 23.5.2007, 09:21
сначало надо перейти в нужную дерикторию командой SET DEFAULT TO

Автор: LNS 25.5.2007, 15:57
IF !DIRECTORY(cDirName)  && проверяешь, а вдруг такая папка уже есть
    MD (cDirName)       && создаешь папку, если ее нет
ENDIF

// Если нужно перейти в созданную папку, сначала нужно запомнить текущую
defdir=SYS(5)+SYS(2003)
// перейти
CD (cDirName)  
// .... сделать там чего надо    
//  и вернуться, где были
SET DEFAULT TO &defdir

Автор: larabelle 28.5.2007, 04:19
Huh, с этими майскими днями  smile - никак к компу было не выбраться.
Всем спасибо за участие. Код выполнила (не самостоятельно правда), в принципе своем он где-то аналогичен коду LNS,
Код

#DEFINE ROOT_DIR "D:\DB" 
LOCAL NEW_DIR as String
NEW_DIR = thisform.text1.Value 
IF DIRECTORY(ROOT_DIR) 
SET DEFAULT TO (ROOT_DIR) 
LOCAL lcNewFolder as String 
lcNewFolder = ADDBS(ROOT_DIR) + NEW_DIR 
IF !DIRECTORY(lcNewFolder) 
MKDIR (NEW_DIR) 
IF !DIRECTORY(lcNewFolder) 
MESSAGEBOX("Can not create directory: " + lcNewFolder, 16, _SCREEN.Caption) 
ENDIF 
ELSE 
MESSAGEBOX("Directory: '" + lcNewFolder + "' exists.", 64, _SCREEN.Caption) 
ENDIF 
ELSE 
MESSAGEBOX("Not found: '" + ROOT_DIR + "'", 16, _SCREEN.Caption) 
ENDIF

ммм... но проблема моя опять в тупике. Дело в том, что дальше мне надо в этот созданный каталог скопировать другую директорию (с вложенными поддиректориями).
раньше использовала команду: 
Код

!xcopy Директория1 Директория2 /ES

а теперь не получается т.к. название 2й директории заранее не известно (ее задает пользователь) smile 

Автор: Cashey 30.5.2007, 23:26
используй макроподстановку
Код

copy Директория1 &Директория2 /ES

Автор: larabelle 31.5.2007, 03:22
Цитата(Cashey @ 30.5.2007,  21:26)
используй макроподстановку
Код

copy Директория1 &Директория2 /ES

Виват !  smile 
действительно ... макроподстановка. О ней еще Tritiy сказал - а я не поняла суть. (последние дни коды на разных языках смотрела и подумала, что char '&' - это знак комментария  smile )
а сейчас,  после поста Cashey - как-то подумалось , что если мне двое про эти макроподстановки - то что-то тут не так.
В общем всем респект.  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)