Вверх ↑
Этот топик читают: Гость
Ответов: 53
Рейтинг: 3
#1: 2017-10-10 10:07:11 ЛС | профиль | цитата
Добрый день, помогите, пожалуйста. Это программа для печати бэйджиков. Если внести изменения в любое поле, то по нажатию кнопки Применить изменения видны в окне справа.
Однако, стоит выбрать фотографию, и кнопка Применить перестает работать. Ума не приложу, в чем дело.
http://forum.hiasm.com/getfile/38207

Редактировалось 1 раз(а), последний 2017-10-10 10:07:30
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 4612
Рейтинг: 746
#2: 2017-10-10 10:39:10 ЛС | профиль | цитата
Если в операциях с файлами указываются относительные пути, то это пути относительно текущего рабочего каталога приложения (который обычно совпадает с расположением исполняемого файла). Диалоги выбора файла изменяют рабочий каталог приложения на последний выбранный в них. Выход из этого - либо указывать полные пути к файлам (соединять каталог расположения exe с требуемым именем), либо после вызова диалога заново устанавливать рабочий каталог равным папке с программой.
карма: 26

0
Ответов: 53
Рейтинг: 3
#3: 2017-10-10 10:50:01 ЛС | профиль | цитата
Вот уж не знал. Сейчас попробую
карма: 1

0
Ответов: 53
Рейтинг: 3
#4: 2017-10-10 16:16:07 ЛС | профиль | цитата
Подставил вместо компонента Dir компонент Memory а жестко заданным путем, ничего не изменилось.
карма: 1

0
Ответов: 4612
Рейтинг: 746
#5: 2017-10-10 17:41:33 ЛС | профиль | цитата
Во всех компонентах Ini, FileTools, Img_Loader в свойстве Filename должно стоять полное имя файла.
карма: 26

0
Ответов: 1924
Рейтинг: 172
#6: 2017-10-10 19:35:08 ЛС | профиль | цитата
Netspirit писал(а):
каталог расположения exe

Именно это и выдаёт точка CurrentDir компонента Dir.

De_Cadanz писал(а):
Подставил вместо компонента Dir компонент Memory а жестко заданным путем, ничего не изменилось.

Не везде подставил - во вложенной схеме нет. Точнее, Dir не везде.
Add(MultiElement,5279460,140,378)
{
link(onEvent1,15705530:doWork1,[(242,384)])
link(Data1,14693318:Part1,[(146,264)(433,264)])
link(Data2,14693318:Part2,[(153,252)(440,252)])
link(Data3,12988949:Text,[(160,314)(510,314)])
link(Data4,13363758:Text,[(167,314)(573,314)])
link(Data5,3131730:Text,[(174,314)(636,314)])
link(Data6,14742419:String,[])
}
BEGIN_SDK
Add(EditMulti,8102382,7,14)
{
EventCount=1
WorkCount=1
DataCount=6
Width=1028
Height=438
link(doWork1,3283427:doStrCat,[(87,20)(87,174)])
}
Add(Replace,1678885,301,231)
{
SubStr="%color%"
link(onReplace,8000707:doReplace,[])
link(Dest,8102382:Data1,[(321,108)(13,108)])
}
Add(ArrayEnum,5764209,245,231)
{
link(onItem,1678885:doReplace,[])
link(Array,4478761:Array,[])
}
Add(StrList,4553798,987,238)
{
Point(doReplace)
}
Add(Replace,8000707,349,231)
{
SubStr="%fcolor%"
link(onReplace,15902579:doReplace,[])
link(Dest,8102382:Data2,[(369,7)(20,7)])
}
Add(Replace,15902579,397,231)
{
SubStr="%name1%"
link(onReplace,7674853:doReplace,[])
link(Dest,8102382:Data3,[(417,7)(27,7)])
}
Add(Replace,7674853,447,231)
{
SubStr="%name2%"
link(onReplace,12936500:doReplace,[])
link(Dest,8102382:Data4,[(467,7)(34,7)])
}
Add(Replace,12936500,496,231)
{
SubStr="%name3%"
link(onReplace,6370082:doReplace,[])
link(Dest,8102382:Data5,[(516,7)(41,7)])
}
Add(Replace,6370082,545,231)
{
SubStr="%proff%"
link(onReplace,4489062:doEvent1,[])
link(Dest,8102382:Data6,[(565,7)(48,7)])
}
Add(StrList,4478761,231,140)
{
link(onChange,5764209:doEnum,[(275,146)(275,213)(233,213)(233,237)])
}
Add(Hub,4489062,805,231)
{
OutCount=4
link(onEvent1,4553798:doClear,[(976,237)(976,251)])
link(onEvent2,4553798:doAdd,[])
link(onEvent3,6221743:doStrCat,[(851,251)(851,349)])
link(onEvent4,8102382:onEvent1,[(954,258)(954,20)])
}
Add(Dir,10917662,168,119)
{
}
Add(StrCat,3283427,168,168)
{
Str2="maket"
link(onStrCat,4478761:doLoad,[])
link(Str1,10917662:CurrentDir,[])
}
Add(Dir,15173999,882,294)
{
}
Add(StrCat,6221743,882,343)
{
Str2="maket.html"
link(onStrCat,4553798:doSave,[(950,349)(950,279)])
link(Str1,15173999:CurrentDir,[])
}
END_SDK
Add(MainForm,2953706,7,91)
{
Width=901
Height=380
Font=[Segoe UI,11,0,0,204]
Caption="Бэйджи"
BorderStyle=1
Position=1
Point(onClose)
link(onCreate,2549026:doEvent1,[])
link(onClose,14921699:doDelete,[(47,118)(47,230)])
}
Add(WebBrowser,3209245,301,525)
{
Left=480
Top=30
Width=405
Height=260
Enabled=1
URL=""
Silent=0
Point(doPreview)
Point(doPrint)
}
Add(Dir,10387644,301,427)
{
}
Add(StrCat,7701756,301,476)
{
Str2="maket.html"
link(onStrCat,10405392:doEvent1,[])
link(Str1,10387644:CurrentDir,[])
}
Add(Label,14232370,224,0)
{
Left=10
Top=5
Width=53
Height=17
ParentFont=0
Caption="Фамилия"
}
Add(Edit,12988949,504,217)
{
Left=10
Top=30
Width=245
Height=25
ParentFont=0
Text="Иванов"
}
Add(StyleXP,13972841,0,7)
{
}
Add(Label,5978750,168,0)
{
Left=10
Top=60
Width=26
Height=17
ParentFont=0
Caption="Имя"
}
Add(Edit,13363758,567,217)
{
Left=10
Top=85
Width=245
Height=25
ParentFont=0
Text="Иван"
}
Add(Label,12015598,126,0)
{
Left=10
Top=115
Width=51
Height=17
ParentFont=0
Caption="Отчество"
}
Add(Edit,3131730,630,217)
{
Left=10
Top=140
Width=245
Height=25
ParentFont=0
Text="Иванович"
}
Add(Label,9113467,84,0)
{
Left=10
Top=175
Width=102
Height=17
ParentFont=0
Caption="Подразделение ГМ"
}
Add(ComboBox,13601355,231,112)
{
Left=10
Top=200
Width=245
Height=21
ParentFont=0
Text="Не выбрано"
DataType=1
ReadOnly=0
Point(doSelect)
Point(onSelect)
link(onClick,10147222:doWork2,[])
link(onSelect,10147222:doWork3,[(298,132)])
}
Add(Label,2395249,42,7)
{
Left=10
Top=235
Width=62
Height=17
ParentFont=0
Caption="Должность"
}
Add(ComboBox,14742419,168,189)
{
Left=10
Top=260
Width=460
Height=21
ParentFont=0
Text="Не выбрано"
DataType=1
ReadOnly=0
Point(doSelect)
}
Add(Button,5814532,21,378)
{
Left=285
Top=300
Width=180
Height=40
ParentFont=0
Caption="Применить ->"
link(onClick,5279460:doWork1,[])
}
Add(Button,13374619,245,553)
{
Left=670
Top=300
Width=80
Height=40
ParentFont=0
Caption="Печать"
link(onClick,3209245:doPreview,[])
}
Add(Hub,2549026,56,105)
{
OutCount=6
link(onEvent1,5704688:doSectionData,[])
link(onEvent2,15144276:doSectionData,[(98,118)(98,195)])
link(onEvent3,13601355:doSelect,[(150,125)(150,160)])
link(onEvent4,14742419:doSelect,[(119,132)(119,237)])
link(onEvent6,9918067:doCopy,[(111,146)(111,489)])
}
Add(Ini,5704688,133,91)
{
FileName="lists.ini"
Section="Depts"
Type=1
Point(doSectionData)
Point(doSectionNames)
Point(onSectionNames)
Point(onSectionData)
link(onSectionData,5659494:doSplit,[])
}
Add(StrPart,5659494,182,105)
{
Char="="
link(onPart,13601355:doAdd,[])
}
Add(FileTools,9918067,126,476)
{
DelToRecycle=1
FileName="maket"
NewFileName="maket.html"
link(onEnd,15705530:doWork2,[])
}
Add(FileTools,14921699,56,210)
{
DelToRecycle=1
FileName="maket.html"
}
Add(Button,263701,245,588)
{
Left=755
Top=300
Width=130
Height=40
ParentFont=0
Caption="Быстрая печать"
link(onClick,3209245:doPrint,[(290,594)(290,566)])
}
Add(Label,13678628,217,-7)
{
Left=770
Top=5
Width=79
Height=17
ParentFont=0
Caption="Предпросмотр"
}
Add(Ini,15144276,126,175)
{
FileName="lists.ini"
Section="Proff"
Type=1
Point(doSectionData)
Point(doSectionNames)
Point(onSectionNames)
Point(onSectionData)
link(onSectionData,14742419:doAdd,[])
}
Add(Ini,9442497,371,119)
{
FileName="lists.ini"
Section="Depts"
Type=1
link(onResult,14693318:doSplit,[])
}
Add(MultiStrPart,14693318,427,119)
{
Char="/"
}
Add(HubEx,15705530,238,476)
{
link(onEvent,7701756:doStrCat,[])
}
Add(HubEx,10147222,294,119)
{
link(onEvent,9442497:doRead,[])
}
Add(Img_Loader,14799331,182,770)
{
link(onLoad,16597467:doStrCat,[(230,776)(230,706)])
}
Add(Button,2712986,63,770)
{
Left=200
Top=310
Caption="Фото"
link(onClick,13082845:doExecute,[])
}
Add(PictureStream,14482956,245,763)
{
Quality=100
link(FileName,16597467:Result,[])
link(Bitmap,14799331:Bitmap,[(258,751)(223,751)(223,814)(188,814)])
}
Add(Dir,6930651,245,651)
{
}
Add(StrCat,16597467,245,700)
{
Str2="foto.bmp"
link(onStrCat,14482956:doSave,[(291,706)(291,739)(233,739)(233,776)])
link(Str1,6930651:CurrentDir,[])
}
Add(ODialog,13082845,126,770)
{
link(onExecute,14799331:doLoad,[])
}
Add(Hub,10405392,350,476)
{
link(onEvent1,3209245:doNavigate,[(376,482)(376,506)(289,506)(289,531)])
}

Редактировалось 1 раз(а), последний 2017-10-10 19:37:08
карма: 9
0
Ответов: 53
Рейтинг: 3
#7: 2017-10-11 09:40:10 ЛС | профиль | цитата
Netspirit писал(а):
Диалоги выбора файла изменяют рабочий каталог приложения на последний выбранный в них.

Кстати да, проверил и это отдельно - не изменяют.
3042 писал(а):
Не везде подставил - во вложенной схеме нет. Точнее, Dir не везде.

Я вложение не менял. Сейчас сделаю новую схему - выложу.

--- Добавлено в 2017-10-11 09:46:42

Вот новая схема. Всё равно что-то ломается после выбора фотографии, я уже проверил всё, что можно.
http://forum.hiasm.com/getfile/38209

Редактировалось 1 раз(а), последний 2017-10-11 09:46:42
карма: 1

0
Ответов: 4612
Рейтинг: 746
#8: 2017-10-11 11:21:43 ЛС | профиль | цитата
De_Cadanz писал(а):
Вот новая схема.
Во вложенной схеме ещё в StrList не поправил.
Вот поправленная схема:

Add(MainForm,2953706,7,217)
{
Width=901
Height=380
Font=[Segoe UI,11,0,0,204]
Caption="Бэйджи"
BorderStyle=1
Position=1
Point(onClose)
link(onCreate,2549026:doEvent1,[])
link(onClose,14921699:doDelete,[(47,244)(47,370)])
}
Add(WebBrowser,3209245,301,665)
{
Left=480
Top=30
Width=405
Height=260
Enabled=1
URL=""
Silent=0
Point(doPreview)
Point(doPrint)
link(URL,7701756:Result,[])
}
Add(Dir,10387644,301,7)
{
}
Add(StrCat,7701756,301,616)
{
Str2="maket.html"
link(onStrCat,3209245:doNavigate,[(364,622)(364,640)(289,640)(289,671)])
link(Str1,8297643:Var2,[])
}
Add(Label,14232370,224,0)
{
Left=10
Top=5
Width=53
Height=17
ParentFont=0
Caption="Фамилия"
}
Add(Edit,12988949,504,357)
{
Left=10
Top=30
Width=245
Height=25
ParentFont=0
Text="Иванов"
}
Add(StyleXP,13972841,0,7)
{
}
Add(Label,5978750,168,0)
{
Left=10
Top=60
Width=26
Height=17
ParentFont=0
Caption="Имя"
}
Add(Edit,13363758,567,357)
{
Left=10
Top=85
Width=245
Height=25
ParentFont=0
Text="Иван"
}
Add(Label,12015598,126,0)
{
Left=10
Top=115
Width=51
Height=17
ParentFont=0
Caption="Отчество"
}
Add(Edit,3131730,630,357)
{
Left=10
Top=140
Width=245
Height=25
ParentFont=0
Text="Иванович"
}
Add(Label,9113467,84,0)
{
Left=10
Top=175
Width=102
Height=17
ParentFont=0
Caption="Подразделение ГМ"
}
Add(ComboBox,13601355,245,252)
{
Left=10
Top=200
Width=245
Height=21
ParentFont=0
Text="Не выбрано"
DataType=1
ReadOnly=0
Point(doSelect)
Point(onSelect)
link(onClick,10147222:doWork2,[])
link(onSelect,10147222:doWork3,[(298,272)])
}
Add(Label,2395249,42,7)
{
Left=10
Top=235
Width=62
Height=17
ParentFont=0
Caption="Должность"
}
Add(ComboBox,14742419,168,329)
{
Left=10
Top=260
Width=460
Height=21
ParentFont=0
Text="Не выбрано"
DataType=1
ReadOnly=0
Point(doSelect)
}
Add(Button,5814532,21,518)
{
Left=285
Top=300
Width=180
Height=40
ParentFont=0
Caption="Применить ->"
link(onClick,5279460:doWork1,[])
}
Add(Button,13374619,245,693)
{
Left=670
Top=300
Width=80
Height=40
ParentFont=0
Caption="Печать"
link(onClick,3209245:doPreview,[])
}
Add(Hub,2549026,56,231)
{
OutCount=7
link(onEvent1,6867847:doStrCat,[(108,237)(108,104)])
link(onEvent3,5704688:doSectionData,[])
link(onEvent4,15144276:doSectionData,[(105,258)(105,335)])
link(onEvent5,13601355:doSelect,[(119,265)(119,300)])
link(onEvent6,14742419:doSelect,[(111,272)(111,377)])
link(onEvent7,9918067:doCopy,[(98,279)(98,629)])
}
Add(Ini,5704688,147,231)
{
Section="Depts"
Type=1
Point(doSectionData)
Point(doSectionNames)
Point(onSectionNames)
Point(onSectionData)
link(FileName,10894564:Var2,[])
link(onSectionData,5659494:doSplit,[])
}
Add(StrPart,5659494,196,245)
{
Char="="
link(onPart,13601355:doAdd,[])
}
Add(FileTools,9918067,126,616)
{
DelToRecycle=1
FileName="maket"
NewFileName="maket.html"
link(onEnd,15705530:doWork2,[])
}
Add(FileTools,14921699,63,350)
{
DelToRecycle=1
FileName="maket.html"
}
Add(Button,263701,245,735)
{
Left=755
Top=300
Width=130
Height=40
ParentFont=0
Caption="Быстрая печать"
}
Add(Label,13678628,217,-7)
{
Left=770
Top=5
Width=79
Height=17
ParentFont=0
Caption="Предпросмотр"
}
Add(Ini,15144276,126,315)
{
Section="Proff"
Type=1
Point(doSectionData)
Point(doSectionNames)
Point(onSectionNames)
Point(onSectionData)
link(FileName,10894564:Var1,[(132,173)])
link(onSectionData,14742419:doAdd,[])
}
Add(Ini,9442497,371,259)
{
Section="Depts"
Type=1
link(onResult,14693318:doSplit,[])
link(FileName,3995122:Var3,[(377,152)])
}
Add(MultiStrPart,14693318,427,259)
{
Char="/"
}
Add(MultiElement,5279460,140,518)
{
link(onEvent1,15705530:doWork1,[(242,524)])
link(Data1,14693318:Part1,[(146,404)(433,404)])
link(Data2,14693318:Part2,[(153,392)(440,392)])
link(Data3,12988949:Text,[(160,412)(510,412)])
link(Data4,13363758:Text,[(167,417)(573,417)])
link(Data5,3131730:Text,[(174,420)(636,420)])
link(Data6,14742419:String,[])
}
BEGIN_SDK
Add(EditMulti,8102382,7,14)
{
EventCount=1
WorkCount=1
DataCount=6
Width=1028
Height=438
link(doWork1,4343246:doStrCat,[(91,20)(91,83)])
}
Add(Replace,1678885,294,140)
{
SubStr="%color%"
link(onReplace,8000707:doReplace,[])
link(Dest,8102382:Data1,[(314,108)(13,108)])
}
Add(ArrayEnum,5764209,238,140)
{
link(onItem,1678885:doReplace,[])
link(Array,4478761:Array,[])
}
Add(StrList,4553798,980,147)
{
FileName="maket.html"
Point(doReplace)
}
Add(Replace,8000707,342,140)
{
SubStr="%fcolor%"
link(onReplace,15902579:doReplace,[])
link(Dest,8102382:Data2,[(362,7)(20,7)])
}
Add(Replace,15902579,390,140)
{
SubStr="%name1%"
link(onReplace,7674853:doReplace,[])
link(Dest,8102382:Data3,[(410,7)(27,7)])
}
Add(Replace,7674853,440,140)
{
SubStr="%name2%"
link(onReplace,12936500:doReplace,[])
link(Dest,8102382:Data4,[(460,7)(34,7)])
}
Add(Replace,12936500,489,140)
{
SubStr="%name3%"
link(onReplace,6370082:doReplace,[])
link(Dest,8102382:Data5,[(509,7)(41,7)])
}
Add(Replace,6370082,538,140)
{
SubStr="%proff%"
link(onReplace,4489062:doEvent1,[])
link(Dest,8102382:Data6,[(558,7)(48,7)])
}
Add(StrList,4478761,224,49)
{
link(onChange,5764209:doEnum,[(268,55)(268,122)(226,122)(226,146)])
}
Add(Hub,4489062,924,140)
{
OutCount=4
link(onEvent1,4553798:doClear,[(969,146)(969,160)])
link(onEvent2,4553798:doAdd,[])
link(onEvent3,4553798:doSave,[(962,160)(962,188)])
link(onEvent4,8102382:onEvent1,[(954,167)(954,20)])
}
Add(Dir,7314510,175,35)
{
}
Add(StrCat,4343246,175,77)
{
Str2="maket"
link(onStrCat,4478761:doLoad,[])
link(Str1,7314510:CurrentDir,[])
}
END_SDK
Add(HubEx,15705530,238,616)
{
link(onEvent,7701756:doStrCat,[])
}
Add(HubEx,10147222,294,259)
{
link(onEvent,9442497:doRead,[])
}
Add(Img_Loader,14799331,518,721)
{
link(onLoad,16597467:doStrCat,[])
}
Add(Button,2712986,392,721)
{
Left=200
Top=310
Caption="Фото"
link(onClick,13082845:doExecute,[])
}
Add(PictureStream,14482956,651,714)
{
Quality=100
link(Bitmap,14799331:Bitmap,[(664,702)(634,702)(634,768)(524,768)])
}
Add(StrCat,16597467,581,721)
{
Str2="foto.bmp"
link(onStrCat,14482956:doSave,[])
link(Str1,8297643:Var3,[(587,544)])
}
Add(ODialog,13082845,462,721)
{
link(onExecute,14799331:doLoad,[])
}
Add(GetDataEx,8297643,301,539)
{
link(Data,12372904:Var2,[])
}
Add(StrCat,6867847,147,98)
{
Str2="lists.ini"
link(Str1,12372904:Var1,[(153,68)])
}
Add(GetDataEx,12372904,301,63)
{
link(Data,10387644:CurrentDir,[])
}
Add(GetDataEx,10894564,147,168)
{
link(Data,3995122:Var2,[])
}
Add(GetDataEx,3995122,147,147)
{
link(Data,6867847:Result,[])
}

А вот более простое решение:

Add(Img_Loader,14799331,217,777)
{
}
Add(Button,2712986,28,770)
{
Left=200
Top=310
Caption="Фото"
link(onClick,13082845:doExecute,[])
}
Add(ODialog,13082845,91,770)
{
link(onExecute,8422370:doEvent1,[])
}
Add(Hub,8422370,140,770)
{
link(onEvent1,5164564:doData,[(168,776)(168,713)])
link(onEvent2,14799331:doLoad,[])
}
Add(Dir,10953782,238,700)
{
}
Add(DoData,5164564,182,707)
{
link(onEventData,10953782:doCurrentDir,[])
link(Data,10953782:CurrentDir,[(188,695)(222,695)(222,747)(244,747)])
}

3042 писал(а):
Именно это и выдаёт точка CurrentDir компонента Dir.
Настоятельно предлагаю переименовать эту точку в ExeDir, а по CurrentDir выдавать рабочий каталог.

Редактировалось 1 раз(а), последний 2017-10-11 11:23:17
карма: 26

0
Ответов: 1924
Рейтинг: 172
#9: 2017-10-11 13:10:17 ЛС | профиль | цитата
Netspirit писал(а):
Настоятельно предлагаю переименовать эту точку в ExeDir, а по CurrentDir выдавать рабочий каталог.

Согласен, было бы логичнее, но это приведёт к несовместимости. Ладно хоть описание к точке точное (текущая папка, из к-ой стартовало приложение).
карма: 9
0
Ответов: 53
Рейтинг: 3
#10: 2017-10-11 13:10:36 ЛС | профиль | цитата
Netspirit писал(а):
Вот поправленная схема:

Точно так же, как и раньше, после выбора фото применяется только фото, всё остальное не изменяется. Хотя путь правильный (можно проверить с помощью MsgBox)

А вот если применить последнюю схему - всё работает. Но мне немного непонятна логика того, что там происходит. Зацикленный принудительный сброс значения CurrentDir?

--- Добавлено в 2017-10-11 13:11:40

3042 писал(а):

Netspirit писал(а):
Настоятельно предлагаю переименовать эту точку в ExeDir, а по CurrentDir выдавать рабочий каталог.

Лучше точку рабочего каталога назвать WorkingDir

Редактировалось 1 раз(а), последний 2017-10-11 13:11:40
карма: 1

0
Ответов: 1924
Рейтинг: 172
#11: 2017-10-11 13:13:50 ЛС | профиль | цитата
De_Cadanz писал(а):
Netspirit писал(а):
Вот поправленная схема:

Точно так же, как и раньше, после выбора фото применяется только фото, всё остальное не изменяется. Хотя путь правильный (можно проверить с помощью MsgBox)

Ну так там же во вложенной схеме (multielement которая) во втором StrList (который для maket.html) опять относительный путь! Я же привёл тут исправленную схему: http://forum.hiasm.com/post/294741
карма: 9
0
Ответов: 4612
Рейтинг: 746
#12: 2017-10-11 14:12:33 ЛС | профиль | цитата
3042 писал(а):
опять относительный путь!
В моей схеме это поправлено. Я подумал, что De_Cadanz взял твою схему, что-то у него не получилось и он выложил этот второй вариант, который я и поправил.

De_Cadanz писал(а):
Лучше точку рабочего каталога назвать WorkingDir
Я тоже так предполагал, но смотрю в документации Windows API это называется current dir (например, в функции CreateProcess, от которой, собственно, зависит, какой каталог будет текущим сразу после запуска приложения).

Редактировалось 1 раз(а), последний 2017-10-11 14:13:17
карма: 26

0
Ответов: 4612
Рейтинг: 746
#13: 2017-10-13 12:58:30 ЛС | профиль | цитата
Модификация компонентов ODialog, SDialog - добавлено свойство NoChangeDir.
Заодно добавил в ODialog свойство FileMustExists, а в SDialog - PathMustExists и OverwritePrompt.
Всё по-умолчанию работает аналогично стандартным.

ODialog SDialog mod 2017-10-13.zip

Редактировалось 1 раз(а), последний 2017-10-13 12:58:55
карма: 26

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#14: 2017-10-13 13:42:18 ЛС | профиль | цитата
Так че, можно спокойно выкладывать вместо бывших?
карма: 22

0
Ответов: 4612
Рейтинг: 746
#15: 2017-10-13 14:38:10 ЛС | профиль | цитата
Вполне. Кстати, там в схеме "Dialogs test.sha" есть IC для определения текущего каталога. Это к вопросу что должна выдавать точка Dir.CurrentDir, соответствуя методу doCurrentDir.

Редактировалось 3 раз(а), последний 2017-10-13 16:21:09
карма: 26

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)