From 50a6074f16df5584b8d766b13e6ae826e2570116 Mon Sep 17 00:00:00 2001 From: savelij13 Date: Sun, 11 Jan 2026 22:30:57 +0300 Subject: [PATCH] =?UTF-8?q?FlexNavigator=201.16.05=20-=20=D0=B2=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20=D1=82=D0=B5=D0=BA=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=B2=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=20=D0=B7=D0=B0=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BA=D0=BB=D0=B0=D0=B2=D0=B8=D1=88=D0=B8?= =?UTF-8?q?=20=20=20ALT,=20=D0=B2=D1=8B=D0=B7=D1=8B=D0=B2=D0=B0=D0=BB?= =?UTF-8?q?=D0=BE=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BF=D1=8B=D1=82=D0=BA?= =?UTF-8?q?=D0=B5=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20=D1=81?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=83=20=D0=B4=D0=B8=D1=81=D0=BA=D0=B0=20(AL?= =?UTF-8?q?T/Fx).=20-=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD=D0=BE=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5=20=D0=BF=D1=80=D0=BE=D1=81=D0=BC?= =?UTF-8?q?=D0=BE=D1=82=D1=80=D0=B0=20=D0=B4=D0=B5=D1=80=D0=B5=D0=B2=D0=B0?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.bat | 2 +- docs/history.txt | 6 +++ docs/todo.txt | 4 ++ fn/flx/fneditor.flx | Bin 11673 -> 11673 bytes fn/flx/fnviewer.flx | Bin 6459 -> 6459 bytes fn/flx/help.flx | Bin 6364 -> 6364 bytes fn/fn.exe | Bin 49345 -> 49268 bytes fn/history.txt | 6 +++ fn_const.a80 | 4 +- fn_version.a80 | 4 +- fninput.a80 | 4 +- readme.md | 9 ++-- rez2_fnfunct.a80 | 112 +++++++++++++++++++++++++------------------- rez2_fntab.a80 | 18 +++---- setpath_tools.bat | 2 + 15 files changed, 103 insertions(+), 68 deletions(-) create mode 100644 setpath_tools.bat diff --git a/build.bat b/build.bat index c2f1e68..1d2e800 100644 --- a/build.bat +++ b/build.bat @@ -4,7 +4,7 @@ if not exist tmp md tmp if not exist fn md fn if not exist fn\flx md fn\flx -set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\ +call setpath_tools call setpath_includes cls diff --git a/docs/history.txt b/docs/history.txt index deb854e..bf2710e 100644 --- a/docs/history.txt +++ b/docs/history.txt @@ -1,4 +1,10 @@ +11.01.2026 +FlexNavigator 1.16.05 +- в функции текстового ввода заблокирована обработка клавиши + ALT, вызывало зависание при попытке сделать смену диска (ALT/Fx). +- убрано удаление в режиме просмотра дерева. + 07.09.2025 FlexNavigator 1.16.04 - сортировка и копирование файлов/директорий теперь не использует diff --git a/docs/todo.txt b/docs/todo.txt index 9a4175b..882ef76 100644 --- a/docs/todo.txt +++ b/docs/todo.txt @@ -1,6 +1,10 @@ Flex navigator TODO: +[] плагин CD Player исправить смену диска. +[] файл с расширением fln по F3 вызывает зависание. +[] исправить глобальный индикатор процесса копироования, пока привирает. +[] добавить поддержку джойстика для навигации. [] в копировании файлов/директорий доделать обработку ошибок при создании директорий. [] в плагине редактора исправить не сохранение введенныой строки при нажатиии функциональных клавиш не связанных с редактированием. [] для работы в деревом директорий убрать подмену страниц в списке выданных. diff --git a/fn/flx/fneditor.flx b/fn/flx/fneditor.flx index 34ac8f9b3d9819e9e9a73d74007cf5738e1c85a0..5822b731cc7f43b87092bf0e271ecb31e788eb41 100644 GIT binary patch delta 23 ecmbOkJu`a4cXlpALp=jSJtG4nv(1bgGgJX#v_v delta 23 ecmdmOwA*MyDm#~fxt@Wgo{@o(>E?X)GlBqFE(ZJn diff --git a/fn/flx/help.flx b/fn/flx/help.flx index 1957c5c030f95689bd993dd56219c6e05aa8ceb1..c7464feebf6e9692808f17c7b5ce22408f429c5b 100644 GIT binary patch delta 24 gcmca(c*k&q7z?B6WP4V*$)+p?jAomcv6zVf0A$1mDgXcg delta 24 gcmca(c*k&q7z?AxWP4V*$)+p?jHa8Hv6zVf0A#KQC;$Ke diff --git a/fn/fn.exe b/fn/fn.exe index d0b3b01cbcb1c749856708b7146308b205b39f7b..d60e5ebf5b963a8e26e9d399f94f68762340ae49 100644 GIT binary patch delta 21442 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%0D&k*-e2h0AJC`TP7&N+43NLSM#M9iMu}g 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

NK{5|pW*HpRR#CL^1e_<%G?vV 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 diff --git a/fn/history.txt b/fn/history.txt index deb854e..f26e48b 100644 --- a/fn/history.txt +++ b/fn/history.txt @@ -1,4 +1,10 @@ +10.01.2026 +FlexNavigator 1.16.05 +- в функции текстового ввода заблокирована обработка клавиши + ALT, вызывало зависание при попытке сделать смену диска (ALT/Fx). +- убрано удаление в режиме просмотра дерева. + 07.09.2025 FlexNavigator 1.16.04 - сортировка и копирование файлов/директорий теперь не использует diff --git a/fn_const.a80 b/fn_const.a80 index bacc202..70ad378 100644 --- a/fn_const.a80 +++ b/fn_const.a80 @@ -1,5 +1,5 @@ -; LAST UPDATE: 07.09.2025 savelij +; LAST UPDATE: 11.01.2026 savelij NUM_FILES_PANEL EQU 17 ; количество файлов в столбце панели NUM_PAGES_FN EQU 7 ; количество страниц памяти для работы FN @@ -388,7 +388,7 @@ FNinternal ; отладочное, не менять по избежание глюков PLUGS_ENABLE EQU 0 ; меню плагинов -MARK_DIR EQU 1 ; выбор директории с подсчетом размера всех файлов +MARK_DIR EQU 0 ; выбор директории с подсчетом размера всех файлов TREE_DIR_ENTER EQU 0 ; показ содержимого директории в дереве по ENTER CORR_FILENAME EQU 1 ; преобразование символов имени файла diff --git a/fn_version.a80 b/fn_version.a80 index 2595a23..925f4f2 100644 --- a/fn_version.a80 +++ b/fn_version.a80 @@ -1,7 +1,7 @@ -; LAST UPDATE: 07.09.2025 savelij +; LAST UPDATE: 10.01.2026 savelij FLEX_VERS -.NAVIGATOR EQU "1.16.04" +.NAVIGATOR EQU "1.16.05" .EDITOR EQU "1.11" .VIEWER EQU "1.07" diff --git a/fninput.a80 b/fninput.a80 index 6938646..35ce00d 100644 --- a/fninput.a80 +++ b/fninput.a80 @@ -1,5 +1,5 @@ -; LAST UPDATE: 25.08.2025 savelij +; LAST UPDATE: 10.01.2026 savelij ;[]----------------------------------------------------------[] InputLine LD (InpLnData),IX @@ -44,7 +44,7 @@ InputLine LD (InpLnData),IX JR Z,.InpLineLp RES 7,D BIT KEYBSTAT.B_ALT,B - JR NZ,.InpLineLp + JR NZ,.InpLineLp1;.InpLineLp ; выход, здесь нет комбинаций с ALT LD IX,InpTable2 BIT KEYBSTAT.B_CTRL,B JR NZ,.NextInpKeys diff --git a/readme.md b/readme.md index 55c04a7..f31a412 100644 --- a/readme.md +++ b/readme.md @@ -3,11 +3,10 @@ Flex Navigator ╨┤╨╗╤П ╨║╨╛╨╝╨┐╤М╤О╤В╨╡╤А╨░ Sprinter ╨б╨╛╨▒╤А╨░╨╜╨╜╤Л╨╡ ╤Д╨░╨╣╨╗╤Л ╨╖╨░╨▒╨╕╤А╨░╤В╤М ╨╕╨╖ ╨┐╨░╨┐╨║╨╕ fn -`FlexNavigator 1.16.03` -- MISC ╤Д╤Г╨╜╨║╤Ж╨╕╨╕ ╨┐╨╡╤А╨╡╨╜╨╡╤Б╨╡╨╜╤Л ╨╕╨╖ 2 ╤А╨╡╨╖╨╕╨┤╨╡╨╜╤В╨░ ╨▓ 3. -- ╨┐╨╡╤А╨╡╤А╨░╤Б╨┐╤А╨╡╨┤╨╡╨╗╨╡╨╜╨╕╨╡ TAB ╤В╨░╨▒╨╗╨╕╤Ж. -- ╨▓ ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡ Flex Navigator API ╨┤╨╛╨▒╨░╨▓╨╗╨╡╨╜╨╛ ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡ ╨│╨╗╨╛╨▒╨░╨╗╤М╨╜╤Л╤Е - ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╤Е. +`FlexNavigator 1.16.05` +- ╨▓ ╤Д╤Г╨╜╨║╤Ж╨╕╨╕ ╤В╨╡╨║╤Б╤В╨╛╨▓╨╛╨│╨╛ ╨▓╨▓╨╛╨┤╨░ ╨╖╨░╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨░╨╜╨░ ╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨░ ╨║╨╗╨░╨▓╨╕╤И╨╕ + ALT, ╨▓╤Л╨╖╤Л╨▓╨░╨╗╨╛ ╨╖╨░╨▓╨╕╤Б╨░╨╜╨╕╨╡ ╨┐╤А╨╕ ╨┐╨╛╨┐╤Л╤В╨║╨╡ ╤Б╨┤╨╡╨╗╨░╤В╤М ╤Б╨╝╨╡╨╜╤Г ╨┤╨╕╤Б╨║╨░ (ALT/Fx). +- ╤Г╨▒╤А╨░╨╜╨╛ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╨╡ ╨▓ ╤А╨╡╨╢╨╕╨╝╨╡ ╨┐╤А╨╛╤Б╨╝╨╛╤В╤А╨░ ╨┤╨╡╤А╨╡╨▓╨░. `FileViewer.flx 1.07` - ╨╝╨╡╨╗╨║╨╛╨╡ ╨╕╤Б╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╨╛╨╖╨╕╤Ж╨╕╨╕ ╨▓╤Л╨▓╨╛╨┤╨░ ╨┤╨░╤В╤Л/╨▓╤А╨╡╨╝╨╡╨╜╨╕. diff --git a/rez2_fnfunct.a80 b/rez2_fnfunct.a80 index cc548e3..50944d5 100644 --- a/rez2_fnfunct.a80 +++ b/rez2_fnfunct.a80 @@ -1,5 +1,5 @@ -; LAST UPDATE: 07.09.2025 savelij +; LAST UPDATE: 11.01.2026 savelij ;[]==========================================================[] CopyFilesR LD A,(IY + PANEL.FILES_ALL) @@ -193,11 +193,11 @@ CopyNxt LD IX,ProcessAll W_BORDER 16,56,288,12 W_FILL 18,57,284,10,COLORI.WHITE W_END + XOR A + LD (COPY.OverWriteFlg),A LD HL,CurPath LD DE,0 ; адрес отредактированного пути приемника .NEWPATH EQU $-2 - XOR A - LD (COPY.OverWriteFlg),A .NP1 LDI CP (HL) JR NZ,.NP1 @@ -207,12 +207,21 @@ CopyNxt LD IX,ProcessAll PUSH IY GETPORT WINSP.CPU3 PUSH AF -; текущую директорию грузим в свободную страницу + LD (CopyDir.CURR_PANEL),IY ; при копировании файла портится + IF MARK_DIR +; текущую директорию грузим в свободную страницу LD A,(RAMPAGES.BuffPg3) SETPORT WINSP.CPU3,,0 SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG) CALL ReadDIR - LD (CopyDir.CURR_PANEL),IY ; при копировании файла портится + ELSE + BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG) + LD A,(RAMPAGES.LEFTPANEL) + JR Z,.L3 + LD A,(RAMPAGES.RIGHTPANEL) +.L3 + SETPORT WINSP.CPU3,,0 + ENDIF ; копирование файлов/директорий CopyNextFile LD IX,(COPY.PathCurrFile) IF MARK_DIR @@ -222,6 +231,7 @@ CopyNextFile LD IX,(COPY.PathCurrFile) CALL DIRLIST.ADD_DIRNAME JP .NextHandle ENDIF + ; копирование файла/директории .CopyFile PUSH IX CALL PrintSrcDst @@ -442,12 +452,20 @@ CopyNextFile LD IX,(COPY.PathCurrFile) LD HL,(COPY.CopyFiles) LD A,H OR L + IF MARK_DIR JR Z,CopyDir ; файлы кончились? + ELSE + JP Z,CopyEnd + ENDIF DEC HL LD (COPY.CopyFiles),HL LD A,H OR L + IF MARK_DIR JR Z,CopyDir ; файлы кончились? + ELSE + JP Z,CopyEnd + ENDIF LD HL,(COPY.PathCurrFile) LD DE,FileHDR.SIZE .L5 ADD HL,DE ; следующий описатель @@ -875,9 +893,11 @@ CalcDirSizeR: PUSH IX POP IX RET - ; завершение копирования -CopyEnd CALL RestorePaths +CopyEnd + IF MARK_DIR + CALL RestorePaths + ENDIF POP AF SETPORT WINSP.CPU3,,0 POP IY @@ -1139,6 +1159,7 @@ ConvBytes2Pages: INC DE RET +; печать путей/файлов при копировании PrintSrcDst LD HL,(COPY.PathSrc) LD DE,WorkBuffer SUB A @@ -1172,13 +1193,13 @@ PrintSrcDst LD HL,(COPY.PathSrc) MAKEWINDOW WINSUBOBJ.WOBIND W_FILL 204,97,256,18,COLORI.HIGHGRAY W_END - LD IX,0x0100 + LD IX,256 LD HL,WorkBuffer LD DE,204 LD BC,97 LD A,COLORP.HIGHGRAY + COLORI.BLACK CALL PrintPathLeft - LD IX,0x0100 + LD IX,256 LD HL,WorkBuffer + 0x100 LD DE,204 LD BC,107 @@ -1537,7 +1558,7 @@ ReNameTree BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG) INC HL CALL FindTreeDIRR JP C,ReNameT - LD HL,0xC001 - 0x10 + LD HL,0xC000 + 1 - 0x10 LD BC,0x0010 .L2 ADD HL,BC BIT 0,(HL) @@ -2074,6 +2095,7 @@ DeleteFilesR LD A,(IY + PANEL.FILES_ALL) LD A,(IY + PANEL.FILES_MARK) OR (IY + PANEL.FILES_MARK + 1) JR NZ,DeleteMark +; удаление под курсором файла/директории GETPORT WINSP.CPU3 PUSH AF BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG) @@ -2114,12 +2136,13 @@ DelFil1 INC HL POP AF SETPORT WINSP.CPU3,,0 LD A,E - CP '.' + CP '.' ; в имени файла в описателе? странная проверка RET Z - CP '\\' + CP '\\' ; в имени файла в описателе? еще странней RET Z JR DelNext +; удаление маркированных файлов/директорий DeleteMark GETPORT WINSP.CPU3 PUSH AF @@ -2176,7 +2199,7 @@ DeleteMain JR NZ,.L1 LD (DE),A BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) - JR NZ,DelLp0 + JR NZ,.DelLp0 DEC HL LD A,'\\' CP (HL) @@ -2184,7 +2207,7 @@ DeleteMain LD (DE),A INC DE .L2 CALL MakeDELname -DelLp0 LD IX,0x00F8 +.DelLp0 LD IX,248 LD HL,WorkBuffer LD DE,320 LD BC,106 @@ -2199,24 +2222,24 @@ DelLoop LD IX,REZ2TAB.DeleteTab JR NZ,DelLoop LD A,E CP 0x1B - LD HL,DelExit + LD HL,DeleteExit JR Z,DelJump CP 0x0D - LD HL,DelDelete + LD HL,DeleteOne JR Z,DelJump RES 5,A CP 'D' - LD HL,DelDelete + LD HL,DeleteOne JR Z,DelJump CP 'A' - LD HL,DelAll + LD HL,DeleteAll JR Z,DelJump CP 'S' - LD HL,DelSkip + LD HL,DeleteSkip JR Z,DelJump CP 'C' JR NZ,DelLoop - LD HL,DelExit + LD HL,DeleteExit DelJump WINDOWCLOSE JP (HL) @@ -2237,11 +2260,12 @@ MakeDELname LD HL,(AdrDelFile) RET ;-------------------------------------------------------------- -DelSkip LD C,(IY + PANEL.FILES_MARK) +; пропуск удаления +DeleteSkip LD C,(IY + PANEL.FILES_MARK) LD B,(IY + PANEL.FILES_MARK + 1) LD A,B OR C - JP Z,DelExit + JP Z,DeleteExit LD IX,(AdrDelFile) RES 0,(IX + 0x00) LD L,(IY + PANEL.BYTES_MARK) @@ -2269,7 +2293,7 @@ DelSkip LD C,(IY + PANEL.FILES_MARK) LD (IY + PANEL.FILES_MARK + 1),B LD A,B OR C - JP Z,DelExit + JP Z,DeleteExit LD HL,(AdrDelFile) LD DE,FileHDR.SIZE .L1 ADD HL,DE @@ -2279,7 +2303,8 @@ DelSkip LD C,(IY + PANEL.FILES_MARK) CALL PrintDIR JP DeleteMain -DelDelete CALL PointerMouseClock +; удаление одного файла/диры +DeleteOne CALL PointerMouseClock BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) JR Z,DelDel0 PUSH IY @@ -2306,7 +2331,7 @@ DelDelete CALL PointerMouseClock PUSH AF CALL C,DOSError POP AF - JP C,DelExit + JP C,DeleteExit DelDel0 LD IX,(AdrDelFile) LD DE,WorkBuffer PUSH DE @@ -2326,14 +2351,15 @@ DelDel1 PUSH IY CALL DOSError OR A CALL NZ,BegDIRECTORY - JP DelExit + JP DeleteExit + DelDel2 LD A,0x01 LD (DeleteFlag),A CALL PointerMousePointer - JP DelSkip + JP DeleteSkip -DelAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG) - JR NZ,DelDelete +DeleteAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG) + JR NZ,DeleteOne LD A,0x01 LD (DeleteFlag),A CALL PointerMouseClock @@ -2380,7 +2406,7 @@ DelFrom EQU $-2 MAKEWINDOW WINSUBOBJ.WOBIND W_FILL 208,104,256,8,COLORI.HIGHGRAY W_END - LD IX,0x0100 + LD IX,256 LD HL,WorkBuffer LD DE,208 LD BC,104 @@ -2390,7 +2416,7 @@ DelFrom EQU $-2 LD HL,SC.ESC << 8 | 0x1B OR A SBC HL,DE - JP Z,DelAllExit + JP Z,DeleteAllExit LD IX,(AdrDelFile) LD DE,WorkBuffer PUSH DE @@ -2398,9 +2424,9 @@ DelFrom EQU $-2 POP HL LD A,(IX + FileHDR.Attr) BIT DIR.B_Dir,A - LD C,DSSF.DELETE + LD C,DSSF.DELETE ; удаление файла JR Z,.L3 - LD C,DSSF.RMDIR + LD C,DSSF.RMDIR ; удаление директории .L3 PUSH IY SPDSS POP IY @@ -2408,7 +2434,7 @@ DelFrom EQU $-2 CALL DOSError OR A CALL NZ,BegDIRECTORY - JP DelAllExit + JP DeleteAllExit DelA1 LD IX,ProcessDel LD L,(IX + PROGRESSBAR.CURR_PAGE) @@ -2421,7 +2447,7 @@ DelA1 LD IX,ProcessDel LD B,(IY + PANEL.FILES_MARK + 1) LD A,B OR C - JP Z,DelAllExit + JP Z,DeleteAllExit LD IX,(AdrDelFile) RES FileHDR.B_MARK,(IX + FileHDR.Flag) LD L,(IY + PANEL.BYTES_MARK) @@ -2449,7 +2475,7 @@ DelA1 LD IX,ProcessDel LD (IY + PANEL.FILES_MARK + 1),B LD A,B OR C - JP Z,DelAllExit + JP Z,DeleteAllExit LD HL,(AdrDelFile) LD DE,FileHDR.SIZE .L1 ADD HL,DE @@ -2458,20 +2484,12 @@ DelA1 LD IX,ProcessDel LD (AdrDelFile),HL JP DeleteAllLp -ProcessDel DW 178 - DW 117 - DW 284 - DW 0 - DW 0 - DW 0 - DW 0 - DW 0 - DW 0 +ProcessDel DW 178,117,284,0,0,0,0,0,0 DB COLORP.BLUE + COLORI.WHITE -DelAllExit HALT +DeleteAllExit HALT WINDOWCLOSE -DelExit BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) +DeleteExit BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) JR NZ,DelTreeDIR1 LD IX,(AdrDelFile) BIT DIR.B_Dir,(IX + FileHDR.Attr) diff --git a/rez2_fntab.a80 b/rez2_fntab.a80 index c72aa29..4cf082f 100644 --- a/rez2_fntab.a80 +++ b/rez2_fntab.a80 @@ -1,5 +1,5 @@ -; LAST UPDATE: 15.08.2025 savelij +; LAST UPDATE: 12.09.2025 savelij ;[]==========================================================[] ; Формат таблицы @@ -92,14 +92,14 @@ REZ2TAB DW 0x8000 ;[]===============================================================[] -.DeleteTab: DW 196,252,118,132,%0000000100100001,0,DelDelete,0 - DW 260,316,118,132,%0000000100100001,0,DelAll,0 - DW 324,380,118,132,%0000000100100001,0,DelSkip,0 - DW 388,444,118,132,%0000000100100001,0,DelExit,0 - DW 0,180, 0,256,%0000000100100000,0,DelExit,0 - DW 460,640, 0,256,%0000000100100000,0,DelExit,0 - DW 0,640, 0, 80,%0000000100100000,0,DelExit,0 - DW 0,640,136,256,%0000000100100000,0,DelExit,0 +.DeleteTab: DW 196,252,118,132,%0000000100100001,0,DeleteOne,0 + DW 260,316,118,132,%0000000100100001,0,DeleteAll,0 + DW 324,380,118,132,%0000000100100001,0,DeleteSkip,0 + DW 388,444,118,132,%0000000100100001,0,DeleteExit,0 + DW 0,180, 0,256,%0000000100100000,0,DeleteExit,0 + DW 460,640, 0,256,%0000000100100000,0,DeleteExit,0 + DW 0,640, 0, 80,%0000000100100000,0,DeleteExit,0 + DW 0,640,136,256,%0000000100100000,0,DeleteExit,0 DW 0x8000 .EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0 diff --git a/setpath_tools.bat b/setpath_tools.bat new file mode 100644 index 0000000..2c9360d --- /dev/null +++ b/setpath_tools.bat @@ -0,0 +1,2 @@ + +set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\