Требуется создать директорию из клариона.
в external процедуре пишу:
DosCommand String(100)
DosCommand='mkdir Trn\20040322'
run(CLIP(LEFT(DosCommand)),1)
или просто:
run('mkdir Trn\20040322',1)
message('Ошибка DOS='&RUNCODE())
возвращает: -4
if errorcode()
возвращает 2 - File not found
Clarion 5.0, ШВС, Win98SE
С уважением, Николай.
(Добавление)
Данный вопрос не раз уже подымался в эхе.
Зачем так извращаться.
В Clarion run time есть всё базовое сишное ядро.
Используйте нормальную функцию создания дирректорий
MkDir(*cstring),short,raw,name('_mkdir')
Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com
Спасибо, попробую.
Но сработало и:
run('command.com /c mkdir trn\20040322',1)
С уважением, Николай.
Под Win2000 работает
DosCommand='cmd.exe /c mkdir \trn\20040322'
RUN(CLIP(LEFT(DosCommand)),1)
С уважением, Михаил
У меня Windows 98SE
Как то я сумбурно написал, на всякий случай повторю.
в external процедуре:
Код: Выделить всё
DosCommand String(100)
tDatePath String(100)
CODE
tSelfPath=Path()
tStrDate=FORMAT(Year(gvArhivDate),@n04)&FORMAT(Month(gvArhivDate),@n02)&FORMAT(Day(gvArhivDate),@n02)
tDatePath=CLIP(LEFT(tSelfPath))&'\Trn\'&CLIP(LEFT(tStrDate)) ! директория "Trn" - уже существует
setPath(CLIP(LEFT(tDatePath))) ! Если директории еще не существует
if errorcode() ! возвращает 3 - "Path Not Found"
DosCommand='mkdir Trn\'&CLIP(LEFT(tStrDate))
run(CLIP(LEFT(DosCommand)),1)
if RUNCODE()
message('Ошибка DOS='&RUNCODE()) ! возвращает -4
if errorcode()
message('Ошибка создания директории - '&tDatePath&' - '&error()) ! возвращает "File not found" (2)
return
.
.
.
"mkdir" - это внутренняя команда интерпретатора DOS, ну и надо её через интерпретатор вызывать
DosCommand='command.com /c mkdir \trn\20040322'
RUN(CLIP(LEFT(DosCommand)),1)
В Win2000 вместо command.com - cmd.exe
А директории создавать действительно лучше как Андрей Мялин написал.
Михаил
Угу, только вот сишная MkDir неправильно работает с длинными/русскими именами. Вот CreateDirectory из WinAPI - самое оно...А директории создавать действительно лучше как Андрей Мялин написал.
---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
Написал: ClaList(2)