Jump to content
Muxe Inc Forums


  • Content count

  • Joined

  • Last visited

Everything posted by AngelsHolocaust

  1. New Release: V2.31.4712

    Hi everyone. I planned to go through the complete todo list from the beginning to the end and fix everything possible for this release, BUT that is impossible to be finished within just a few weeks or months... :) So I decided to release it now that I am about 1/3 or 1/4 through the todo list. There are quite some nice fixes and enhancements. See for yourself... Whatsnew: ─════┤ v2.31.4712 DPMI32/WINDOWS/LINUX 31.08.09 ├═══════════════════════════─ [!] added contact information to doc\licence.txt [*] Moved advance0.xlt* to keymap [*] W32: the german SFX stub was replaced by the current english one (Dandv) MOUSE [+] W32: implemented drivers.SetMouseCursor() (doesn't work in full screen mode) [+] New mouse option: Put mouse cursor on the default button -> added dialogs.TDialog.SetState() which sets the mouse cursor -> added commands.omsMoveDefaultButton to mouse setup and made it default [-] W32: Mouse cursor was always set to 0x0 on startup when Options.Configuration.Interface setup.Store mouse position was enabled [V] -> vpsysw32.SysTVUpdateMouseWhere() was not implemented -> removed drivers.Mouse[XY] -> idlers.CallExternalSaver(), dnutil.TDNApplication.RetrieveDesktop() and TDNApplication.SaveDesktop() use drivers.MouseWhere instead of Mouse[XY] [*] W32/LNX: Option "Store mouse position" is not default anymore -> modified startup.InterfaceData.Options [-] LNX/W32: Executing a file showed the character under the software mouse cursor on the console output window [A] -> drivers.DoneEvents() now calls drivers.HideMouse() [-] D32: fixed bugs in mouse X/Y calculation [V] {C} -> Modified vpsysd32.SysTVGetMouseEvent(), mouse_eventhandler(), and SysTVInitMouse() TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES/DESKTOP [*] cleaned up/corrected the clean up process of NDN views: - Added TGroup.HasView() to check if a view exists in a group -> TGroup.IndexOf() returns -1 if nothing found; modified TView.PutPeerViewPtr(), TGroup.PutSubViewPtr() - collections Update(Prior|Views) now only delete items on clean up, not free them; modified RegisterTo(Prior|BackGround) dnutil: - TDNApplication.SaveDesktop() checks if dnapp.MenuBar is nil cmdline: - added TCommandLine.Done(), which sets dnapp.CommandLine to nil dnapp: - TApplication.Done() now uses objects.FreeObject() instead of Dispose() - ExecExit() resets QuitForced to false - TProgram.Done() now only calls inherited Done() and sets the public variables Desktop, StatusLine, MenuBar nil - moved drivers4.InitDrivers().InitSysError() call to TApplication.Init() - added groupsfm.DoneGroups() and filescol.DoneTempGroups() to TApplication.Done() [*] improved the initialization process of the TUI -> moved the Insert() and GrowTo() calls for dnapp.(MenuBar|StatusLine) from dnapp.TProgram.Init() into dnapp.TProgram.Init(MenuBar|StatusLine) -> moved the Insert() call for dnapp.Desktop from dnapp.TProgram.Init() into dnapp.TProgram.InitDesktop -> Inheriting objects can safely call above functions without a double object insertion or object overwrite [+] Inputlines: support for the QuickDir list window -> dialogs.TInputLine.HandleEvent(): added command handling for cmQuickChange* and kbAltShift0 for sending cmListOfDirs; kbAlt[1-9] now sends cmQuickChange* [*] Inputlines [LEFT/RIGHT]: Pass the event on to the next view if at the beginning or the end of the inputline -> Modified dialogs.TInputLine.HandleEvent().kb(Left|Right) [+] Dialogs: the current/total count of all list boxes will now be shown in the window's subtitle frame -> views.TListViewer.UpdateSubTitle() now also checks for TDialog, not only TWindow [+] Added collect.TCollection.AtSwap() function [+] Added Load()/Store()/Done() for future extentions to hideview.TStdWindow [+] uniwin.TUniWindow now inherits from hideview.TStdWindow [-] Recalculation of standard window's bounds on screen mode change didn't work correctly until zoomed [NC] -> removed *another* old non working "fix" in views.TView.CalcBounds().Grow() that caused wrong calcuation of standard windows like viewer or editor (missing frame lines); this fix was probably added to fix the file panel display (visible command line), but I can't be sure due to russian comments -> all possible desktop windows (file panel, viewer, editor...) now use hideview.TStdWindow, which modifies the standard TWindow GrowMode flags to the wanted behaviour -> windows with negative starting coordinates now will keep them [-] Name completion/Inputline: after adding new string the old data was marked [A] -> Modified dialogs.TInputLine.HandleEvent() so now the added data is marked only if data was actually changed -> Corrected dialogs.TInputLine.SetState() to not marking it's data if an overlay window is closing (ASCII-Table, Name completion) [-] Edit/View: moving Find window changed the window caption (Slavik) [DNOC] -> views.TWindow.Draw() called wintitle.SetTitle(), removed that call and TWindow.Draw() since no other code was left -> this also fixed "Copy Dialog + Tree Dialog title blinking" (Slava) [-] Resizing windows to the lower X-limit (f.ex. Help) showed bad title cuts: '-- Help --' '-- ... --' '...Help ' [A] (Slavik) -> stringsx.Cut() did not handle lower length edge cases correctly [+] Move/Resize: added mouse support (Slavik) -> modified views.TView.DragView() [-] Move/Resize: Message boxes didn't support left/right movement (Slavik) [NC] -> main3.MyApp.GetEvent() replaced kb(Left|Right) with kb(ShiftTab|Tab) for all message boxes when message.MsgActive was true; commented the code since it seems unnecessary/redundant [+] added objects.TPoint.(Copy|Add)() functions, objects.TRect now uses more of the TPoint functions internally [*] HexLine: Improved the HexLine behaviour non hex character will be sent to the corresponding inputline -> modified dialogs.THexLine.HandleEvent() character handling left/right within hex char didn't unselect left/right on line limits should tab -> modified dialogs.THexLine.HandleEvent().kb(Left|Right) select all didn't work -> dialogs.THexLine.HandleEvent() now sends all evCommand events to the inputline inputline was not selected anymore when entering the corresponding HexLine -> dialogs.THexLine.SetState() correctly handles the inputline on focus change ASCII table input deleted all data and only one character input was possible -> modified dialogs.THexLine.SetState() and TInputLine.SetState() [*] Improved the fatal error message boxes -> modified drivers6.ReportFatalError() [+] Copy menu items to clipboard -> added commands.cmPutInClipboard menus.TMenuView.Execute() LANGUAGES [*] English: Changed all visible hotkey references [ALT+CTRL...] into [CTRL+ALT] [*] W32/LNX: auto language switch w/o restart by hand; restarting NDN now does a full restart -> dnutil.TDnApplication.HandleCommand().ChangeLanguage(), setups.(MiscMultiSetup|SystemSetup)() now call cmReset -> dnexec._ExecString() restarts NDN if reset is required via cmReset -> main.RunMainProgram() restarts NDN if dnapp.NeedReset is true -> added dnapp.TProgram.(Resume|Suspend)(), used for en/disabling OS dependant functionality; used in dnexec._ExecString() and dnapp.TApplication.(Init|Done)() -> removed 'echo ' from *.dnl.dlRestart [-] LNX: restart didn't work [A] -> vpsyslnx.SysGetTTYName() didn't correctly save TTY name for new calls -> vpsyslnx.OpenVCS() didn't work with multiple calls -> vpsyslnx.KbdTerminalThread() init/done handling was not correct -> x11.Done() didn't lock the X11 data [*] The language resources archive now contains all target executables [-] Russian: Windows hotkeys ([CTRL+C/V...]) didn't work (dimases) [N] -> Loading dlAltTable into drivers3.AltCodes1 in drivers3.InitDrivers3() didn't correctly check boundaries and overwrote drivers3.ForceWordStarKeys -> Russian language uses 37 characters in dlAltTable, modified AltCodes1 and GetAltChar() -> WordStarChars and AltCodes1 were moved into the implementation section FILE PANEL [*] Removed all stringsx.DisposeStr() on flpanelx.CurFile(Active|Passive)[S]: dnexec._ExecDOScommand(), dnutil.TDnApplication.HandleCommand().cmReset, EDITOR [-] Ruler on right mouse button was disabled [A] -> accidentely commented the code in micro_3.EdHandleMouse() EDITOR/VIEWER/DBVIEWER/WKZVIEWER(Spreadsheet) [+] Marking with mouse + [SHIFT] before marking: copy data to clipboard on button release, append data to clipboard if holding [SHIFT] on button release -> modified micro_3.EdHandleMouse(), added CopyBlock boolean variable -> modified fviewer.TFileViewer.HandleEvent(), added DoCopyBlock boolean variable SCREEN/VIDEOMODES [*] D32: Improved video code -> SetCrtMode() by replacing single VGA calls by adding a VGA call table and using the sm* constants instead of absolute values -> DoneVideoModes() now uses FreeObject() -> InitVideoModes() resets VESA_Found [-] adding/using mode 175x83 actually was 80x43 (hmskrecik) [A] -> added video.CreateNewVideoMode(), which unifies the creation of new video modes added at runtime and uses a new video mode id routine which does not create conflicting ids (see 175x83 = 80x43 = $02FF) -> merged video.GetVideoModeNumbyMode() into GetVideoModebyMode() -> dnutil.TDnApplication.HandleCommand().ChScreenMode() now returns better error information if an invalid or already existing mode was entered for addition to the list [*] moved drivers.TCursorInfo|PreNDNCursor to video [-] W32: Cursor set to 0x0 in certain cases: Start a console that changes the window size twice: 80x300->80x25->80x30 80x300 is the standard window buffer size for Windows XP consoles -> Because of the second video mode change and a call to video.UpdateScreen() the default values of drivers.Cursor[XY] were used = 0x0; solved this by using the same default values for drivers.OldCur[XY] and Cursor[XY] [*] moved main.SysTVDoneCursor() to video.DoneVideo() SCREEN GRABBER [-] Mark with mouse: starting point X/Y changed -1 if (X/Y < starting point) [NC] -> usermenu.TGrabber.HandleEvent() correctly sets the starting point if moving back over it COMMANDLINE [+] Added event command to insert a command line string -> restructured cmdline.TCommandLine.HandleEvent() and added cmInsertLine handling HISTORIES [+] Added drop and edit commands to the view/edit/dir histories -> modified histries.(Edit|View|Cmd|Dir)HistoryMenu() to accept the drop commands (cmYes) -> "Delete record" and "Kill" were renamed to "Delete" -> Cleaned up the source code -> Renamed histries.TTHistList.ItemStr() to GetItemPtr() and added TTHistList.SetItemPtr() -> modified histries.TTHistList.HandleEvent().cmOk to use [GS]etItemPtr() COLORS / PALETTES [*] Added new palette file apometrn.pal (Rodrigo Cesar Banhara / Apometron) SYNTAX HIGHLIGHT [+] added RTF to, improved PERL and PHP in NDN.hgl (Dandv) DNEXEC/EXTERNAL VIEWER,EDITOR/EXECUTE EXT/LOCAL,GLOBAL MENUS [-] NDN.EXT/D32/NT: executing EXT files may exceed the max commandline length of 128 which resulted in loading a new command interpreter, which requires "exit" to continue with NDN [A] (RayeR) -> simplified the names of temporary files from xndn<num>x.* to z<num>.* to save command line space in advance0, unified the name generation in main2.InvalidateTempDir() -> modified dizfiles.ReplaceDIZ(), dnutil3.ClearSwap(), dnexe._RunOS2Command() and usermenu.QuickExecExternal() to use the new temporary file naming scheme -> improved the execution command generation in dnexec._ExecString() -> Removed dnexec.ExecExtraEnv -> modified fileio.CalcTmpFName() by making the ID parameter optional [-] Exec file search messed up the file search extension/path order [A] (Dandv) -> improved fileio.SearchPathEnv() to scan paths with a fixed extension order and to optionally return the extension of the found file -> dnexec.Executables was changed from a #0 to a ';' separated list with dots in front of each extension and the order of extensions was corrected to match the behaviour of DOS and WINDOWS; added fileio.IsExecutable() which handles the comparison [-] NDN.EXT: single lined extension commands appeared 2 times on the console screen; http://forums.muxe.com/index.php?showtopic=3210 (Crimso/Dandv) [A] -> dnexec._ExecFile() printed single lined commands FILE PANEL [-] Advanced filter [ALT-DEL]: hiding wildcards didn't work anymore [A] -> complete code of fltools.CM_AdvancedFilter() was rewritten, improved and simplified -> Hide-Masks were added to the panel filter with a space "- *.*" -> Extensions > 3 were not handled correctly if multiple masks were selected -> stringsx.Replace() didn't return any information -> the dialog window will not close and reopen anymore on show/hide; code now uses views.TView.EventCallbackHandler() CONFIGURATION FILES [*] LNX: Changed Configuration.System Setup.Temporary Dir "%TEMP%" to "/tmp/" -> changed startup.SystemData.Temp default data -> improved the temp dir handling in main2.InvalidateTempDir() [-] D32/W32: Former %TEMP temp dir strings are not supported anymore [A] -> main2.InvalidateTempDir() corrects bad env strings change of the temp dir in Options.Configuration.System Setup was not noticed until restart -> setups.SystemSetup() resets if the temp strings has changed prevented execution of NDN.EXT entries -> main2.InvalidateTempDir() didn't reset the advance0.Swp* strings -> added error messages dnexec._SearchExt() if it fails [!] Enabled following options on default (startup.pas) * Options.File Manager.Setup: Restore Temporary Files, [ALT-F1/F2] Show VFS, Show Driveline info window * Options.Configuration.Interface Setup Allow multiple help windows * Options.Configuration.Mouse Setup Track in menus * Options.Configuration.Editor Setup New file loading ARCHIVES [-] Extract to "<path>" didn't work [A] -> archiver.UnarchiveFiles() didn't handle "" ASCII TABLE [+] Added CTRL cursor keys that move 2 chars left/right and 5 chars up/down {C} -> added kbCtrl(Left|Right|Up|Down) and shortcurt function SetCursorPos() to asciitab.TTable.HandleEvent() CALCULATOR [-] Fixed numeral system for negative numbers {C} (Slavik) -> calc.NumeralSystem() didn't handle negative values [+] Added functions: GCD, LCM, BIT {C} HEADER VIEWER [+] Added CauseWay 3P executables {C} Get it here: http://ndn.muxe.com/download/ All the best, Stefan / AH
  2. Bug In Calendar

    Hi Basil. Mo Tu We Th Fr Sa Su 28 29 30 31 1 2 3 │ 53 4 5 6 7 8 9 10 │ 1 I have compared this to 2 German paper calendars at work and a few on the internet. Also read here: http://www.merlyn.demon.co.uk/weekinfo.htm#WkNo I am pretty sure that the calculation is correct. Please recheck this with a few calendars where you live. Thank you, Stefan / AH
  3. Command Line Handling Is F'ed Up :)

    Hi again Dan, would you test the execution behaviour for me? http://www.bnhof.de/~ho1459/temp/ndn_w32.E...st.Dandv.01.rar Thank you, Stefan / AH
  4. Find Panel, Date In Dbfview, Select By Ins

    Hi Adam, 1. Yes, this is already on the todo list 2. Added to the todo list. 3. I cannot confirm this. It works for me under Windows XP, didn't test this in DOS. Can you do some tests for me? Stefan / AH
  5. Command Line Handling Is F'ed Up :)

    Hi Dan, did you know that FindFirst() and FindNext() actually do successfully find files named file.ext> file.ext| file.ext< ... ? I didn't know either. :P Hopefully this fix brings back the previous execution behavior, without screwing the new features... Stefan / AH
  6. Ndn/w32 + Windows 7

    Hi, I would like to know whether NDN/W32 works in Windows 7 32-Bit and (even more interesting) Windows 7 64-Bit. I hope some of you can post some comments on this. Thank you, Stefan / AH
  7. How Do I Keep Panels Uneven?

    Hey Elfy, long time no see. I am glad to hear from you again. This is a bug which is already on my todo list: - changed panel separator is reset on (re)start of NDN (Slavik) [] Pretty annoying I must admit, I will check it out right away. Thank you, Stefan / AH
  8. New Release: V2.31.5309

    Hi everyone, long time no see! :) I hope you all had a good year 2010 until now. As you can judge from the not much advanced build counter there have not been much compiles of NDN since it's last release. Main reason for this (see the news) is PE2ELF: NDN for Linux should now work again on old (more strict?) kernels. I also hope that it now works on 64-Bit systems Besides that I've (hopefully) fixed the remaining file execution bugs that I've introduced with the last releases! Whatsnew: ─════┤ v2.31.5309 DPMI32/WINDOWS/LINUX 22.03.10 ├═══════════════════════════─ CONFIGURATION FILES [*] NDN.QDR/W32: added more Windows directories [*] NDN.HGL: the Pascal FILES line was extended with regex pattern >PROGRAM|UNIT< [+] HGROUPS.INI: Added *.mts;*.m2ts TARGET OS/VIRTUAL PASCAL COMPATIBILITIES: [-] W32/WinNT+: Window titles did not handle kyrillic correctly {G} [A] -> wintitle.SetTitle() now correctly checks for WindowsNT [-] LNX: PE2ELF didn't create fully working ELF executables - failed on older LINUX distributions like RedHat Linux 7.3 (Kernel 2.4.18-3) [A] (Akser) -> Rewrote PE2ELF (did cost me most of the time since the last release!) TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES/DESKTOP [*] Inputlines: English <-> Russian only worked on marked data [N] -> dialogs.TInputLine.HandleEvent() now uses whole data if nothing is selected [-] Clipboard insert into hexline crashed NDN [A] -> dialogs.TInputLine.HandleEvent() destroyed the contents of drivers.TEvent.InfoLong -> replaced dialogs.TInputLine.LastCommandWas with IsHexLineEvent -> added drivers.TEvent.InfoDetail DNEXEC/EXTERNAL VIEWER,EDITOR/EXECUTE EXT/LOCAL,GLOBAL MENUS [-] W32/D32: Extensions from %PathExt% environment variable were ignored [A] (Dandv) -> moved dnexec.Executables to filetype (private) and added wrapper functions (Add|Get|Is)ExecutableExt() -> dnexec._ExecString().CheckWhatParams() now uses filetype.IsExecutable() -> fileio.SearchPathEnv() uses GetExecutableExt() [-] W32/D32: Executing file in same dir without extension failed with 'Command "." not found..." [A] (Rugxulo, Marcos Favero Florence de Barros) -> fileio.SearchPathEnv() used "/" instead of "\" in ".\<file>", now using SysPathSep() [-] LNX: non-ELF executables were randomly executed [A] -> filetype.IsExecutable() didn't provide an ASCIIZ to stat() INFO PANEL [-] Resizing the window shows renadom colors and bad strings (Slavik) Hangup on FTP-VFS [A] -> infopane.TDiskInfo.Draw() used shr 1 instead of div 2 which led to bad results for string length calculations SCREEN / VIDEO MODES [-] Video mode setup: Mode 1/2 were not saved to .ini on exit [A] -> dnutil.TDnApplication.HandleCommand()ChScreenMode() didn't notify the configuration change in startup.ConfigModified Download: http://ndn.muxe.com/download/ See you soon again I hope, Stefan / AH
  9. New Release: V2.31.5309

    Hi! Have not worked on it yet. Whatsnew TODO section: SCREEN / VIDEO MODES + LNX: UTF-8 (unicode) screen draw support (VK LFS) I won't give any time frame or similar. It will be done when it's done and you will read it in the posted news. Sorry for not being able to give positive feedback. Do you mean NDN on Windows 64-Bit systems? Sorry, I was not specific enough: NDN reportedly didn't run on (some?) 64-Bit Linux distributions and I hope that the ELF fixes fixed this issue... Stefan / AH
  10. New Release: V2.31.5222

    Hi friends. This release does not contain as much updates as I wanted it to have. After all, it does contain some nice updates though. Real life kept me busy, but it's getting "better". :) I especially want to point out to NDNOLDAP, which mainly I wrote out of interest for the "technology" of virtual device drivers. The sources can be downloaded from the download page. Whatsnew: ─════┤ v2.31.5222 DPMI32/WINDOWS/LINUX 12.12.09 ├═══════════════════════════─ [*] W32: dnos.CheckOS() didn't set opWin for WinNT+ OS's, D32 did [+] added filetype unit and moved several functions there: dnexec.(Win32Program|GUIProgram)(), fileio.(IsElf|IsExecutable)() -> removed flpanelx.ExecFile_Rights, improved IsExecutable() to read the UNIX rights from the current filerec in panel or from the file on disk [!] Exceptions were always unknown / unhandled -> drivers4.InitDrivers() sets system.ExceptObjProc to nil CONFIGURATION FILES [*] NDN.EXT/DW32: added Borland DLL to c,cpp[], NASM to asm[] [*] NDN.MNU: added Winamp example [*] NDN.QDR/W32: added more Windows directories [*] NDN.HGL: updated the keywords for assembler files (Slava), added RegKeyWords[1-8] to the *.HGL syntax definition [*] NDN.HGL: added standard TabSize (commented) and OptimalFill Off to several definitions [*] New default option: File Manager.Setup.[X] Don't quote LFN, clipboard -> added commands.fm2DontQuoteClip to startup.FMSetup.Options2 DNEXEC/EXTERNAL VIEWER,EDITOR/EXECUTE EXT/LOCAL,GLOBAL MENUS [-] Detection of WIN32 GUI executables didn't work anymore [A] -> dnexec._ExecString() didn't handle the file extension correctly [-] Exec file search priority order was still not correct [A] (Dandv) -> fileio.SearchPathEnv() now doesn't use dos.FSearch() anymore, which scans all directories for one filename instead of scanning each directory for all filenames [*] NDN.EXT/External user menu boxes didn't use desktops > 25 lines -> usermenu.ExecUserMenu() now uses menus.THugeMenuBox.InitAdv() to create the menu box [-] EXEC/WNT: Executed filename had an trailing space (see "echo %0") [A] -> dnexec._ExecString().CheckWhatParams() didn't trim whitespace before enclosing in '"' [*] D32/W32: Execution improvment if a program is no executable -> dnexec._ExecString().CheckWhatParams() allows non-executables to be started asynchronously like windos GUI applications; this automatically starts the associated Windows program -> dnexec._ExecFile() allows non-executables to be executed in Windows if there's no association in ndn.ext -> W32: Note that bat/cmd files cannot be started asynchronously for some reason (CreateProcess + Detached_Process): can someone help here? WOA/WINOLDAP (D32/NT) [+] Wrote a WinOldAp replacement for Windows NT+ Operating Systems, supporting PROTECTED and REAL MODE calls, usable in DPMI programs -> added winoldap.pas, winoldif.pas, ntvdmif.pas to extsrc\winoldap.dll [+] Supports: MS Windows WinOldAP Clipboard, MS Windows95 Window Title [*] D32/NT: Window title functions are no longer disabled -> removed WinNT checks from wintitle.(Set|Get|Init|Done)Title() [+] Added "Release Current Virtual Machine Time-Slice" (Int 2F/AX=1680h) -> added winoldif.WoaReleaseVmTimeSlice() using windows.Sleep(5) KEYBOARD [+] Added Ctrl-';' {C} -> added commands.kbCtrlSemiColon, extended drivers.MyKeyShiftCodes[] and driversMyKeyScanCodes[] TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES/DESKTOP [*] removed this as it's not helpful [*] Inputlines [LEFT/RIGHT]: Pass the event on to the next view if at the beginning or the end of the inputline -> Modified dialogs.TInputLine.HandleEvent().kb(Left|Right) [-] Huge menu boxes now correctly center [A] -> menus.THugeMenuBox.InitAdv() now uses Options.ofCentered to center the view (see W32.Context menu) [-] Clicking on help buttons didn't work {C} -> dnutil.TDnApplication.HandleCommand().cmHelp didn't handle Event.InfoWord correctly [+] Added reverse word/sentence operation {C} -> added stringsx.Reverse(Str|Buf)(), modified stringsx.FormatStrCase() -> added kbSemiColon to dialogs.TInputLine.HandleEvent() [*] MENUS: When copying strings to clipboard the hotkey '~'s are removed -> added drivers3.CStr2Str(), used in menus.TMenuView.Execute().kbCtrlIns [-] Non resizable views could be resized with mouse after [CTRL-F5] (Slava) [A] -> views.TView.DragView() didn't check whether move or grow were allowed, now checking the mode parameter EDITOR [+] Added reverse word/sentence operation {C} -> added commands.cmReverse(Block|String|Word) -> modified microed6.EditorHandleEvent() and micro_3.EdChangeCase(), micro_3.EdChangeBlockCase() DBF VIEWER [*] removed Day_in_month: array now use timedate.DaysInMonth {G} [-] fix foxpro's DateTime field {G} (Zaimskih) correct Edit Field with TimeDate value [-] fix display integer fields {G} [-] fix search in all fields {G} [+] add Alt-F7 hotkey = SearchReverse {G} [-] Fix incorrect show last modified date {G} LANGUAGES [*] Russian: updates/translations to the resources and online help {G} FILE PANEL [!] Context Menu: * crash when opening '..' and too many files in dir (HUNTER) [A] -> contextm.c didn't provide the LPITEMIDLIST itself but a reference to it * crashes on menu exit: drivers@493, views@1421, ... [A] - menus.THugeMenuBox.Init() didn't handle long title strings - contextm.p_OpenWinMenuInTV() inserted menu but didn't remove it * One of the above also fixed the usage of OleFlushClipboard(), which makes it possible to copy files via the context menus LANGUAGES / RESOURCES (RCP) / HELP (TVHC) [-] Screen saver setup title was missing characters [A] {C} -> last string in ndn.dlg was not correctly saved -> rstrings.TIdxMaker.Done() used a bad loop start value: 0 instead of 1 GAMES [-] Piton and Tetris will pause when the user screen [ALT-F5] is on [NC] {C} -> game_(pit|tet).TGameView(P).Update() checks for usermenu.UserScreenIsOn Download: http://ndn.muxe.com/download/ I wish everyone of you a Merry Christmans and a Happy New Year. See you again in January 2010. All the best, Stefan / AH
  11. New Release: V2.31.5222

    Hi RayeR and Dan. Nice to hear that it works for you. I feared that it would end up in more problems on other systems that I tried to solve with it. Lol, yes! I just added the english version of the path: ?%UserProfile%\My Documents\ Unfortunately there's no direct environment shortcut to this directory, as many programs open that directory by default. Bye, Stefan / AH
  12. Native Support For 7-zip?

    Hi Dan, native support is the only solution. And as the sources for 7Zip are available it should be possible. I will add it to the list, whenever I touch the archive code again (there are several issues) 7ZIP wil be worked on too. Thank you, Stefan / AH
  13. Ctrl+e Don't Work

    Check if this option is enabled: Options.Configuration.Miscellaneous setups....Keyboard Setup.Use WordStar "diamond" Stefan / AH
  14. Comparing Files By Content Vs. Archives

    Hi Dan, I know that there are issues. I think about using built in CRC sums to compare files (perfect for all modern archivers). Extracting files is the last consequence of course. For this I want to implement a new file access layer which should abstract the deletion or file copy handling from the actual accessed VFS. With this FTP and ARC should work out of the box with all existing features of NDN. Probably won't be trivial, but it's pretty important to me. Btw, I am working on a new release for this week, sorry for another long delay... Stefan / AH
  15. What programmimg language do you use for NDN?

    Ok, I didn't think of BANG like you did. I do understand, your Unicode bit from down below is a good argument for this. Still I claim that bitrot can be prevented or minimized by carefully planing and updating APIs. We've been talking about big projects all the time... You probably expected the next answer from me: "The ones that implement a feature that has such an impact on the program." If a target does not support unicode or not yet, make sure it doesn't "bang". If possible make "fall through" code available that will handle these cases without touching the target system that may be in the need of a rewrite to support the new feature. Of course, if developers do not see or value the whole project (i.e. each target) then the target or project is lost... Who is being unfair now? The fact that NDN works quite well on GNU/Linux proves that I know more about "them", whatever "topic" and "their culture" than you imply that I know of. Yes, that's another thing that I'd like to my bitrot list from my last post: - Project can be left and unmaintained at any time, no matter if finished or not, since it's open source and someone else can pick it up An entertaining site on this: http://linuxhaters.blogspot.com/ There's no good moment to replace a complete development system. This is a choice of all or nothing. ...then I should port everything to C/C++ to solve all future problems and make all target operating systems possible. True. Good luck.
  16. What programmimg language do you use for NDN?

    Hi Marco! I wanted to end this thread, but I found a few arguments that I had to answer to. :) So, shouldn't the updated RTL be able to handle the fact that not all targets will be on the same level? At least there should be no BANG. :) True. Agreed - I just think that all these reasons should not render a port useless, even if it's not at the same level as the most popular ports. That's true too of course, if you break or change an abstraction layer that already worked... My favourite topic... Bitrot is especially true for Linux and FreeBSD where the "developers" behave like this: - Source code is the best documentation - No need to keep APIs or constants "constant" because the source code is available and can be recompiled on any system anytime - Writing APIs or drivers for freaks not end users But let's not continue too much on this... Mine isn't. :P No productivity at all while the months that will be spent without producing any new value, i.e. feature improvments or corrections. The risk of breaking existing functionality, esp. in large and/or complex projects. Even more in "dangerous" software projects that involve machines f.ex. The customer might be interested in the reasons for why he get's a software update. If his system or machine won't work afterwards you might have to explain why. High productivity can be interpreted in several ways: - concerning NDN: many releases with new features and bug fixes each year, introducing less to no new bugs per release, maybe even adding a new OS target someday - concerning my company: selling many machines each year, with hardly any stop times, producing a lot of material the customer can sell Stefan / AH
  17. Annoying Autocomplete Behavior

    Hi Dan! The cursor = TAB feature is pretty old already. You maybe never realized it until now? :) In the last release I only changed the behaviour of start and end of the inputlines. But I found out that this "feature" is not intuitive and I decided to remove it again for the next release. See you, Stefan / AH
  18. Ndn Under Linux And Putty

    Thank you anyway. Stefan / AH
  19. Add *.mp3 Files To Winamp Playlist

    Hello Minimus, you can do this: >1 Add and play in WINAMP set TMPM3U=%TEMP%\winamp.m3u type %1 > %TMPM3U% D:\Programme\Winamp\winamp.exe /play %TMPM3U% You probably need this: Enable File manager setup -> !:!\!.! in Listfiles Unfortunately Winamp doesn't understand "" filenames, therefore: Disable LFN - Setup -> Put in listfiles Stefan / AH
  20. Drive Changing Popup Doesn't Display The Path

    Hi Dan, I am glad that you like it. :P The reason behind this is that when I was adopting the DN driveline feature to LINUX I needed to show information on where the actual drive letter points to. Right now that line doesn't make much sense for DOS/WINDOWS. But imagine that this line would show the UNC path of the selected drive letter. Or any other substitution for a drive letter. So, sooner or later this field will show something useful. For standard drives it could show the current path. Have a nice weekend, Stefan / AH
  21. Annoying Autocomplete Behavior

    Hi Dan. I know of the problem: [-] Smart histories: don't draw over the inputline, draw over window boundaries First of all, it's a Turbo Vision limitation not to be able to draw over the boundaries of the owner of any TV object. This requires me to lift that limit without breaking anything. Second, you may close the history window with ALT or CTRL, or turn off the feature if you don't need it. :P Selecting with CURSOR KEYS additionally to (SHIFT-)TAB was a user wish, which I thought is not that bad. Should it be optional? Stefan / AH PS: I fixed the git priority bug
  22. New Release: V2.31.4712

    Hi Dan, the date of release is correct. I have finished the work on NDN on the 31.8. But when I tested the LINUX version I found a few severe problems that took me some days to get fixed. So I had to release NDN on the 12th... The LINUX compile environment does not auto update the date and version count, therefore the version count and compile date stood still. Does it show exactly the same behaviour as before? Or has it changed? Stefan / AH
  23. New Release: V2.31.4712

    Hi again! I've spotted the first new bug: - the detection of WIN32 GUI executables is broken Stefan / AH
  24. [bug] .exe Apparently Has Precedence Vs. Cmd In Path

    Hi Dan, I think I have fixed the bug. But setting up a test environment for this would take me more time than the fix itself. :P Could you test this again with this archive? http://www.bnhof.de/~ho1459/files/ndn_exec_bin_w32.exe Thank you, Stefan
  25. [bug] .exe Apparently Has Precedence Vs. Cmd In Path

    Hi Dan, you are a pretty lucky guy, since I am currently working on the execution part of NDN to fix another bug. So, I probably will have this fixed next (I already know what the problem is). Thank you, Stefan / AH