Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#121: 2017-04-11 18:47:46 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
link(onCreate,13553409:doBrowse,[])
}
Add(FileSearch,7079922,175,126)
{
FullName=1
Point(DateModifyReal)
link(onSearch,16676831:doStrCatDlm,[])
link(onEndSearch,6825256:doData,[(271,139)(271,167)])
}
Add(Browse,13553409,84,119)
{
link(onBrowse,16430250:doEvent1,[])
}
Add(StrCatDelim,16676831,315,126)
{
Delimiter=";"
link(onStrCatDlm,11923480:doAdd,[])
link(Str2,7079922:DateModifyReal,[(328,114)(262,114)(262,170)(195,170)])
}
Add(StringTable,11923480,399,126)
{
Left=5
Top=10
Width=375
Height=245
Columns=#8:Файл=200|8:Дата=150|
ColumnClick=1
Point(onColumnClick)
Point(doSortDigit)
}
Add(Hub,16430250,133,119)
{
link(onEvent1,11923480:doClear,[(377,125)(377,139)])
link(onEvent2,7079922:doSearch,[])
}
Add(DoData,6825256,315,161)
{
Data=Integer(1)
link(onEventData,11923480:doSortDigit,[])
}
Последний изменённый файл - он и StringTable последний.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#122: 2017-04-13 10:53:13 ЛС | профиль | цитата
Огромное спасибо!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#123: 2017-04-13 11:41:18 ЛС | профиль | цитата
SaturN26, можно ещё так http://www.winblog.ru/quicktip/1147770051-30061501.html
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#124: 2017-04-13 16:09:34 ЛС | профиль | цитата
Tad попробовал твою программу, все работает, все находит. Я добавил фильтр по типу. Все файлы находит, таблицу создает. Но мне нужно получить лишь одно имя последнего созданного файла, это требуется для сохранения уже нового файла с новым именем. Структуры имён моих файлов 20170413-1 ... 100 и т,д. Сохраняет их куча людей в разное время, с разных компьютеров то есть просто автоматический счетчик для генерации новых имен не вставишь. Зная имя файла я извлеку последнии цифры, прибавлю один и сохраню файл. Пока обошёлся тем что создал мини программу с помощью xStarter, программа ищет мне имя последнего файла. Но хочу все в один exe собрать а не иметь кучку файлов
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#125: 2017-04-13 17:00:01 ЛС | профиль | цитата
SaturN26 писал(а):
Пока обошёлся тем что создал мини программу с помощью xStarter, программа ищет мне имя последнего файла. Но хочу все в один exe собрать а не иметь кучку файлов

Чем не устраивает DirectoryChanges? Там не надо ничего самому искать, там работает сама система, те этот компонент имеет самое высокое быстродействие в плане отлова созданных файлов.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#126: 2017-04-14 06:43:41 ЛС | профиль | цитата
nesco писал(а):
Чем не устраивает DirectoryChanges?

Примерчик бы.

SaturN26 писал(а):
Но мне нужно
Про "мне нужно" пишут вначале, а не потом.
После Нового года будет нужно поменять и первую часть имени.

Редактировалось 3 раз(а), последний 2017-04-14 07:30:42
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#127: 2017-04-14 08:30:21 ЛС | профиль | цитата
Уважаемый Nesco! DirectoryChanges включает мониторинг, в моем случае приходится ждать пока в той папке за которой слежу кто нибудь создаст файл и только тогда сработает в выдаст мне результат наблюдения. А если имя последнего файла нужно узнать немедленно?

Уважаемый Tad! Виноват, прошу простить, за то что не внятно рассказал про свои нужды.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#128: 2017-04-14 09:46:18 ЛС | профиль | цитата
Давай дальше.
Нумерация сквозная или каждый год(месяц) начинается с 1 ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#129: 2017-04-14 10:14:15 ЛС | профиль | цитата
каждый день нумерация с начинается с 1 по типу как сегодня 20170414-1....20170414-2....20170414-3 и т.д. Файлы создаются трех типов одновременно у них одинаковые имена.

z:\NC PROGRAMS\2017\20170301-6.INFOOSLO
z:\NC PROGRAMS\2017\20170301-6.NC
z:\NC PROGRAMS\2017\20170301-6.PAR

нумерация редко доходит до 100. Это файлы для ЧПУ станков

Редактировалось 3 раз(а), последний 2017-04-14 10:49:26
карма: 0

0
Ответов: 8888
Рейтинг: 823
#130: 2017-04-14 10:52:34 ЛС | профиль | цитата
SaturN26 писал(а):
если имя последнего файла нужно узнать немедленно?

и немедленно!


Add(MainForm,2953706,161,98)
{
Width=397
Height=146
Point(onClose)
link(onCreate,1907796:doStartWatch,[])
link(onClose,1907796:doStopWatch,[])
}
Add(DirectoryChanges,1907796,280,112)
{
Flags=127
link(onChange,12377919:doGetString,[(319,118)(319,139)])
link(DirName,9058618:Var2,[])
}
Add(FileSearch,10146912,259,168)
{
SubDir=1
FullName=1
Format="D.M.Y hh:mm:ss"
Point(DateModify)
link(onSearch,14652650:doValue,[])
link(onEndSearch,6835991:doConvert,[(312,181)(312,300)])
link(Dir,9058618:Var1,[(272,89)])
}
Add(Edit,5255302,280,42)
{
Left=90
Top=5
Width=280
Text="C:\\A_WinGamesHiAsm\\hiasm_4,04b185"
}
Add(Button,12046425,175,161)
{
Left=10
Top=5
Width=70
Caption="Последний"
link(onClick,12349943:doEvent1,[])
}
Add(StrList,12377919,329,91)
{
Strings=#0:|11:Создан файл|11:Удалён файл|12:Изменён файл|0:|17:Переименован файл|
Point(doGetString)
Point(onGetString)
link(onGetString,2700847:doString,[])
}
Add(FormatStr,2700847,378,98)
{
link(onFString,7167636:doWork2,[])
link(Str2,1907796:NewFileName,[(391,89)(370,89)(370,152)(293,152)])
}
Add(GetDataEx,9058618,280,84)
{
link(Data,5255302:Text,[])
}
Add(DateConvertor,14315598,273,231)
{
Mode=8
Format="dd.MM.yyyy HH:mm:ss"
Point(Data)
link(onResult,5524593:doCompare,[])
link(Data,10146912:DateModify,[])
}
Add(Memory,14652650,322,168)
{
link(onData,14315598:doConvert,[(361,174)(361,216)(263,216)(263,237)])
}
Add(Hub,12349943,224,161)
{
link(onEvent1,9815744:doEvent1,[])
link(onEvent2,10146912:doSearch,[])
}
Add(Memory,9867595,420,238)
{
Default=Real(0)
}
Add(If_else,5524593,322,231)
{
Type=4
link(onTrue,9856886:doEvent1,[])
link(Op2,9829563:Var3,[(335,222)(363,222)])
}
Add(Hub,9856886,371,231)
{
link(onEvent1,109588:doValue,[(411,237)(411,174)])
link(onEvent2,9867595:doValue,[])
}
Add(Memory,109588,420,168)
{
Default=String()
Point(Data)
link(Data,14652650:Value,[(426,159)(391,159)(391,208)(328,208)])
}
Add(Hub,9815744,371,161)
{
link(onEvent1,109588:doClear,[(403,167)(403,181)])
link(onEvent2,9867595:doClear,[(396,174)(396,251)])
}
Add(FormatStr,6123004,427,294)
{
Mask="Последнее изменение файла\r\n%1\r\nпроизошло %2"
link(onFString,7167636:doWork3,[(466,300)(466,153)(424,153)])
link(Str1,109588:Value,[(433,229)(426,229)])
}
Add(DateConvertor,6835991,357,294)
{
Mode=9
Point(Data)
link(onResult,6123004:doString,[])
link(Data,9829563:Var2,[])
}
Add(GetDataEx,9829563,357,273)
{
Angle=1
link(Data,9867595:Value,[(426,278)])
}
Add(HubEx,7167636,420,98)
{
link(onEvent,5337086:doEvent1,[])
}
Add(Memo,12745881,476,91)
{
Left=10
Top=40
Width=360
Height=55
Font=[MS Sans Serif,10,1,0,1]
}
Add(Hub,5337086,434,98)
{
link(onEvent1,12745881:doClear,[])
link(onEvent2,12745881:doAdd,[(459,111)(459,97)])
}

карма: 19

0
Ответов: 47
Рейтинг: 0
#131: 2017-04-14 11:04:11 ЛС | профиль | цитата
Леонид спасибо. Я смотрю в элементе DirectoryChanges установлен флаг 127. А что это значит? И где можно посмотреть полный список всех возможных флагов

Вот еще хочу спросить, есть элемент кнопка. При нажатие на него запускается (открывается) окно (программа), а можно ли сделать что бы повторное нажатие на кнопку закрывало окно (программу). В примерах не нашел вариантов.

Элемент KeyEvent - эмуляция нажатия кнопок. Я понял что нажатия можно отправить только в окна чётко зная их идентификатор и заголовок? а если у меня программа свой заголовок меняет например:
PUNCH5 Rel 15.025 - ACUTE 2510 - 51 st. - [Z:\Z-=-CONFIG-=-\MACROS\DRAG&DROP\DIM(891.88,861.88,2.5).PAR] - [View 1 (Z:\Z-=-CONFIG-=-\MACROS\DRAG&DROP\DIM(891]
где неизменно остается только PUNCH5 Rel 15.025 а все остальное меняется. Можно отправить нажатие не в окно, а в программу (запущенный процесс)?

Редактировалось 4 раз(а), последний 2017-04-14 11:57:02
карма: 0

0
Ответов: 8888
Рейтинг: 823
#132: 2017-04-14 11:56:08 ЛС | профиль | цитата
SaturN26 писал(а):
А что это значит?
Поставить элемент на поле и посмотреть примечание к свойствам или нажать F1 или флажок "Помощь"
Справка.jpg
SaturN26 писал(а):
повторное нажатие на кнопку

повторное нажатие


Add(MainForm,2953706,308,203)
{
}
Add(Button,1716489,308,154)
{
Left=75
Top=25
Caption=">>"
Point(doCaption)
link(onClick,15134751:doNext,[])
}
Add(ChildForm,2836963,448,154)
{
}
BEGIN_SDK
Add(EditMulti,2001141,21,21)
{
WorkCount=1
link(doWork1,768033:doVisible,[(151,27)(151,97)])
}
Add(MainForm,768033,161,63)
{
Left=35
Top=105
Visible=1
Point(doVisible)
}
END_SDK
Add(Counter,15134751,364,154)
{
Max=1
link(onNext,11928211:doEvent1,[])
}
Add(Hub,11928211,413,154)
{
link(onEvent1,2836963:doWork1,[])
link(onEvent2,8949544:doEvent,[(438,167)(438,216)])
}
Add(IndexToChanel,8949544,448,210)
{
link(onEvent1,1347511:doClear,[(487,216)(487,202)])
link(onEvent2,16083635:doClear,[(536,223)(536,202)])
}
Add(Memory,1347511,497,189)
{
Default=String(>>)
link(onData,16083635:doValue,[])
}
Add(Memory,16083635,546,189)
{
Default=String(II)
link(onData,1716489:doCaption,[(585,195)(585,146)(298,146)(298,160)])
}
карма: 19

0
Ответов: 47
Рейтинг: 0
#133: 2017-04-14 11:59:26 ЛС | профиль | цитата
а у меня в помощи только
Flags - Сумма флагов по-умолчанию для установки определенного режима наблюдения (1 - изменение имени файла, 2 - изменение имени папки, 4 - изменение атрибутов файла, 8 - изменение размера, 16 - изменение времени последней записи, 32 - изменение времени последнего доступа, 64 - изменение времени создания, 256 - изменение прав доступа)

127 нету или это не 127 а 1 .. 2 .. 7 по отдельности

Редактировалось 1 раз(а), последний 2017-04-14 12:00:20
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#134: 2017-04-14 13:27:57 ЛС | профиль | цитата
Если формировать имя файла как, например, 20170414-000001.txt , то задача присвоения очередного имени решится довольно просто :

Add(MainForm,2953706,70,126)
{
Width=256
Height=100
}
Add(FileSearch,7079922,161,266)
{
Ext="*."
FullName=1
link(onSearch,26773:doValue,[])
link(onEndSearch,6052256:doCompare,[(204,279)(204,321)])
link(Ext,1697677:GetData,[])
link(Dir,13532093:CurrentDir,[])
}
Add(Dir,13532093,168,217)
{
}
Add(Button,1751853,70,266)
{
Left=10
Top=30
Font=[MS Sans Serif,8,1,0,1]
Caption="SAVE"
link(onClick,7079922:doSearch,[])
}
Add(Memory,26773,266,266)
{
}
Add(Time,6988693,217,126)
{
Format="YMD"
}
Add(EventFromData,1697677,161,182)
{
link(onEvent,12547900:doStrCatDlm,[])
}
Add(StrCatDelim,12547900,217,182)
{
Delimiter="-*.sha"
link(onStrCatDlm,1697677:doData,[(261,188)(261,113)(146,113)(146,188)])
link(Str1,1858626:Var2,[])
}
Add(FilePartElm,9334716,266,322)
{
Mode=2
link(onPart,14653243:doSplit,[])
link(FileName,26773:Value,[])
}
Add(StrPart,14653243,315,322)
{
Char="-"
Point(Left)
link(onSplit,16740460:doWork2,[])
}
Add(Math,3360619,364,322)
{
Op2=1
ResultType=0
link(onResult,8304305:doConvert,[])
}
Add(If_else,6052256,217,315)
{
Op2=Integer(0)
link(onTrue,16740460:doWork1,[(354,321)])
link(onFalse,9334716:doPart,[])
}
Add(FormatStr,4683535,448,322)
{
Mask="%1-%2.sha"
link(onFString,2712404:doText,[])
link(Str1,1858626:Var3,[(454,166)])
}
Add(HubEx,16740460,350,322)
{
link(onEvent,3360619:doOperation,[])
}
Add(GetDataEx,1858626,217,161)
{
link(Data,6988693:FormatTime,[])
}
Add(Edit,2712404,490,322)
{
Left=80
Top=30
Width=150
}
Add(Convertor,8304305,406,322)
{
Digits=6
SymbolFill="0"
link(onResult,4683535:doString,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#135: 2017-04-14 13:34:41 ЛС | профиль | цитата
SaturN26 писал(а):
127 нету или это не 127 а 1 .. 2 .. 7 по отдельности

Это сумма флагов -- 1+2+4+8+16+32+64=127
карма: 22

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