topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday March 19, 2024, 2:12 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility  (Read 140232 times)

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Application Name Text Inspection & Manipulation Utility
Short Description Utility to inspect and manipulate text
Supported OSes Windows
Web Page A link to the Application Web Page
Download Linkhttps://github.com/p...tionUtility-0.20.zip
Reviewilovefreesoftware.com
System Requirements.NET 4.0
Windows XP SP 3

Version History
0.19
  • Support capture group references in replacement text for Regex Search & Replace (use \1, \2, etc.)
0.18
  • Specify escape characters in help
  • Add command line arguments
  • Combine Remove words left/right into Remove words
  • Add Remove characters

0.17
  • Lines - Split - Add possibility to split by comma

0.16
  • Added Lines - Remove duplicates & count unique
Spoiler
0.15
  • Fixed incorrect handling of "^" and "$" in regex search & replace

0.14
  • Fixed last word and space after word problem with Web - Twitter and List - Trim to size

0.13
  • Added Search & Replace - Highlight word multiplication
  • Added Web - Twitter
  • Added List - Trim to size

0.12
  • Added Capitalisation - Title
  • Added Capitalisation - Toggle
  • Added possibility to use \t for tab and \n for newline where it might make sense

0.11
  • Renamed category 'List' to 'Lines'
  • Renamed category 'Search' to 'Search & Replace'
  • Added Search & Replace - highlight non-ascii characters
  • Added Lines - Keep / Remove words at beginning / end of lines (can be used to remove line numbers as well)
  • Added Lines - remove duplicate lines
  • Added Lines - remove extra empty lines
  • Added Lines - delete to tag

0.10
  • Added Search & Replace
  • Can now specify line number start and increment
0.9
  • Save window size/position and state of 'ignore case' and 'reverse output direction'
  • Print number of highlights (matches) in status bar (e.g. in search)
  • Highlight filter text
  • Added Web - Remove tags
0.8
  • Fixed reverse words, scramble within words layout
  • Added prepend line number
  • Added tooltips to the buttons
0.7
  • Streamlined layout
  • Added ignore case toggle button (and Ctrl + I)
  • Added reverse output toggle button (and Ctrl + R)
  • Some additional keyboard shortcuts
  • Using monospace font for input/output boxes
  • Clicking the link in About now opens a web browser
0.6
  • Added filter for text manipulation tree
  • Improved keyboard handling
  • Added file open and save
0.5
  • Input field and parameter field now show a hint right above the respective field
  • Added Order - Reverse lines, scramble lines
0.4
  • Parameter field is now disabled if it doesn't apply
  • Added List/Remove empty lines, Append, Prepend
0.3
  • Added sort lines
  • List/Split now splits by words instead of by characters (use , to delimit individual words)
  • Added some buttons for clipboard operations and to copy output back to input
0.2 - Pre-release



Description
Use Text Inspection & Manipulation Utility to gather various information about some text and manipulate it in various ways.


Screenshots
accidentally deleted

Installation
Not required

Using the Application
Double-click the exe

Uninstallation
Delete the exe

Features
Queries & Manipulations
  • Case conversion
  • Checksum calculation
  • Encrypt/decrypt
  • Sort
  • Search
  • Your idea goes here...


Planned Features

  • Supply file path and query / manipulate whenever the file changes
  • Auto-sync from/to clipboard
  • Word wrap
  • Save settings
  • SetBlanks(int minblank, int maxblank, int threshhold): Changes the number of blank lines between lines.
  • Wrap(int columncount, int ignorewords): Adds hard returns to force columns to a certain width.
  • CutLeft(int count): Removes count characters from the beginning of each line.
  • CutRight(int count): Removes count characters from the end of each line.
  • PadLeft(string padchar, int length): Pads the beginning of each line with padchar to extend the length where necessary
  • PadRight(string padchar, int length): Pads the end of each line with padchar to extend the length where necessary
  • ShortenLeft(int length): Removes characters from the beginning of each line if the line is too long
  • ShortenRight(int length): Removes characters from the end of each line if the line is too long
  • SizeLeft(string padchar, int length): Pads or cuts the beginning of each line to make it the exact length
  • SizeRight(string padchar, int length): Pads or cuts the end of each line to make it the exact length
  • possibility to use \t (tab) and \n (new line) to split/append lines
  • sentence case
  • Open text from file
  • Highlighting for filters
  • ReverseLines(): Reverses the order of all the lines
  • Scramble(): rearranges the lines in random order
  • SortCase(): Like sort, but case-sensitive
  • AddLineNumbers(string separator, string padchar, int length): Puts the line number on the front of each line, with an optional separator
  • AddLineNumbersOffset(string separator, string padchar, int length, int offset): Puts the line number on the front of each line, with an optional separator.  Offset is the number of the first line
  • BeginLine(string text): Appends text to the beginning of every line
  • DeleteToTag(string tag): For each line, deletes all characters before first instance of tag
  • EndLine(string text): Appends text to the end of every line
  • Trim(string badchars): Strips all badchars from the beginning and end of every line
  • TrimLeft(string badchars): Strips all badchars from the beginning of every line
  • TrimRight(string badchars): Strips all badchars from the end of every line
  • DeleteDupes(): Deletes any line that is identical to a previous line.
  • Replace(string oldtext, string newtext): Replaces all instances of oldtext with newtext.
  • Remove HTML tags (with keeping the newlines)
  • Remove empty lines
  • Make the List --> filter case insensitive
« Last Edit: May 16, 2017, 02:41 PM by phitsc »

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #1 on: November 18, 2013, 07:25 AM »
Nice utility, phitsc! Glad to have your participating this year!

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #2 on: December 05, 2013, 03:55 PM »
I've uploaded a pre-release version if anyone's interested. Use the Download Link above.

hamradio

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 825
  • Amateur Radio Guy
    • View Profile
    • HamRadioUSA.net
    • Read more about this member.
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #3 on: December 09, 2013, 12:35 AM »
This suggestion would be useful for programmers, but heres it goes...

Have a programmers section perhaps and a thing that could be in it is explained below...

For CSharp...
Take a list and of variables someone copies over for example...

Code: C# [Select]
  1. private int attribute_left = -1;
  2. private int attribute_top = -1;
  3. private int attribute_width = -1;
  4. private int attribute_height = -1;

and convert it with the option of generating both setters or one or the other into like...

Code: C# [Select]
  1. public int Attribute_left
  2. {
  3.     get { return this.attribute_left; }
  4.     set { this.attribute_left = value; }
  5. }
  6.  
  7. public int Attribute_top
  8. {
  9.     get { return this.attribute_top; }
  10.     set { this.attribute_top = value; }
  11. }
  12.  
  13. public int Attribute_width
  14. {
  15.     get { return this.attribute_width; }
  16.     set { this.attribute_width = value; }
  17. }
  18.  
  19. public int Attribute_height
  20. {
  21.     get { return this.attribute_height; }
  22.     set { this.attribute_height = value; }
  23. }

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #4 on: December 09, 2013, 11:39 AM »
Hmm. On my machine it comes through as only 12k zipped / 27k unzipped and is an "invalid application".

Was there a glitch uploading it?

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #5 on: December 09, 2013, 02:46 PM »
Just downloaded it and it seems to be working fine. What Windows version have you tried to run it on?

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #6 on: December 09, 2013, 02:46 PM »
This suggestion would be useful for programmers, but heres it goes...

Have a programmers section perhaps and a thing that could be in it is explained below...

For CSharp...
Take a list and of variables someone copies over for example...

Code: C# [Select]
  1. private int attribute_left = -1;
  2. private int attribute_top = -1;
  3. private int attribute_width = -1;
  4. private int attribute_height = -1;

and convert it with the option of generating both setters or one or the other into like...

Code: C# [Select]
  1. public int Attribute_left
  2. {
  3.     get { return this.attribute_left; }
  4.     set { this.attribute_left = value; }
  5. }
  6.  
  7. public int Attribute_top
  8. {
  9.     get { return this.attribute_top; }
  10.     set { this.attribute_top = value; }
  11. }
  12.  
  13. public int Attribute_width
  14. {
  15.     get { return this.attribute_width; }
  16.     set { this.attribute_width = value; }
  17. }
  18.  
  19. public int Attribute_height
  20. {
  21.     get { return this.attribute_height; }
  22.     set { this.attribute_height = value; }
  23. }


Good idea hamradio!

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #7 on: December 10, 2013, 09:29 PM »
Just downloaded it and it seems to be working fine. What Windows version have you tried to run it on?

Win XP.


DyNama

  • Supporting Member
  • Joined in 2010
  • **
  • Posts: 73
  • Are you a good witch or a bad witch?
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #8 on: December 12, 2013, 04:07 PM »
I like! The first thing i thought to use this for is joining and splitting lists of tv show episodes marked by the tv listing program i use, Digiguide. It keeps a continuous list as a search string:

"A Grave Matter" OR "A Vicious Cycle" OR "Cat's Claw" OR "Children of Ghosts" OR "Dead to Rights" OR "Deja Boo" OR "Delia's First Ghost" OR "Dont Try This At Home" OR "Drowned Lives" OR "Ghost, Interrupted" OR "Haunted Hero" OR "Love Never Dies (Part 1 of 2)" OR "Mean Ghost" OR "No Safe Place" OR "Speed Demon " OR "The Collector" OR "The Cradle Will Rock" OR "The Curse of the Ninth" OR "The Gathering" OR "The Ghost Within" OR "The Prophet" OR "The Underneath"

if i paste the list in the top box & choose List | Split on the menu list and type "OR" in the middle box, TIMU breaks my list nicely into separate lines…except it is treating both "O" and "R" as delimiters. Thus it breaks "Dead To Rights" into "Dead To" and "ights". it would be handy to be able to specify the entire word "OR" as the delimiter, or even " OR ". An alternative would be to add "Simple & Replace" to the Search function, allowing me to replace all " OR "s with a neutral single character, say "&".

Then when i paste a CRLF-delimited list in the top box, i'd like Sort | A-Z to produce a sorted list by lines, not by words.

Finally, a button to transfer the text in the bottom box up into the top box for further processing would be nice.

TIMU looks like it could come in handy! Thanx!

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #9 on: December 14, 2013, 03:57 PM »
Glad you find TIMU useful DyNama. I've implemented some of your suggestions. Hope they work for you.


phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #10 on: December 14, 2013, 03:58 PM »
hamradio, I'll look into your suggestion as well.

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #11 on: December 14, 2013, 11:17 PM »
Hi Phit, once again I am having trouble with the program. This time I'll phrase my support question differently.

Heh using ChrisG's image uploader, look at this screenshot of the "Mega" service - it's listing the program at only 18k zipped! That doesn't sound right - way too small!

http://i.imm.io/1miTx.png

Any advice?


phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #12 on: December 15, 2013, 06:59 AM »
Sorry TaoPhoenix for just ignoring your post. The file sizes you see are actually correct. The zip is 18k the exe is 36k.

Unfortunately, I have no access to a Win XP machine any more. Maybe the .NET version I've built this with is not available for Win XP. I might try to build it against an older .NET version. I'm not using anything fancy in this little tool.

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #13 on: December 16, 2013, 10:27 AM »
Seems like .NET 4.0 is the latest version supported by Windows XP SP 3 (download).

TaoPhoenix, if you want you can re-download using the link in the first post and try on your XP machine (if you have SP 3 and .NET 4.0 installed).

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #14 on: December 16, 2013, 02:09 PM »
Seems like .NET 4.0 is the latest version supported by Windows XP SP 3 (download).

TaoPhoenix, if you want you can re-download using the link in the first post and try on your XP machine (if you have SP 3 and .NET 4.0 installed).

Yeah Phit, that looks much better. I haven't actually tested it yet, but it opens and looks "sensible" if you know what I mean aka no horrible bugs etc. (Heh I provide an interesting test case because my comp's OS has gone slightly downhill, and a few "obvious" things don't work on it.)

So I'll pick a day later when I am in my "testing mood" and poke at it. Quick memo for now: under "Web" and then "source" without anything selected, I get:

"Error: The path is not of a legal form."

So I don't know what that means. If you're trying to tell the user that he hasn't entered any data, maybe you can do a quick check and just advise that "the field is blank ... you need to enter a web page address" or something.

But in other news, for "my education", do just say what version of .Net you used that other time - 5.x? So does Windows 7 support that and up etc?

Also, I'm stunned that a 36k application can do all that stuff and still have a GUI on top! How is that even possible!? So that puts a perspective on "today's Bloatware"! (3-18 megs for simple programs, etc. If you did all that in 36k, what are those other programs wasting 18 megs on?!)

Cheers,

Tao


phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #15 on: December 16, 2013, 02:32 PM »
Seems like .NET 4.0 is the latest version supported by Windows XP SP 3 (download).

TaoPhoenix, if you want you can re-download using the link in the first post and try on your XP machine (if you have SP 3 and .NET 4.0 installed).

Yeah Phit, that looks much better. I haven't actually tested it yet, but it opens and looks "sensible" if you know what I mean aka no horrible bugs etc. (Heh I provide an interesting test case because my comp's OS has gone slightly downhill, and a few "obvious" things don't work on it.)

Thanks for checking!  :Thmbsup:

So I'll pick a day later when I am in my "testing mood" and poke at it. Quick memo for now: under "Web" and then "source" without anything selected, I get:

"Error: The path is not of a legal form."

So I don't know what that means. If you're trying to tell the user that he hasn't entered any data, maybe you can do a quick check and just advise that "the field is blank ... you need to enter a web page address" or something.

It expects a URL in the input field. To be honest, I wanted to hold back with help/manual/instructions until someone actually showed some interest. On the other hand, I'm sure I won't know what it expects a month from now so some hints/minimal instructions definitely won't hurt even if I end up being the only one using the application.


But in other news, for "my education", do just say what version of .Net you used that other time - 5.x? So does Windows 7 support that and up etc?
The newest version seems to be .NET 4.5

Also, I'm stunned that a 36k application can do all that stuff and still have a GUI on top! How is that even possible!? So that puts a perspective on "today's Bloatware"! (3-18 megs for simple programs, etc. If you did all that in 36k, what are those other programs wasting 18 megs on?!)
That's because all the bloat is in the .NET runtime. The download I linked above is 48MB!  :D

DyNama

  • Supporting Member
  • Joined in 2010
  • **
  • Posts: 73
  • Are you a good witch or a bad witch?
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 pledge: Text Inspection & Manipulation Utility
« Reply #16 on: December 17, 2013, 09:08 PM »
Glad you find TIMU useful DyNama. I've implemented some of your suggestions. Hope they work for you.

Yes, very handy! i can take that search string, break it into lines, sort it, then join all the lines back into the search string, now all in the same program! Thanx, phitsc!

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #17 on: December 29, 2013, 03:23 PM »
I won't have time to work on this any more this year so I'm calling it released.

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #18 on: January 14, 2014, 03:56 AM »
This is a nice tool.
I see me using it a lot.

Some first suggestions for manipulations:
- add or remove a certain string to the beginning/end of all lines
- Replace a string with another string
- Remove HTML tags (with keeping the newlines)
- Remove empty lines
- Make the List --> filter case insensitive

/edit
Maybe make it an option : work case sensitive/insensitive
« Last Edit: January 14, 2014, 04:06 AM by DeVamp »

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #19 on: January 14, 2014, 04:32 AM »
Some more suggestions:
(taken from an old plugin for Notepad++,but that plugin doesn't works anymore...)

Some functions ask multiple optional parameters. Just see what you can do with it.

All line functions

  • ReverseLines(): Reverses the order of all the lines.
  • Scramble(): rearranges the lines in random order.
  • SetBlanks(int minblank, int maxblank, int threshhold): Changes the number of blank lines between lines.
  • SortCase(): Like sort, but case-sensitive.
  • Wrap(int columncount, int ignorewords): Adds hard returns to force columns to a certain width.

Per-Line Functions

  • AddLineNumbers(string separator, string padchar, int length): Puts the line number on the front of each line, with an optional separator.
  • AddLineNumbersOffset(string separator, string padchar, int length, int offset): Puts the line number on the front of each line, with an optional separator.  Offset is the number of the first line.
  • BeginLine(string text): Appends text to the beginning of every line.
  • CutLeft(int count): Removes count characters from the beginning of each line.
  • CutRight(int count): Removes count characters from the end of each line.
  • DeleteToTag(string tag): For each line, deletes all characters before first instance of tag
  • EndLine(string text): Appends text to the end of every line.
  • PadLeft(string padchar, int length): Pads the beginning of each line with padchar to extend the length where necessary
  • PadRight(string padchar, int length): Pads the end of each line with padchar to extend the length where necessary
  • ShortenLeft(int length): Removes characters from the beginning of each line if the line is too long
  • ShortenRight(int length): Removes characters from the end of each line if the line is too long
  • SizeLeft(string padchar, int length): Pads or cuts the beginning of each line to make it the exact length
  • SizeRight(string padchar, int length): Pads or cuts the end of each line to make it the exact length
  • Trim(string badchars): Strips all badchars from the beginning and end of every line.
  • TrimLeft(string badchars): Strips all badchars from the beginning of every line.
  • TrimRight(string badchars): Strips all badchars from the end of every line.

Deleting Lines

  • DeleteDupes(): Deletes any line that is identical to a previous line.

Search and Replace

  • Replace(string oldtext, string newtext): Replaces all instances of oldtext with newtext.

HankFriedman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 147
  • A computer nerd whose also a psychic & astrologer
    • View Profile
    • Welcome to Hank Friedman's Website
    • Read more about this member.
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #20 on: January 14, 2014, 11:53 AM »
I went to the download page, using FireFox 32 on a Win 7 64 bit system, and the file didn't download. I tried it in an IE tab and nothing at all happened.

Is the download broken?

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #21 on: January 14, 2014, 01:25 PM »
I went to the download page, using FireFox 32 on a Win 7 64 bit system, and the file didn't download. I tried it in an IE tab and nothing at all happened.

Is the download broken?

Just downloaded it fine.  Can you get to Mega at all?

HankFriedman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 147
  • A computer nerd whose also a psychic & astrologer
    • View Profile
    • Welcome to Hank Friedman's Website
    • Read more about this member.
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #22 on: January 14, 2014, 02:04 PM »
I get to the MEGA site just fine, and it loads and then displays a download button, which I click and then:

It gives me an error message:

Doesn't include any valid URL!

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #23 on: January 14, 2014, 02:25 PM »
when you click that button, it should start the progress.  Seems like a problem with mega in your browser of some sort- perhaps one of your plugins?

HankFriedman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 147
  • A computer nerd whose also a psychic & astrologer
    • View Profile
    • Welcome to Hank Friedman's Website
    • Read more about this member.
    • Donate to Member
Re: N.A.N.Y. 2014 Release: Text Inspection & Manipulation Utility
« Reply #24 on: January 14, 2014, 03:03 PM »
It does show progress. I only get an error message at the end and no file is actually downloaded (it says 0 bytes)