Вверх ↑
Этот топик читают: Гость
Ответов: 113
Рейтинг: 1
#1: 2019-04-16 15:46:22 ЛС | профиль | цитата
как открыть файл .doc из каталога, путь верный , но через exec не открывается , передавать через командную строку ? start winword file.doc ? или как это правильно сделать .
[spoiler=]
Add(Button,13283273,28,175)
{
Left=535
Top=45
Width=90
Height=40
Caption="Добавить"
link(onClick,199616:doExecute,[])
}
Add(MainForm,2953706,28,315)
{
Width=777
Height=683
Caption="Catalog"
BorderStyle=3
Position=1
link(onCreate,11907709:doString,[])
}
Add(MTStrTbl,2479676,735,217)
{
Width=525
Height=655
Align=1
Name="Catalog"
Columns=#4:№=50|20:Название приказа=250|13:№ приказа=100|18:Дата изменения=100|
Grid=0
DrawManager="col"
Point(onMouseDown)
Point(onDblClick)
link(onClick,5096387:doValue,[(835,223)(835,188)])
link(onMouseDown,10896109:doCase,[])
link(onDblClick,8178326:doData,[(821,258)(821,328)])
AddHint(4,-125,119,52,Columns)
}
Add(ODialog,199616,70,175)
{
Filter="doc,docx|*.doc;*.docx"
StartDir=".."
FileName=""
link(onExecute,666386:doWork1,[])
}
Add(ChildForm,666386,133,175)
{
link(onEvent1,8140068:doEvent1,[])
link(Data1,5643317:FormatTime,[])
link(Data2,2904330:Var2,[])
}
BEGIN_SDK
Add(EditMulti,1119235,21,21)
{
EventCount=1
WorkCount=1
DataCount=2
Width=909
Height=725
link(doWork1,8067606:doEvent1,[(109,27)(109,62)])
}
Add(MainForm,8143023,196,28)
{
Left=35
Top=105
Visible=1
BorderStyle=3
Position=1
Point(doVisible)
}
Add(Button,189679,63,469)
{
Left=295
Top=230
Width=90
Height=35
link(onClick,16303571:doInsert,[])
}
Add(FileTools,4444283,196,350)
{
link(onEnd,359288:doString,[])
link(FileName,9827325:Value,[])
link(NewFileName,4548726:FString,[(209,310)(258,310)])
}
Add(FormatStr,359288,371,350)
{
DataCount=5
Mask="%1%5;%3;%2;%4"
link(onFString,1119235:onEvent1,[(659,356)(659,27)])
link(Str1,1821768:Var3,[(377,174)])
link(Str2,3470299:Var2,[(384,272)(440,272)])
link(Str3,14503911:Text,[])
link(Str4,16597140:Part,[(398,310)(328,310)])
link(Str5,8137024:Var3,[(405,180)])
}
Add(Label,7388713,476,63)
{
Left=10
Top=10
Width=54
Height=17
Caption="Добавить"
}
Add(Edit,16111173,329,77)
{
Left=10
Top=30
Width=355
}
Add(Edit,14503911,385,77)
{
Left=10
Top=75
Width=355
Text="456"
}
Add(Label,6829338,497,77)
{
Left=10
Top=55
Width=60
Height=17
Caption="№ приказа"
}
Add(StatusBar,13958814,483,238)
{
}
Add(Time,4605642,434,161)
{
Format="D.M.Y_h.m"
}
Add(Hub,8067606,133,56)
{
OutCount=4
link(onEvent1,8143023:doVisible,[])
link(onEvent2,9827325:doValue,[(175,69)(175,83)])
link(onEvent3,9139170:doPart,[(171,76)(171,125)])
link(onEvent4,4548726:doString,[(163,83)(163,244)])
}
Add(Memory,9827325,196,77)
{
link(onData,9760043:doPart,[])
}
Add(FilePartElm,9760043,259,77)
{
Mode=2
Point(Part)
link(onPart,16111173:doText,[])
}
Add(FormatStr,4548726,252,238)
{
DataCount=5
Mask="%1%5\%2_%4%3"
Point(FString)
link(onFString,16597140:doPart,[])
link(Str1,10468087:Var3,[(258,200)])
link(Str2,1821768:Var1,[(265,174)])
link(Str3,8137024:Var2,[(272,194)(279,194)])
link(Str4,3470299:Var1,[(279,201)])
link(Str5,746619:Var2,[])
}
Add(FilePartElm,9139170,273,119)
{
Mode=3
Point(Part)
}
Add(GetDataEx,3470299,434,196)
{
link(Data,4605642:FormatTime,[])
}
Add(GetDataEx,1821768,329,169)
{
link(Data,16111173:Text,[])
}
Add(Time,4645972,490,161)
{
Format="M.Y"
}
Add(DirTools,7540160,210,448)
{
Point(doExists)
link(onOK,16474935:doEvent,[])
}
Add(Insert,16303571,112,469)
{
Direction=1
link(onInsert,2940390:doValue,[])
link(Str,10468087:Var2,[])
link(SubStr,746619:Var1,[(125,216)])
}
Add(GetDataEx,10468087,112,195)
{
Angle=3
link(Data,1119235:Data2,[(34,200)])
}
Add(GetDataEx,746619,280,211)
{
Angle=1
link(Data,4645972:FormatTime,[(496,216)])
}
Add(IndexToChanel,16474935,266,448)
{
link(onEvent1,2632982:doData,[(310,454)(310,496)(142,496)(142,538)])
link(onEvent2,3313645:doWork2,[])
}
Add(Dir,4610195,224,532)
{
link(onEnd,3313645:doWork3,[(340,538)])
}
Add(Memory,2940390,154,469)
{
link(onData,7540160:doExists,[])
}
Add(DoData,2632982,154,532)
{
link(onEventData,4610195:doDir,[])
link(Data,2940390:Value,[])
}
Add(HubEx,3313645,336,455)
{
Angle=3
link(onEvent,4444283:doCopy,[(340,415)(184,415)(184,363)])
}
Add(FilePartElm,16597140,322,238)
{
Mode=0
Point(Part)
}
Add(GetDataEx,8137024,273,175)
{
link(Data,9139170:Part,[])
}
END_SDK
Add(MST_RowAction,6510678,357,168)
{
MSTControl="Catalog"
}
Add(Dir,14585225,140,84)
{
}
Add(MT_String,2400885,308,168)
{
link(onResult,6510678:doRowAction,[])
}
Add(FormatStr,10274376,231,182)
{
Mask="%2;%1"
link(onFString,2400885:doMTString,[])
link(Str2,7683505:Result,[])
}
Add(MST_ArrayRows,15329752,238,42)
{
MSTControl="Catalog"
}
Add(MathParse,7683505,238,126)
{
MathStr="1 + %2"
link(X2,15329752:Count,[])
}
Add(Hub,8140068,182,175)
{
OutCount=4
link(onEvent1,7683505:doCalc,[(217,181)(217,132)])
link(onEvent2,10274376:doString,[])
link(onEvent3,2208526:doSplit,[])
link(onEvent4,1634258:doString,[(304,202)(304,251)])
}
Add(SQLite_DB,11881305,371,308)
{
FileName="database.db"
link(onOpen,3722563:doValue,[])
link(onError,13207664:doWork1,[(419,321)])
link(FileName,11907709:FString,[(377,296)(232,296)(232,379)(111,379)])
}
Add(FormatStr,1634258,413,245)
{
DataCount=4
Mask="INSERT INTO\r\nprikaz\r\n('Name','Numb','Date','Path')\r\nVALUES\r\n('%1','%2','%3','%4');"
link(onFString,6049583:doExec,[])
link(Str1,2208526:Part1,[])
link(Str2,2208526:Part2,[])
link(Str3,2208526:Part3,[])
link(Str4,2208526:Part4,[])
}
Add(SQLite_Exec,6049583,518,245)
{
link(onError,4146771:doWork,[])
link(dbHandle,672785:Var,[])
}
Add(GlobalVar,3722563,420,308)
{
Name="dbHandle"
}
Add(GlobalVar,672785,518,189)
{
Name="dbHandle"
}
Add(SQLite_Exec,1587792,371,364)
{
link(onError,13207664:doWork3,[(419,370)])
link(dbHandle,11881305:dbHandle,[])
}
Add(FileTools,12700846,154,308)
{
link(onEnd,6215030:doEvent,[])
}
Add(IndexToChanel,6215030,217,308)
{
link(onEvent1,12562978:doEvent1,[(268,314)(268,363)])
link(onEvent2,9472833:doEvent1,[])
}
Add(Hub,12562978,287,357)
{
link(onEvent1,4757425:doWork2,[(323,363)(323,314)])
link(onEvent2,7550130:doString,[])
}
Add(StatusBar,5572859,672,322)
{
}
Add(Timer,6986573,609,329)
{
Interval=5000
Enable=1
link(onTimer,15419330:doWork3,[(655,335)])
}
Add(Hub,16767226,581,322)
{
InCount=2
link(onEvent1,15419330:doWork2,[])
link(onEvent2,6986573:doTimer,[])
}
Add(HubEx,15419330,651,322)
{
link(onEvent,5572859:doText,[])
}
Add(LineBreakEx,12985755,525,322)
{
Caption="error"
Type=1
link(OnEvent,16767226:doEvent1,[])
}
Add(LineBreakEx,4146771,609,245)
{
Caption="error"
}
Add(LineBreakEx,7832916,434,343)
{
Caption="error"
}
Add(HubEx,13207664,415,343)
{
link(onEvent,7832916:doWork,[])
}
Add(HubEx,4757425,343,308)
{
link(onEvent,11881305:doOpen,[])
}
Add(FormatStr,11907709,105,329)
{
Mask="%1database.db"
Point(FString)
link(onFString,12700846:doFileExists,[])
link(Str1,2904330:Var1,[(111,138)])
}
Add(GetDataEx,2904330,140,133)
{
link(Data,14585225:CurrentDir,[])
}
Add(FormatStr,7550130,329,364)
{
Mask="CREATE TABLE prikaz (\r\nid INTEGER PRIMARY KEY AUTOINCREMENT,\r\nName TEXT NOT NULL,\r\nNumb TEXT NOT NULL,\r\nDate TEXT NOT NULL,\r\nPath TEXT NOT NULL\r\n);"
link(onFString,1587792:doExec,[])
}
Add(MultiStrPart,2208526,413,189)
{
Count=4
}
Add(Time,5643317,133,28)
{
Format="D.M.Y_h:m"
}
Add(FormatStr,13754420,385,434)
{
Mask="SELECT Name,Numb,Date FROM prikaz;"
link(onFString,2509112:doQuery,[])
}
Add(SQLite_Query,2509112,441,434)
{
link(onQuery,2448460:doStr,[])
link(onError,8558653:doWork,[])
link(dbHandle,3281875:Var,[])
}
Add(GlobalVar,3281875,441,378)
{
Name="dbHandle"
}
Add(LineBreakEx,8558653,497,448)
{
Caption="error"
}
Add(Hub,9472833,287,315)
{
link(onEvent1,4757425:doWork3,[(347,321)])
link(onEvent2,7188623:doClear,[(313,328)(313,440)])
}
Add(MST_RowAction,13696551,798,441)
{
MSTControl="Catalog"
}
Add(MST_Clear,7188623,322,434)
{
MSTControl="Catalog"
link(onChange,13754420:doString,[])
}
Add(MT_String,2448460,567,434)
{
link(onResult,11869145:doEvent1,[])
}
Add(MT_String,4027780,728,441)
{
link(onResult,13696551:doRowAction,[])
}
Add(FormatStr,10140717,679,455)
{
DataCount=3
Mask="%2;%1"
link(onFString,4027780:doMTString,[])
link(Str2,15816801:Count,[])
}
Add(CounterEx,15816801,686,399)
{
Max=1000
}
Add(Hub,11869145,630,434)
{
link(onEvent1,15816801:doNext,[(665,440)(665,405)])
link(onEvent2,10140717:doString,[(662,447)(662,461)])
}
Add(MST_DrawManager,8637520,868,441)
{
Name="col"
SingleString=0
TabGrid=0
GradientColor=15780518
LightTxtColor=128
}
Add(Case,10896109,840,245)
{
Value=Integer(1)
link(onTrue,4799328:doData,[])
}
Add(LineBreakEx,14144186,1421,497)
{
Caption="error"
}
Add(DoData,4799328,903,252)
{
link(onEventData,13689393:doRead,[])
link(Data,1280458:Var2,[])
}
Add(Memory,5096387,903,182)
{
}
Add(MST_ArrayRows,14053813,987,154)
{
MSTControl="Catalog"
}
Add(MT_MTArrayRW,13689393,987,252)
{
link(onRead,2162258:doEvent1,[])
link(Array,5931795:Var2,[])
}
Add(BaloonToolTips,2651426,266,644)
{
link(Text,5942071:Value,[])
}
Add(Timer,16274757,133,700)
{
Interval=100
Enable=1
AutoStop=8
Point(onStop)
link(onTimer,2651426:doShow,[(191,706)(191,664)])
link(onStop,16236014:doEvent2,[])
}
Add(Hub,15513955,77,602)
{
OutCount=4
link(onEvent1,4795943:doEvent1,[])
link(onEvent2,5942071:doValue,[(139,615)(139,601)])
link(onEvent3,2651426:doCreate,[(125,622)(125,650)])
link(onEvent4,16274757:doTimer,[(112,629)(112,706)])
}
Add(Memory,5942071,273,595)
{
}
Add(Hub,16236014,217,700)
{
InCount=2
link(onEvent1,2651426:doDestroy,[(249,706)(249,657)])
}
Add(Hub,4795943,154,602)
{
link(onEvent1,5942071:doClear,[])
link(onEvent2,16236014:doEvent1,[(206,615)(206,706)])
}
Add(InfoTip,14575931,56,560)
{
Info=#4:Help|
Width=288
Height=186
}
Add(MT_MultiMem,1576750,1099,252)
{
From=1
Count=3
}
Add(FormatStr,8230537,1099,301)
{
DataCount=3
Mask="%1 %2 %3"
link(Str1,1576750:Value1,[])
link(Str2,1576750:Value2,[])
link(Str3,1576750:Value3,[])
}
Add(Hub,2162258,1064,252)
{
link(onEvent1,1576750:doValue,[])
link(onEvent2,8230537:doString,[(1088,265)(1088,307)])
}
Add(DoData,8178326,875,322)
{
link(onEventData,6701448:doRead,[])
link(Data,1280458:Var1,[(881,236)])
}
Add(GetDataEx,1280458,903,231)
{
link(Data,5096387:Value,[])
}
Add(MT_MTArrayRW,6701448,959,322)
{
link(onRead,10682872:doEvent2,[(1007,328)(1007,363)])
link(Array,5931795:Var1,[(965,222)])
}
Add(GetDataEx,5931795,987,217)
{
link(Data,14053813:Strings,[])
}
Add(MT_MultiMem,8810731,1057,350)
{
From=1
Count=3
}
Add(FormatStr,3007703,1057,399)
{
DataCount=3
Mask="select Path||''||Name from prikaz\r\nWHERE Name ='%1' AND Numb='%2' AND Date='%3';"
link(onFString,9871415:doEvent1,[])
link(Str1,8810731:Value1,[])
link(Str2,8810731:Value2,[])
link(Str3,8810731:Value3,[])
}
Add(Hub,10682872,1022,350)
{
InCount=2
link(onEvent1,8810731:doValue,[])
link(onEvent2,3007703:doString,[(1046,363)(1046,405)])
}
Add(SQLite_Query,2351922,1155,399)
{
link(onQuery,15032533:doStr,[])
link(onError,9729851:doWork2,[(1201,419)(1201,503)])
link(dbHandle,6629178:Var,[])
}
Add(GlobalVar,6629178,1155,343)
{
Name="dbHandle"
}
Add(Hub,9871415,1106,399)
{
link(onEvent1,2351922:doQuery,[])
}
Add(WinExec,10967676,1351,434)
{
FileName="cmd"
RunEvent=1
Point(doConsoleInput)
Point(onErrorExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(doConsoleExec)
link(onConsoleResult,75663:doWork1,[(1411,461)])
link(onConsoleError,75663:doWork2,[])
link(onConsoleTerminate,2110126:doWork2,[])
}
Add(MT_String,15032533,1211,399)
{
link(onResult,766072:doString,[])
}
Add(HubEx,9729851,1407,497)
{
link(onEvent,14144186:doWork,[])
}
Add(FormatStr,766072,1281,399)
{
Mask="start winword %1"
Point(FString)
}
Add(HubEx,2110126,1407,469)
{
Angle=1
link(onEvent,9729851:doWork1,[])
}
Add(HubEx,75663,1407,462)
{
Angle=1
link(onEvent,2110126:doWork1,[])
}
Add(InfoTip,16750206,1267,357)
{
Info=#12:Открыть файл|
Width=239
Height=249
}

[/spoiler]
Редактировалось 3 раз(а), последний 2019-04-16 15:47:50
карма: 0
well done turner
0
vip
#1.1контекстная реклама от партнеров
Ответов: 4621
Рейтинг: 746
#2: 2019-04-16 16:08:50 ЛС | профиль | цитата
Для открытия файлов, не являющихся исполняемыми, используй метод doShellExec. И если имя файла подаётся из потока, то свойство FileName надо оставить пустым.
карма: 26

0
Ответов: 113
Рейтинг: 1
#3: 2019-04-16 16:18:09 ЛС | профиль | цитата
Netspirit писал(а):
Для открытия файлов, не являющихся исполняемыми, используй метод doShellExec. И если имя файла подаётся из потока, то свойство FileName надо оставить пустым.


не открывает файлы
карма: 0
well done turner
0
Ответов: 4621
Рейтинг: 746
#4: 2019-04-16 16:48:44 ЛС | профиль | цитата
Сделай схему: кнопка + поле ввода с именем *.doc-файла + WinExec и посмотри. Если используются относительные имена - проверить рабочий каталог приложения (компонент ODialog по-умолчанию изменяет каталог).

Редактировалось 1 раз(а), последний 2019-04-16 16:49:49
карма: 26

0
Ответов: 113
Рейтинг: 1
#5: 2019-04-16 17:10:56 ЛС | профиль | цитата
Netspirit писал(а):
Сделай схему: кнопка + поле ввода с именем *.doc-файла + WinExec и посмотри. Если используются относительные имена - проверить рабочий каталог приложения (компонент ODialog по-умолчанию изменяет каталог).

Редактировалось 1 раз(а), последний 2019-04-16 16:49:49


[spoiler=]
Add(Button,3074080,189,126)
{
Left=70
Top=90
Width=80
Height=45
link(onClick,6089445:doData,[])
}
Add(Edit,9088346,287,77)
{
Left=65
Top=140
Width=285
Height=35
Font=[Times New Roman,14,0,0,204]
Text="Doc2_16.04.2019_16.07.docx"
}
Add(WinExec,6182761,399,119)
{
}
Add(DoData,6089445,287,126)
{
link(onEventData,6182761:doShellExec,[])
link(Data,9088346:Text,[])
}

[/spoiler]
да так открывает,
что же тогда в схеме нетак ? ведь путь верный и файл на месте

Редактировалось 2 раз(а), последний 2019-04-16 17:13:34
карма: 0
well done turner
0
Ответов: 4621
Рейтинг: 746
#6: 2019-04-16 17:21:59 ЛС | профиль | цитата
powerbatman писал(а):
что же тогда в схеме нетак ?
Относительные пути к файлу и измененный (например, через ODialog) рабочий каталог приложения. Поставь ODialog.NoChangeDir=True и проверь.
карма: 26

0
Ответов: 113
Рейтинг: 1
#7: 2019-04-16 20:42:24 ЛС | профиль | цитата
Netspirit писал(а):
powerbatman писал(а):
что же тогда в схеме нетак ?
Относительные пути к файлу и измененный (например, через ODialog) рабочий каталог приложения. Поставь ODialog.NoChangeDir=True и проверь.


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

Редактировалось 2 раз(а), последний 2019-04-16 20:43:10
карма: 0
well done turner
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)