May 04, 2024, 07:43:49 AM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


iHexRes

Started by WayneA, December 20, 2008, 12:25:47 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WayneA

Hello Everyone,

This is my not-so-famous project from 2005 (I think, I am bad with dates) in IBPro. This was actually the first project Bevets and I worked on together. I call this version "iHexRes[urrection]" because I have made some minor changes to it since Bevets passed. The last version we both worked on will forever be the official, original iHex (I've included that version below, as well).

I have never been happy with the available hex editors, so I sat down one day and designed this. I think you'll find it is very different from all others. Additionally, it is very fast because it only loads into memory the bytes that are being displayed at that time. There are 2 search functions available. The "memory" based search function loads the entire into memory and just does an "INBIN" (Binary InStr) search for your string. This is by far the most accurate, reliable and fast search method. It was also the only one available in the first version of this baby. One day I was searching for a short string in a file that was well over a gig on a system that had 256 megs of SDR ram! So I sat down once again and wrote the "file" based search. This is a fairly unreliable, inaccurate and super slow search method but it does work often enough and fast enough (on modern computers) to be used in a pinch if you must. I plan to actually write a search rountine that is practical to use, I already have some code written in another basic language from another project of mine, I just need to get around to porting it and adapting it to this purpose. Anyways, please enjoy iHex and iHexRes. This was one of my most favorite projects to work on and I have great memories of my good friend Bevets debugging this thing while I was sleep deprived.

Just to clarify, Bevets thought the GUI design was crazy too. He was just the brilliance behind getting it all to work after I knew what I wanted and helped keep me focused on a single project instead of starting a new project and then dropping it every 30 minutes. The main difference between our code is how we define our variables. I define them as:
Dim anInteger As Int
Bevets generally defined them as:
Int anInteger
or for sub parameters:
anInteger:Int.

We were both annoyed by code that did not use the same capitlization and indentation practices that we prefered. He is possibly the only person I could work with and not go insane!

.... I initially used the code, quote and tt tags to post the source or both editions of iHex but there were problems with each one. I have attached them instead.

I suspect everyone here has a copy of Emergence Basic, but if you don't and you think this would an application you're interested in using I can send you a binary via email. Just send me a private message. I am truely proud of this application even though it is fairly simple and basic and I hope one day many people (maybe even up to like a dozen or so) will make frequent use of iHex.

I have very specific plans fo iHex's future (though, I am not actively developing it at this time). Please post any feature requests or bug reports and I will review them. I designed this application for me and my tastes, however, and I will only implement features I am interested in. With that said, everyone is free to use the source code in anyway they wish.
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code...

All code I post is in the public domain.