Jump to content
Muxe Inc Forums

AngelsHolocaust

Members
  • Content count

    651
  • Joined

  • Last visited

Posts posted by AngelsHolocaust


  1. Hi!

     

    2. Enable Options.Configuration.File Manager.Setup. [ ] [ENTER] executes in VFS

    1. It works with PKZIP32, so it must be a config problem...

    Add Options=1 and try again. (Use long filenames in ZIP-Setup)

    To debug you can enable "Show command line" in the ZIP-Setup.

     

    Good Luck,

    Stefan / AH


  2. Hi everyone,

     

    I am pleased to release the first version in 2008.

    Have fun and thank you all for the support in 2007.

     

    Whatsnew:

     

    ─════┤ v2.31.0000 DPMI32/WINDOWS/LINUX 27.01.08 ├═══════════════════════════─
    [*] added more IFDEF checks for "Reanimator" code, using the define REANIMAT
    [*] added a few more comment macros to C/C++, Java, C#, PHP, Lua, JavaScript
    [!] D32 makefile.dos: added define which specifies the dos extender: DOS_EXT_*
         -> DOS_EXT_DOS32A, ...
    [!] single year/version number reference in code (use in tvhc, ndn, rpc...)
         -> added main.CurrentYear, NDNYears and NDNYearsAH constants
         -> converted all date/version code to use the constants in main
    [*] W32 new contray code by Vladimir Bochkarev:
         [-] tray code never restored the window in maximized state
             -> SW_SHOW instead of SW_RESTORE
         [+] Fullscreen menu command, animation
    [*] added timedate.GetWeekdayString(), replaced code in
         calendar.TCalendarView.Draw() and gauges.TClockView.Update()
    [+] from now on NDN will be released in self extracting archives (Garl)
         (yes, the LINUX archive has an EXE extention on purpose)
    [-] "Options.Load ini file" didn't redraw the screen [A]
         -> added RedrawForce to dnutil.TDnApplication.HandleCommand().cmLoadIni
    [+] added memory.Mem(Get|Free)() and memory TMemStorage, for easier memory
         buffer handling
    [*] replaced commands.dlArcMsg4 with commands.dlFBBNoOpen, since they had
         the same text except for a 'the'
    [!] moved the -$M<minstack>,<maxstack> from makefile.dos to ndn.vpo, because
         it the commandline length limit of maker was reached
    
    HEADER VIEWER
    [-] MZ-Overlay calculation in viewhead.tMZ.CalcOverlayStart() was wrong [A]
    [+] added Go32Stub support, which is a LE/LX compatible format with different
         ID ('L'#01)
    [+] code will now use the Overlay start offset if the NewExe offset seems invalid
         -> added viewhead.tMZ.GetNEOfs()
    [-] LE/LX and ELF dialog handling corrupted memory [A]
         -> viewhead.tLE.EntryPoint() and viewhead.tLE.GetHdr() used more than
            LE_OBJECT_COUNT*viewhead.tLE.ObjTable entries
         -> viewhead.tELF.EntryPoint() and viewhead.tELF.GetHdr() used more than
            ELF_PRGHDR_COUNT*viewhead.tELF.PrgHdr entries
    [-] viewhead.HdrInit() didn't correctly setup tHdr.SubExeType [A]
    
    ARCHIVES
    [+] added support for Go32Stub SFX archives (DOS RAR f.ex.)
         -> modified archiver.SkipSFX() by using the overlay start ofs
            instead of the new exe ofs if it's invalid
         -> added a new exe header ID 'L'#01
    [+] added (uncompressed!) ELF SFX support (tested with Linux RAR SFX)
         -> added ELF check to archiver.SkipSFX()
         -> doesn't work with UPXed RAR SFX for example
    
    VIEWER
    [-] HEX/DUMP: goto offset and goto bookmarks didn't work correctly [A]
         -> fviewer.TFileViewer.MoveToOfs() didn't handle buffer position
            offsets correcty
    [-] Modified file, [ESC], No button -> always repeated the MessageBox() [A]
         -> fviewer.TFileViewer.WriteModify() didn't clear the Modified flag before
            executing the cmNo code -> the MessageBox() as recursively executed
    [-] HEX/DUMP/ASM: Creating blocks with mouse on the first or last line on
         screen didn't work [A]
         -> modified fviewer.TFileViewer.HandleEvent().evMouseDown so the view
            scrolling (pressed mouse button) only works when moving over the viewer
            boundaries
    [-] SaveAs [SHIFT-F5]: didn't close current file and open the saved one [DNOC]
         -> modified fviewer.TFileViewer.HandleEvent().cmReanimator to open
            the new file after saving
         -> moved the code from cmReanimator to cmSaveTextAs
    [-] vmDump/Hex: couldn't enter $00-$31/$ff from from ASCII-Table (Dandv) [DNC]
         -> fviewer.TFileViewer.HandleEvent() keyboard code didn't allow the above
            charcodes, now checking for ALT/CTRL in Event.Shiftstate
    [-] not fully loaded files didn't support *.BAK files [A]
         -> in fviewer.TFileViewer.WriteModify(): copyfile instead of renaming
            before saving using vpsyslow.SysFileCopy()
         -> error message if the backup couldn't be created
    [*] merged fviewer.TFileViewer.HandleEvent().Windows(Copy|Cut|Paste)() into
         fviewer.TFileViewer.HandleEvent().(Copy|Cut|Paste)Block()
    [-] header display didn't work if more than 1 file was loaded into viewer
         on startup and the last file loaded had no supported header [A]
         -> moved cmViewHeader enable/disable code from fviewer.TFileViewer.ReadFile()
            to fviewer.TFileViewer.SetState()
    [-] Scrollbar handling was not based on the current position, but always on the
         view window position into the file (Slavka) [DNOC]
         -> improved the TScrollBar.Value handling, it is now based on the current
            view mode using cmChangeValue with fviewer.TFileViewer.CurrentPos() in
            fviewer.TFileViewer.DrawScrollBar()
         -> added DrawScrollBar to fviewer.TFileViewer.HandleEvent().CED()
         -> added fviewer.TFileViewer.Awaken(), which correctly sets up
            fviewer.TFileViewer.ScrollBar after load; removed scrollbar setup code
            from fviewer.TFileViewer.ReadFile(), Awaken() is called manually in
            fviewer.TFileWindow.Init()
         -> with Awaken() the need for fviewer.TFileViewer.Loaded was gone, therefore
            removed the boolean and all references in fviewer and
            histries.RestoreViewInfo()
         -> TScrollbar.Max is now correctly initialized with Filesize-1
    [+] added fviewer.TFileViewer.GetSelection(), which returns selection data
         in a buffer, handling data on disk AND inside the currently loaded buffer
    [+] Copy to/Paste from file operations [CTRL+ALT+F5/F4]
         -> added fviewer.TFileViewer.PasteFromFile(), CopyToFile() and
            cmBlock(Read|Write) to fviewer.TFileViewer.HandleEvent()
    [-] reloading a file from viewer opened archives or external viewers [A]
         (Dandv/Necromancer)
         -> fviewer.TFileViewer.HandleEvent().Reload() provided -1 instead of
            the current viewmode to dnutil.TDNApplication.ViewFile()
    [-] syntax highlighting was wrong in some cases if there was no EOL before
         the EOF (Dandv) [A]
         -> fviewer.TFileViewer.CountLines() didn't correctly use LineCount
    [-] vmDump/Hex/Asm: [DEL] at the EOF of files which were not fully loaded
         behaved like [BACKSPACE] [A] (Dandv)
         (http://forums.muxe.com/index.php?showtopic=526)
         -> edit operations on not fully loaded files force a reload of the file,
            which acesses the histories, but the history did not store and restore
            the position in the file but cursor position on screen
         -> now (re)stores the file instead of the cursor position in
            histries.StoreViewInfo() and histries.RestoreViewInfo() by
            using fviewer.TFileViewer.MoveToOfs() and CurrentPos()
    [*] better buffer calculation: align to even boundaries except if forced
         by the user
         -> fviewer.TFileViewer.MoveToOfs() didn't correctly detect if the file
            position is already on screen and it didn't align correctly
         -> fviewer.TFileViewer.SeekEOF() was improved by using MoveToOfs()
            and removing unecessary code
    [-] Cursor/file position was not correctly restored on NDN restart [DNOC]
         -> fviewer.TFileViewer.(Store|Load)() only (re)stored FilePos+BufPos,
            they now use fviewer.TFileViewer.(Currentpos|MoveToOfs)() respectively
    [-] vmAsm/Dump/Hex: deleting a block from the end of the block position
         didn't advance the cursor correctly to the start of the block [A] (Dandv)
         (http://forums.muxe.com/index.php?showtopic=524)
         -> fviewer.TFileViewer.HandleEvent().kbDel didn't move the cursor to the
            block start correclty
    
    EDITOR
    [*] merged microed6.EditorHandleEvent.cmWindows(Cut|Paste|Copy) into
         microed6.EditorHandleEvent.cm(Cut|Paste|Copy)
    [-] Undo/Redo behaviour in case of single line block deletion was wrong [A]
         -> complete line after the deleted block was appended on undo after a redo
            to the existing line
         -> modified single line behaviour in micro_2.EdConvert4do().dkUndo.udDelBlock
    
    EDITOR/VIEWER
    [+] Append to clipboard operation: clipboard copy/cut + [SHIFT/CTRL] appends
         the new data to the clipboard instead of replacing
         [CTRL-SHIFT-C/X/INS/DEL]
         -> improved winclp.__SetWinClip()
         -> modified fviewer.TFileViewer.HandleEvent().*CopyBlock() and
            micro_1.EdCopyBlock() not to always delete the old clipboard data
         -> modified microed.TFileEditor.GetSelection(), microed3.EditorGetSelection()
            and all references to these functions to support copy into existing clipboard
            data
         -> modified microed6.TFileEditor.HandleEvent().cm(Clear|*Cut|Copy) to support
            the new appending hotkeys
    [-] "Opening locked file" bugs, if
         Options.Configuration.Editor."New file loading" was disabled [A] (Dandv)
         A = System Setup.[X] Internal Editor B = System Setup.[X] Internal Viewer
         C = Editor Setup.[X] Auto codepage
         * ABC: Viewer error message, Editor opens empty file
           -> microed2.EditorReadBlock() (old code) used a constant error value
              of 2 if S^.Status <> stOK, now uses S^.ErrorInfo which holds the
              correct error code of the function
         * AB: Viewer error msg, Editor error msg but crash afterwards
           -> microed2.EditorReadBlock() (old code) disposed keymap.TCodePageDetector
              even though it was not used
         * other combinations don't show any errors anymore
    
    LFN
    [*] D32: put LFN open/create code into vpsysd32 [V]
         -> removed lfn._SysFile(Open|Create) by updating vpsysd32.SysFile(Open|Create)
         -> moved Options.Configuration.System Setup.[ ] Don't Use LFN to
            Options.Configuration.Miscellaneous Setup.Operating System to support
            LFN code also in the RTL, removed commands.ossaNoLongNames, added
            commands.osNoLFNCode
         -> every target now uses vpsyslow.SysOptions instead of
            startup.MiscMultiData.OSSetup.Options
    
    CLOCK
    [-] AM/PM was not shown when seconds were disabled [DNOC]
         when AM/PM was enabled the clock was not fully displayed
         -> rewrote gauges.TClockView.FormatTimeStr()
    [-] clock placement with various options was not correctly handled [NC]
         * D32: time/date in top corner truncated on cmdline exec (Rugxulo)
         * start of NDN with 12 hour format moved the clock view to the right
         -> added gauges.TClockView.InitAuto() which uses the extent of the
            desktop and calculates it's boundaries internally, used in
            dnutil.TDNApplication.Init()
         -> added gauges.TClockString
         -> added gauges.TClockView.(ResetView|Relocate)(), replaced code in
            dnutil.TDNApplication.RetrieveDesktop()
         -> replaced the gauges.TClockView.OldShowSeconds code with
            gauges.TClockView.OldStdClockWidth, which checks the clock size and not
            the options of the clock
    [+] command: move clock to starting place ("=" menu)
         -> added commands.cmResetClock and =.Reset clock position,
            handled in dnutil.TDnApplication.HandleCommand()
    [-] clock was not always placed correctly, see big screens in Linux (AdminZ) [?]
         -> added cmVideoModeChanged check to gauges.TClockView.HandleEvent(),
            which checks the clock placement on each start or mode change
         -> removed clock code from dnutil.TDNApplication.RetrieveDesktop() and
            dnutil.TDnApplication.HandleCommand().SetScrMode()
    
    CALENDAR
    [*] Calendar is now selectable like any other window on the desktop
         -> added stdefine.CALENDAR_SELECT, which signals the new code in
            calendar.pas
    [*] Activating calendar when it's already selected (topmost window) closes it
         -> modified calendar.InsertCalendar() to check it's current state
    
    TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES
    [+] added objects.TRect.Contains(Rect|View)() which can be used to
         check if view is completely in TRect, used in
         dnutil.TDNApplication.RetrieveDesktop()
    
    SCREEN/VIDEOMODES
    [+] added dnapp.TProgram.SignalVideoModeChange(), which broadcasts
         cmVideoModeChanged to the Application (not Desktop anymore),
         used in dnutil.TDNApplication.Init() and dnapp.TProgram.SetScreenMode()
         -> added video.TVideoModeChangeInfo, which holds the old and new video mode
            information; auto updated by video.SetCrtData()
    
    DNEXEC/EXTERNAL VIEWER/EDITOR DNEXEC.EXECUTEFILEEXT/LOCAL_GLOBAL_MENUS
    [-] W32: new processes were started with hard errors disabled, resulting in no
         message boxes when DLLs were not found [V] (Dandv)
         -> added CREATE_DEFAULT_ERROR_MODE to SysExecute().dwCreationFlags

     

    download: http://ndn.muxe.com/download/

     

    Stefan / AH


  3. Hi.

     

    Everything is possible since NDN still treats A/B drives as disk drives (-> a little bit different!).

    A similar problem is already in the todo list.

     

    Maybe you can provide me with a link to an archive which i can use to boot from usb?

     

    Stefan / AH


  4. Hey everyone.

     

    This time there's a little more news than the past 3-5 releases.

    At the moment I am working on the viewer, unfortunately I couldn't fix more problems

    for this release, but the next release wil have a pretty much usable viewer.

     

    Whatsnew:

     

    [+] DEBUG ONLY: added /DBG_NO_CFG_WRITE_ON_EXIT (/DNCWOE) to prevent NDN
         from saving any configuration and history data
    [!] rewrote 0mk.bat & tools/#mk.bat (no more mistakes in D32 resources)
    
    EDITOR
    [*] "Unmark Block" undo/redo was not working good enough
         -> improvments to micro_2.EdConvert4do(), EdMakeUndo() and
            EdMakeRedo()
         -> Blocks aren't cleared anymore on Un/Redo if no Un/Redo-record exists
    [-] New (empty) file save crash: Force CRLF at EOF (zlatan tajic) [A]
         -> sblocks.TBlocker.LocateIndex() didn't check for boundaries
    [-] New (empty) file save error: line counter becomes 0 and no more data
         can be entered without reloading the file [A]
         -> Options ADelTrailingEmptyLines (OptimalFill) created that problem in
            microed.WriteBlock(), now ignores files with lines < 2
    [-] Options.Configuration.Editor setup."Force CRLF at EOF" didn't work when
         a file was opened on NDN startup [A]
         -> microed2.EditorLoad() didn't handle microed.TEditOptions.ForceNewlineAtEOF
            correctly, the value was initialized at all
    [*] Merged [CTRL-F8] cmPrintFile & [SHIFT-F8] cmPrintBlock into
         [CTRL-F3] cmPrintBlock: print whatever is marked or whole file
         -> [CTRL-P K] didn't work, fixed
         -> modified micro_4.EdPrintBlock()
    [+] XLT support (Eugeniusz Kosek)
         -> converted microed2.EditorInit() and EditorLoad() to functions returning
            success via a boolean
         -> removed microed.TFileEditor.KeyMapConvertStr()
         -> using keymap.TXLat
    [-] new file loading bugs [A]
         * tab replacement: TMemReader.GetData() didn't correctly place spaces
           in place of tabs, needed to take current position and align to TabSize
         * CRLF: TMemReader.GetData() didn't use the WasCRLF boolean for line
           continuation evaluation
    
    EDITOR/VIEWER/DBVIEWER/WKZVIEWER(Spreadsheet)
    [*] merged XLat code from dbfview & fviewer
         -> transparent support for previous history versions of the (dbf)viewer,
            the XLat/keymap settings will be lost however
         -> created keymap.TXLat object, added objtype.otXLat and inc\keymap.reg
            to dnutil2
         -> removed a lot of duplicate code from dbfview and fviewer
    [-] editor/viewer infoline drawing not correct when reducing window x size [NC]
         -> extended size.x check in fviewer.TViewInfo.Draw() and
            microed7.InfoLineDraw()
    [*] Save File As: use current file name as default instead of *.*
         and/or ignore operation if the same filename has been chosen
         -> modified...
            * microed2.EditorSaveFileAs(), microed2.EditorOpenFile(),
              microed2.MicroEd2.EditorBlockWrite()
            * spreadsh.TCalcView.HandleEvent().ExportToFile(),
              spreadsh.TCalcView.HandleEvent().cmOpen,
              spreadsh.TCalcView.SaveSheetAs()
            * fviewer.TFileViewer.HandleEvent().cmReanimator,
              fviewer.TFileViewer.HandleEvent().cmViewNewFile
              replaced cmSaveAll with cmSaveTextAs
         -> replaced spreadsh.GetFileName() with dnstddlg.GetFileNameDialog()
            in spreadsh and dnutil.TDnApplication.HandleCommand().LoadSheet()
    [-] XltMenu sorted in wrong direction (Vladimir Bochkarev) [NC]
         -> improved code in keymap.TXlat.LoadXlatMenu() by using a
            sorted list and removing multiple lfn.lFind(First|Next|Close)() calls
    
    TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES
    [+] realtime inputline histories while typing (idea from Opera browser)
         -> modified dialogs.THistory|THistoryWindow|THistoryViewer and
            added histlist.HistoryStrPtr()
         -> new define stdefine.USE_NEW_HISTORY to signal new code
         -> added Options.Configuration.Interface.New Inputline Histories and
            commands.ouiNewHistory
         -> the old history operation is still supported (Mouse or [CURSOR DOWN])
         -> turned on by default
    [*] views.TListViewer now can select/focus no item unless user movement
         -> added views.TListViewer.(FocusItemNone|IsFocusedNone) and
            views.lvFocusedNone
    [*] Inputlines: Delete line [CTRL-Y] switches between empty/previous content
         -> dialogs.TInputLine.HandleEvent().^Y using undo code if the line
            is empty
    [-] MessageBoxes: crashed if no TUI initialized (dnapp.Desktop) [DNOC]
         -> handle uninitialized TUI, output errors to console
         -> added messages.WriteToConsole(), which checks the TUI and writes to
            console if needed, used in messages.MessageBox() and MessageBox2()
         -> renamed advance0.ruk to RepeatUntilKeypressed, used in
            messages.WriteToConsole(), drivers6.ReportFatalError()
    
    COUNTRY SETUP
    [+] Upcase table now allows to use the ascii-table [CTRL-B]
    [+] get the country information from the operating system
         -> automatically used on first run of a new NDN install (VirginDN)
         -> improved english Options.Configuration.Country support dialog layout
         -> added 1$0 currency format (code support)
         -> W32 code partially from DNOSPW
         -> added country.pas with functions to fill startup.CountryInfo
         -> LNX: added csource/locale.lib/locale.c which is compiled into
            a shared object, used to access glibc functions
    
    VIEWER
    [-] DUMP/HEX: no redraw when changing window size [A]
         -> added fviewer.TFileViewer.DoHexPos() to fviewer.TFileViewer.Draw()
            in the vmHex/vmDump modes to recalculate the data x size
         -> rewrote DoHexPos(), using it in fviewer.TFileViewer.CurrentYPos()
    [-] DUMP/HEX/ASM: additional bytes displayed after EOF (Zaimskih) [A]
         -> fviewer.TFileViewer.Draw() in the vmHex/vmDump modes used a wrong
            variable (L instead of J) to calculate the data count for each line
         -> vmAsm used D.Offset instead of L
    [-] Relative goto didn't work anymore [A]
         -> temporary variable tmp0 in fviewer.TFileViewer.HandleEvent().cmGotoCell
            was overwritten for some unknown reason, now using
            fviewer.TFileViewer.CurrentPos() directly
         -> improved the dialog: using +/- in front of the number signals a relative
            goto, removed the absolute/relative radiobuttons and
            fviewer.TFileViewer.GotoAdd.Mode
    [*] code cleanup: removed old commented code
    [-] no main menu access when "rdonly or buf = nil" -> Write(BelChar); [NC]
         -> removed the unused fviewer.TFileViewer.RdOnly & no more belchar sound
         -> keypresses which do not create any readable characters will
            be ignored: Charcodes 0-31 + 255
    [*] TEXT: reset X position to 0 on wrap change
         -> fviewer.TFileViewer.HandleEvent().cmUnWrap sets XDelta to 0
    [-] TEXT: * Tabs were treated as CRLF (Dandv/Avchent) [A]
         * In the Viewer, some tabs are not showed (naX)
         * viewing a file with tabs in wordwrap mode hides the tabs (DandV)
         -> modified fviewer.TFileViewer.MakeLines(): removed local P1/P2,
            fviewer.TFileViewer.TabSize was not correctly read in the asm code,
            improved the asm code by removing the division
    [-] DUMP/HEX/ASM: disabled [F2] (user menu)
         -> [F2] is intercepted in fviewer.TFileViewer.HandleEvent().evKeyDown.kbF2
    [-] first search result was never highlighted (Garl) [A]
         -> fviewer.TFileViewer.HandleEvent().cmSearch|cmReplace did another
            screen redraw, which cleared the displayed result, CED -> CE
    [-] delay before viewing (Dandv) [N]
         http://forums.muxe.com/index.php?showtopic=536&st=0�entry1528
         -> could not reproduce with latest versions
    [-] TEXT: crash in wrap mode when switching to ASM,[CTRL-PGDN] and
         switching back to TEXT (Dandv) [A]
         http://forums.muxe.com/index.php?showtopic=523
         -> could not reproduce with latest versions
    [-] following bug couldn't be recreated, probably fixed by accident: (Minimus)
         open my log file in Viewer and go to the end (press Ctrl-End) NDN crash.
         -> http://www.filefactory.com/file/8ac0ce/ -> F:\NDN\SOURCE\!bugs\1cv7.zip
    [-] vmAsm: crash when [DEL] 2 times on EOF [A]
         -> fviewer.TFileViewer.HandleEvent().kbDel didn't call MakeLines()
         -> also added this call to kbIns, which enables to move cursor
            into the newly added bytes
    [-] DUMP/HEX/ASM: DEL'ing a whole line changes to BOL not EOL (Dandv) [A]
         -> fviewer.TFileViewer.HandleEvent().kbDel now calls @Self.kbLeft before
            redraw to correctly set the cursor
    [-] freed window related F? hotkeys (BMW) [A]
         -> modified english/russian/serbian ndn.dnr.STATUSLINE.hcView
            [CTRL-F2..F4] -> [ALT-CTRL-F1..F3], [CTRL-F5] -> [CTRL-F2]
            cmClose -> [CTRL-F4], cmResize -> [CTRL-F5]
    [-] paste didn't work anymore [A]
         -> fviewer.TFileViewer.HandleEvent()._PasteBlock() didn't get line 0
            from clipboard but line -1
    [-] buffer problems http://forums.muxe.com/index.php?showtopic=580 (GPFault)
         * 1.1 after paste/[INS] [ESC] exits w/o confirmation
           -> couldn't be recreated
         * 1.2 If file is or become empty pressing a key results in crash
           -> couldn't be recreated
         * 2.1 Block delete(Ctrl+Del) delete extra symbol after block too if file
           size is greater than buffer size
           -> fviewer.TFileViewer.HandleEvent().kbDel.not FullyLoaded removed 1
              byte too much
         * 2.3 DUMP/HEX/ASM: deltas are not subtracted from block ofs, resulting in bad
           block selection f.ex. when going to EOF with [CTRL-PGDN] or after moving
           the view w/o cursor with [CTRL-LEFT/RIGHT]
           -> fviewer.TFileViewer.Draw() block drawing code didn't compute the
              block offsets correctly
         * 2.4 all view modes: Last char in (buffersize+1)byte file is always shown as #0
           -> couldn't be recreated
         * 2.5 all view modes: If buffer size is set to small value (100) files with size
           more than buffer but less than 32768 are shown as empty files
           -> couldn't be recreated
         * 2.2 Block copy didn't handle block sizes > buf size; complete code was
           incorrect (GPFault) [A]
           -> rewrote fviewer.TFileViewer.HandleEvent()._CopyBlock() by handling
              every possible layout
           -> problems with block paste remain!
    [*] Options.Configuration.Viewer.Buf size allowed to enter buffer sizes below
         the default buffer size ($8000)
         -> modified setups.SetupViewerDefaults() to check the value before and after
            opening the dialog
    [-] blocks were lost on window change with [CTRL/SHIFT-TAB] or kbd input [A]
         -> standard and unhandled keyboard input set Block.Open to FALSE
            unconditionally in fviewer.TFileViewer.HandleEvent(), replaced
            with DoBlock() and moved to the content changing keyboard code
    [-] persistent blocks didn't work correctly [A]
         * persistent blocks were drawn, but not valid
           -> moved the persistent block checks from fviewer.TFileViewer.Draw() to
              fviewer.TFileViewer.HandleEvent().DoBlock()
         * blocks weren't reset on new [SHIFT+CURSOR] marking
           -> DoBlock() remembers and checks the previous ShiftState
    
    SPREADSHEET
    [-] file export/save to text didn't save any data to non existing files [NC]
         -> added fileio.ClrIo() to spreadsh.TCalcView.HandleEvent().ExportToFile()
            to clear IO errors
    
    KEYBOARD
    [*] Improved [CTRL-ALT-F1..F12] keycode generation
         -> removed 2 keycodes (CTRL-ALT-F1/F2) drivers.from MaxKeyCodes,
            drivers.MyKeyShiftCodes and drivers.MyKeyScanCodes
    
    FILE PANEL
    [-] Info line: missing space between filename and filesize if
         'No extra LFN line' off and length of filename exactly fitting between
         border and file size string [A]
         -> vfs_drive.TDrive.GetDown() provided wrong value to stringsx.CutBeg(),
            added -1
         -> stringsx.CutBeg() added bytes to the length instead of 1, resulting in
            2 spaces instead of 1
    
    RCP/RESOURCE
    [*] new option to ignore unused strings in ndn.dnl: /IGNOREUNKNOWN
         -> modified defcoll.TDefCollection.Init() to support multiple options
         -> added rcp.bIgnoreUnknownIdentifiers, used in
            rcp.ProcessDLs()

     

    download: http://ndn.muxe.com/download/

     

    Stefan / AH


  5. Hello!

     

    Fonts:

    You cannot change the fonts from within NDN.

    But you can do that via the window properties,

    the second Tab (in Win2k) let's you chose the font type and size.

     

    Screen:

    There are a lot of possiblities to change the panel setup.

    Do you mean the colors?

    Or the column information?

     

    Stefan / AH


  6. Hi again!

     

    I understand, and, if I ever have enough time to look into the NT-DPMI32 problems

    I will do it.

     

    I cannot promise anything though. :(

    To be true, this is of really low priority, as this is more of an optimization thing.

    The DPMI32 <-> NT interface (not inside NDN code!) is really slow.

    Maybe I can do some tests with other DOS Extenders.

    But don't count on it.

     

    Sorry but thank you for your interest,

    Stefan / AH


  7. Hi RayeR.

     

    Yes, WinNT+ automatically uses command.com for ANY DOS program.

    No matter if you used CMD.EXE to start NDN.

     

    I still added the item to the todo list.

    If there is really a problem I will fix it, but I must recommend to use

    the Win32 version for WinNT+. It's not only more compatible ith the NT line

    but also MUCH faster.

     

    If there's a problem with W98, please report it.

     

    Thank you,

    Stefan / AH


  8. Hi all!

     

    Again sorry for the delay. I will start to work on 5.11.2007.

    This should put my work on NDN back to more regular time frames.

     

    Whatsnew:

    -------------

    [*] improved the Options.Configuration.Global setup dialog

    -> moved duplicated Inputline code from setups.GlobalSetup() to

    ndn.dnr.dlgGlobalSetup

     

    FILE PANEL

    [-] '$#' macro characters in file names were not correctly handled [A] (Garl)

    -> usermenu.MakeString() now restores the 3 macro characters after

    all replaces have taken place

    [*] Options.Save/Load desktop didn't save histories

    -> added dnutil3.(Load|Save)Histories to

    dnutil.TDnApplication.HandleCommand().cm(Load|Save)Desk

    [-] disk size on panel frame was missing first space (and '<' of file mask

    display) [A]

    -> flpanel.TDriveLine.Draw() wrote one frame char too much, added -1

    to Size.X-for-loop

    [*] file extensions > 3 characters are better handled in the advanced filter dialog

    -> changing columns of the ListBox inserted into ndn.dnr.dlgAdvancedFilter

    according to fit the largest file extension

    -> added MaxExtensionSize to fltools.CM_AdvancedFilter().GetMaskSelection()

     

    SCREEN/VIDEOMODES

    [-] LNX T: fixed the Linux kernel bug "remaining cursor on screen" when

    writing directly to VCSA files [Y]

    -> Options.Configuration.Misc setups.Operating System.Direct Screen writes

    now also controls the VCSA access for the cursor position

    -> vpsyslnx.SysTVSetCurPos() rewrites the previous cursor position in the

    Linux console, if enabled (Operating System.Fix VCSA cursor bug)

    -> added vpsyslow.tSysOptions.soFixVCSACursorBug

    -> added commands.os* Operating system setup options, according to

    vpsyslow.tSysOptions()

     

    HISTORIES

    [+] added history load and save to the main menu History

    -> added commands.cm(Load|Save)Histories, History.(Load|Save) all Histories

    -> renamed and moved microed2.LoadCommands() to microed2.LoadEditorCommands()

    -> added histries.CleanHistoryAtExit() to histries.LoadCommands()

     

    TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS

    [*] Inputline: toggling on/off if the complete line is already selected

    -> modified dialogs.TInputLine.HandleEvent().cmMarkAll

     

    EDITOR/VIEWER

    [*] toggle on/off "Mark all text" if already all selected

    -> modified microed6.EditorHandleEvent().cmMarkAll

    -> modified fviewer.TFileViewer.HandleEvent().cmMarkAll

     

    DBF VIEWER

    [-] Double (B) field show fix {G}

    [+] Alt-F6 - Edit current field name {G}

     

    EDITOR/VIEWER/DBVIEWER/WKZVIEWER

    [*] left/middle/right mouse buttons didn't behave consistently,

    should be like in the internal editor:

    left = move cursor and mark, middle = move cursor only,

    right = use the ruler, moving cursor should also work when crossing

    the current window bounds with pressed mouse button

    -> editor: nothing to do, but removed unused

    microed.TFileEditor.RulerVisible and corresponding code

    -> viewer:

    * fviewer.TFileViewer.HandleEvent().DoBlock() uses mbLeftButton

    * added ruler usage to fviewer.TFileViewer.HandleEvent() in

    the evMouseDown block

    * commented MouseInView() usage in fviewer.TFileViewer.HandleEvent() in

    the evMouseDown block and using >=/<= for the boundary checks

    -> dbviewer:

    * commented MouseInView() usage in dbview.TDBViewer.HandleEvent()

    * added ruler usage to dbview.TDBViewer.HandleEvent() in

    the evMouseDown block

     

    EDITOR

    [+] undo unmarking of blocks: restore an unmarked block

    -> non-persistent blocks only

    -> added microed.udUnmarkBlock (micro_1, micro_2, microed, microed4) and

    microed.udNoModifyOperation[], used in microed4.EditorStoreUndoInfo()

    [+] option: force newline at EOF (ANSI C)

    -> added commands.ebfForceNewlineAtEOF and editor highlight option

    "ForceNewlineAtEOF";

    used in microed2.EditorSaveFile(As)(), operation in microed2.WriteBlock()

    -> default for C/C++ in ndn.hgl

    [*] navigate the cursor/screen with the middle mouse button without marking

    -> micro_3.EdHandleMouse() only enables marking when using left button

    [-] Replace operation: "[ ] Show Replacement" didn't work correctly as the old

    view wasn't fully restored [A]

    -> added OldPos handling to microed5.EditorSearch()

    [-] Replace operation: "[ ] Show Replacement" cursor move (left, right, up, down)

    after operation start moved the file position to last replace [A]

    -> added microed.TFileEditor.ScrollTo() to if option off microed5.EditorSearch()

    [-] Block move in overwrite mode overwrote text (zlatan) [DNO]

    -> micro_1.EdMoveBlock() ignores microed.TFileEditor.InsertMode

    [-] pasted bracket pairs did not highlight without cursor move (GPFault) [A]

    -> microed3.EditorInsertBlock() now updates microed.TFileEditor.WorkString

    at the end of the operation

    [-] Editor menu->Main menu switch with mouse didn't work (2 * 10Menu) [A]

    -> commented the reference to cmMainMenu in menus.TMenuView.Execute()

    and menus.TVideoMenuBox.Execute()

    [-] LNX: "Open file under cursor" (SPF) didn't work with paths like "~/..." [A]

    -> vpsyslnx.SysFindFirst() didn't correctly replace a leading '~/' with

    the actual home directory

    [*] search for empty matches/lines in normal search

    -> commented the microed5.EditorSearch() check for empty search strings

    -> added custom check for empty strings on empty buffers to

    stringsx._SearchFor() and stringsx._BackSearchFor()

    [-] goto previous/next paragraph unmarks blocks [A]

    -> removed micro_1.EdBlockOff() from micro_3.EdFindParagraph()

    [+] Operation: Delete empty lines in block [CTRL-P Y]

    -> added Editor menu "Block.Delete all empty lines", hgl macro command

    DelEmptyLines, commands.cmDelEmptyLines, code to micro_1.EdHandleBlockCmd()

     

    VIRTUAL FILE SYSTEMS (VFS)

    [-] stack overflow crash if path is too long after appending \ and *.* in special

    cases (Eugeniusz Kosek) [DNC]

    -> stringsx.AddStr() didn't check the length of the string it tried to add to

     

    download:

    http://ndn.muxe.com/beta

     

    Stefan / AH


  9. Hi everyone.

     

    Sorry for the long delay, but I simply did not have enough time.

    I am still not finished with my thesis, but the worst part is done.

     

    There's not much news for this release.

     

    What's new:

    --------------

    [*] added "`" (#96) to dialogs.BreakChars

    [*] put Volume Label code into disk.DriveInfo() and removed

    SysGetVolumeLabel(Ex)() references, added disk.DriveInfo.GetVolumeLabel()

    [*] Highlight: added a Latex highlight for part/section etc...

    [*] added .JAR extension to the extension file

     

    LFN

    [*] D32: added LFN open/create access/sharing modes and completed

    vpsyslow data open_* constants

    -> removed lfn.fa* constants

     

    FILE PANEL

    [-] TeamView ([ALT-CTRL-A] then [ALT-I]) was too fast and background color

    of names was not equal to the dialog background (Garl) [N]

    -> infopane.TTeamView.Init() now uses 1/4 Second instead of 30 Ticks

    to update view

    -> TTeamView.Draw() always used light grey as BG color; additionally

    the random color code was improved and simplified

    [-] Dir Compare: when not recursing, dirs were still selected if

    'Select equal files' was off [A] (anbrx)

    -> fltools.CM_CompareDirs().Cmp_0() didn't check for file/directory

    after inverting (== not equal) the find result

    [-] "cd <path+file>" from VFS didn't work [A]

    -> flpanelx.TFilePanelRoot.CommandHandle()._DoChangeDirectory() now uses

    ReplaceDrive()

    [-] notification for directories was not updated when changing to root [A]

    -> vfs_driv.TDrive.ChangeRoot() didn't use notifyd.Notify(Delete|Add)();

    now uses vfs_driv.TDrive.ChDir()

    [*] complete rewrite (code removal and simplification) of

    vfs_driv.TDrive.ChangeRoot() by using disk.TDriveInfo.GetDrive()

    [*] disk.TDriveInfo.GetDrive() now always returns drives without SysPathSep

    [+] LNX: read and display FAT/NTFS disk volume labels

    -> created/added bootsect unit (FAT/NTFS scanning code)

    -> added vpsyslow.SysGetVolumeLabelEx(ShortString), which uses

    vpsyslow.SysGetVolumelabel() in D32/W32/OS2

    -> absolute disk reads via /dev/hda1 ...

    -> used in flpanelx.TFilePanelRoot.CommandHandle()._DoCtrl() [CTRL-LEFT/RIGHT]

    disk.GetSerFileSys() (info panel)

    -> added disk.TDriveInfo.GetDriveTypeString()

    [*] W32/D32: Opening explorer [CTRL-F] on UNC drives writes an error message

    (Dandv), force redraw (Garl)

    -> dnexec.NDNExec() now uses video.UpdateScreen() to redraw

    [+] W32/D32: [CTRL-SHIFT-F] now "selects" the current directory

    -> flpanelx.TFilePanelRoot.CommandHandle().cmOpenInExplorer

    checks for kbShift

    -> added ForceSelect:Boolean to

    flpanelx.TFilePanelRoot.CommandHandle()._OpenExplorerWindow()

     

    CALCULATOR

    [-] ASIN() & ACOS() were wrong on certain values (0.9 ...) [A] (Slavik,Rycho)

    -> calc.ArcTan() returned 1 for all x > 1

     

    EDITOR/VIEWER

    [+] Goto file on RMB click on title, between [1] and []

    -> added cmFindGotoFile message to views.TFrame.HandleEvent()

    -> added cmFindGotoFile only reacting if no filename provided

    to fviewer.TFileViewer.HandleEvent() and

    dbfview.TDBViewer.HandleEvent()

     

    DBF VIEWER

    [-] Fix slow table draw with '@' and 'T' field (DateTimeToStr()) {G}

    [+] Add DataBase viwer defaults setup window {G}

    [*] Indicator update {G}

    [*] cleaned unused variables {G}

    [-] Viewing memo disabled DB tech info view (Garl)

    -> added custom constructor fviewer.TNFileViewer.Init() handling

    commands

    [-] Changing the xlat encoding was not displayed in the info line [X]

    -> dbfview.TDBViewer.Draw() didn't redraw the info line correctly

     

    download:

    http://ndn.muxe.com/beta

     

    Stefan / AH

×