AngelsHolocaust
-
Content count
651 -
Joined
-
Last visited
Posts posted by AngelsHolocaust
-
-
Hi!
The network VFS was a quick hack from me for Necromancer.
It is not of high priority for me at the moment, but I put it on my todo list.
It would be also a nice example for plugins, which I want to work on in 2008.
Bye,
Stefan / AH
-
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
-
Hi Dan,
I will release a new version this weekend, maybe you want to retry this bug yourself too. :)
I never have uploaded anything here... aren't you admin in here?
You should also know whom to contact :P
All the best, until sunday,
Stefan / AH
-
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
-
Hey Dan!
Thanks a lot. :)
Stefan / AH
-
Hey Dan.
Strange indeed, exactly the type of bugs you like. :)
Fixed, as well as http://forums.muxe.com/index.php?showtopic=3178.
Thank you for your the reports,
Stefan / AH
-
Hi!
It seems that somethig is different now.
If the alt/ctrl/shift keys didn't work then
a) NDN was quite old or
B) NDN couldn't read the environment variable WINDOWID.
If WINDOWID is not found NDN cannot/will not use X functions
and will not crash.
Bye,
Stefan / AH
-
Hi!!
@RayeR:
Sorry, I didn't have the time to check this again.
@Minimus:
True, I have fixed that.
The CMS unfortunately doesn't update the filetimes automatically, so I have to do it by hand.
Bye,
Stefan / AH
-
Hi RayeR,
since I didn't touch the X or VP LINUX RTL code this behaviour must be random.
NDN always crashes in X with these errors, depending on the console used etc.
Maybe I can find the bug next time I look into this.
Stefan / AH
-
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
-
Hey Serge,
this is known and is related to TAB expansion.
from TODO: - getline should expand/handle tabs fixes highlite problems
Thanks anyway,
Stefan / AH :)
-
Hi!
Sorry, I don't know any other way to change the font size of a console window.
I am glad you were able to set the column sizes as you wanted.
I hope you enjoy NDN,
Stefan / AH
-
Hi
I think i have improved/fixed this, please test again with the next release,
because I was not able to recreate it correctly.
Stefan / AH
-
Hi!
This was viewer only and has been fixed a few days ago.
Stefan / AH
-
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
-
Hi!
Cannot reproduce this in latest version, accidentally fixed?
Stefan / AH
-
Hi everyone!
Is this bug still existing?
Cannot reproduce it in the latest version.
Thank you,
Stefan / AH
-
Hi!
This is because CTRL-E is used as SEARCH AGAIN and CTRL-X as CUT if the
current view (like a listbox in the command history) supports these keys.
The listbox however doesn't support these operations, so the option in the
keyboard setup doesn't modify it's behaviour.
Bye
Stefan / AH
-
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
-
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
-
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:
Stefan / AH
-
Hi!
From the todo:
W32/D32/LNX/OS2/VIRTUAL PASCAL COMPATIBILITIES:
* LNX/W32: printing
Why?
Because I never used it and it is no critical operation.
And I don't have a printer.
If the demand for this is big enough I could give it a try for the next release(s).
Stefan / AH
-
Hi Dan,
I cannot confirm this.
I encrypted a file in W2K and tried to open it in WXP.
The file cannot be opened and correctly prints that to the screen, but there's no crash.
The old file loading opens an empty editor screen.
Stefan / AH
-
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:
Stefan / AH
Archiver.ini
in User's: Questions & Answers
Posted · Report reply
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