Messages - chesterw [ switch to compact view ]

Pages: [1] 2next
1
N.A.N.Y. 2019 / Re: NANY 2019 Entry - Huge Text/Log file reader
« on: March 07, 2019, 09:26 AM »
Corrections, and added (Search) Again feature.
-----------------------------------
This program reads text files and log files of almost unlimited size.

It does this by reading the file in 1,000 line chunks.

If Reader.exe is called with a parameter, it tries to load that file.
If no parameter is given, or you just double-click on it from Explorer,
then the program starts without an initial file.

When the program first starts, click on the "Load File" button, navigate to
the folder where your file is located, and select the file to read.  Repeat
the process to read a different file.  Exit by clicking the X at the top right.

The program first counts lines in the file.  If the file is huge, you may
see a "Counting lines in file..." message.  Most often this happens too
quickly to see the message for small to medium sized files.

The first 1,000 lines are displayed, with the line number and then the contents
of the line.  The line count is shown in the Edit Box at the bottom.  Use the
scrollbars to scroll up, down, left, and right in that 1,000 line chunk of the
file.  You can edit the text, but not save the file.  You can use your mouse to
select text, and press <CTRL-C> to copy the text to the Windows Clipboard.

Click on "Next 1000" to see the next 1,000 lines of the file, if there are
that many lines.

Click on "Prev 1000" to see the previous 1,000 lines of the file, if past
line 1,000, or maybe the first 1,000 lines.  If the file is large, you may
see a "Moving to previous page..." message.

Click on "Top" to see the first 1,000 lines of the file.

Click on "Bottom" to see the last 1,000 lines of the file.  If the file is
large, you may see a "Moving to bottom of file..." message.

Click on "Search" to try to find lines that exactly match the text in the
Edit Box at the bottom.  You are taken to the first line that matches.  A
fresh chunk is loaded with the matching line on the top of the screen.  If
NOT found, a message is displayed, and you see the first 1,000 lines of the
file.  For a large file, you may see a "Searching..." message.

Click on "Again" to search again, starting at the next block (1,000 lines
after the top of the current block).  The top line of the new block (assuming
a match) becomes the top of the new block.  For example, suppose the first match
after line 1,000 of the file is on line 1,500: the block you are viewing becomes
line 1,500 through line 2,499.

Whenever a line contains the exact text in the Edit Box at the bottom, that
line shows up in blue.  Even without doing a search: "Next 1000", "Prev 1000",
"Top", and "Bottom" will all show blue lines for exact matches.

Click on "Goto Line" to go to the line number in the Edit Box at the bottom
if the content in the Edit Box at the bottom is a valid integer and the
integer given is less than or equal to the line count.  That line number
becomes the top of the screen.  If the file is very large, you may see a
"Moving to the line..." message displayed while the correct chunk is located.

This program very powerful.  It should be able to handle files up to
18,446,744,073,709,551,615 lines: that's 18 sextillion lines!  Not sure how
to make a text file that big for testing purposes.  Of course, working with
such a file would be slow.  The initial line count would take many minutes,
as well as pressing the "Bottom" and "Prev 1000" buttons.  Sticking with the
"Top" and "Next 1000" buttons on very large files should be the fastest.

2
N.A.N.Y. 2019 / Re: NANY 2019 Entry - Huge Text/Log file reader
« on: January 07, 2019, 06:40 AM »
Here is a screenshot, and a slightly enhanced version.

Still cannot figure out how to test the maximum 18 sextillion lines limit...

3
N.A.N.Y. 2019 / NANY 2019 Entry - Huge Text/Log file reader
« on: July 28, 2018, 10:51 AM »
This program reads text files and log files of almost unlimited size.

It does this by reading the file in 1,000 line chunks.

If Reader.exe is called with a parameter, it tries to load that file.
If no parameter is given, or you just double-click on it from Explorer,
then the program starts without an initial file.

When the program first starts, click on the "Load File" button, navigate to
the folder where your file is located, and select the file to read.  Repeat
the process to read a different file.  Exit by clicking the X at the top right.

The program first counts lines in the file.  If the file is huge, you may
see a "Counting lines in file..." message.  Most often this happens too
quickly to see the message for small to medium sized files.

The first 1,000 lines are displayed, with the line number and then the contents
of the line.  The line count is shown in the Edit Box at the bottom.  Use the
scrollbars to scroll up, down, left, and right in that 1,000 line chunk of the
file.  You can edit the text, but not save the file.  You can use your mouse to
select text, and press <CTRL-C> to copy the text to the Windows Clipboard.

Click on "Next 1000" to see the next 1,000 lines of the file, if there are
that many lines.

Click on "Prev 1000" to see the previous 1,000 lines of the file, if past
line 1,000, or maybe the first 1,000 lines.  If the file is large, you may
see a "Moving to previous page..." message.

Click on "Top" to see the first 1,000 lines of the file.

Click on "Bottom" to see the last 1,000 lines of the file.  If the file is
large, you may see a "Moving to bottom of file..." message.

Click on "Search" to try to find lines that exactly match the text in the
Edit Box at the bottom.  You are taken to the first line that matches.  A
fresh chunk is loaded with the matching line on the top of the screen.  If
NOT found, a message is displayed, and you see the first 1,000 lines of the
file.  For a large file, you may see a "Searching..." message.

Whenever a line contains the exact text in the Edit Box at the bottom, that
line shows up in blue.  Even without doing a search: "Next 1000", "Prev 1000",
"Top", and "Bottom" will all show blue lines for exact matches.

Click on "Goto Line" to go to the line number in the Edit Box at the bottom
if the content in the Edit Box at the bottom is a valid integer and the
integer given is less than or equal to the line count.  That line number
becomes the top of the screen.  If the file is very large, you may see a
"Moving to the line..." message displayed while the correct chunk is located.

This program very powerful.  It should be able to handle files up to
18,446,744,073,709,551,615 lines: that's 18 sextillion lines!  Not sure how
to make a text file that big for testing purposes.  Of course, working with
such a file would be slow.  The initial line count would take many minutes,
as well as pressing the "Bottom" and "Prev 1000" buttons.  Sticking with the
"Top" and "Next 1000" buttons on very large files should be the fastest.

4
07/02/2018 - In the 3 QueryToCSV files:
  Corrected a bug that added a blank column to the output file.
  Enhanced error messages.
  Added an N parameter: Output file has a header unless there is this parameter.

5
N.A.N.Y. 2018 / Re: NANY 2018 - 6 Command line Database utilities
« on: October 24, 2017, 07:18 AM »
Because Delphi is such a popular tool throughout the world, those who write viruses often use Delphi.  Normal library routines in Delphi produce strings of characters in most Delphi programs.  In error, some antivirus heuristics look for those strings of characters and automatically label (falsely) a program as a virus.  So if I submit a program in Delphi, it pretty much is guaranteed to be falsely labeled as a virus by some antivirus program.  Packers like UPX compress the final EXE significantly, which speeds up file transfers, and has the added benefit of avoiding the false positives of some antivirus software.  But then, as pointed out above, they complain that you used UPX to pack the EXE.  I can't win...

Delphi is quite versatile in its database capabilities.  The 6 programs here are really just 2 programs, with slight changes for 3 different databases.  The trick used in the 3 "dump out a table" programs was to discover 3 different ways to get the list of columns.  Every database does it differently.  Once I had the list of column names, and put them at the top of the CSV file, I did a "SELECT * FROM tablename" and wrapped each field with double-quotes and commas, to make a "safe" CSV file, as a field can contain commas.

The other 3 programs for getting the result of a query have the user give me the column names, and a (hopefully pre-tested) query that matches those column names.  Using a similar process as above, I create the CSV file.

The real versatility is using the batch/CMD files to do the routine stuff like passwords, and allow the flexibility of dumping different tables or running a set of custom SQL files.  Enjoy!

Pages: [1] 2next
Go to full version