       -+-   FileTractor v1.80   *   Copyright (C) DARKER [SCF]   2o19 -+-
     ======================================================================

Description
===========
Program can process text files with some preddefined filters.

Features
========
  1) Keep first N chars             for N = 4:
        Line1 "abcdef"                  -> "abcd"
  2) Keep last N chars              for N = 4:
        Line1 "abcdef"                  -> "cdef"
  3) Keep lines beginning with Str  for Str = "john":
        Line1 "johnny the little"       -> keep
        Line2 " little johnny"          -> skip
  4) Keep lines with Str inside     for Str = "john":
        Line1 " little johnny"          -> keep
        Line2 " little marry"           -> skip
  5) Keep lines from List inside    for List = "john, marry":
        Line1 "johnny the little"       -> keep
        Line2 " little marry"           -> keep
        Line3 " little fredy"           -> skip
  6) Skip lines beginning Str       for Str = "john":
        Line1 "johnny the little"       -> skip
        Line2 " little johnny"          -> keep
  7) Skip lines with Str inside     for Str = "john":
        Line1 " little johnny"          -> skip
        Line2 " little marry"           -> keep
  8) Skip lines from List inside    for List = "john, marry":
        Line1 "johnny the little"       -> skip
        Line2 " little marry"           -> skip
        Line3 " little fredy"           -> keep
  9) Skip lines with length = N     for N = 3:
        Line1 "ab"                      -> keep
        Line2 "abc"                     -> skip
 10) Skip lines with length > N     for N = 2:
        Line1 "ab"                      -> keep
        Line2 "abc"                     -> skip
 11) Skip lines with length < N     for N = 3:
        Line1 "ab"                      -> skip
        Line2 "abc"                     -> keep
 12) Strip first N chars            for N = 4:
        Line1 "abcdef"                  -> "ef"
 13) Strip last N chars             for N = 4:
        Line1 "abcdef"                  -> "ab"
 14) Replace strings from list      for List = "mark | marry, john | jane":
        Line1 "mark and john"           -> "marry and jane"
        Line2 "marry sing"              -> keep
 15) Reverse lines                 
        Line1 " Hello"                  -> "olleH "
 16) Trim lines                     trim trailing and ending space:
        Line1 "  john "                 -> "john"

How to use it
=============
Select input File, choose action and press Run button. Program create backup
file with the same name but with new extension ".001 ..." You can also use 
command line or Drag & Drop for specifying input file.

List file = file with words, each word on new line! For "Replace strings from list"
  rule must be on each line two values delimited with | eg: "search | replace string"

Command line
============
  FileTractor.exe "USE:xx | STR:yy | LIST:zz | N:qq | BAK:1 | LF:1 | target_file.txt"
    xx    - what action take (look up)       [mandatory]
    yy    - search string Str                [depend on action]
    zz    - path to List file                [depend on action]
    qq    - number N                         [depend on action]
    BAK:1 - make backup                      [optional, default ON]
    LF:1  - use LF instead CRLF line endings [optional, default OFF]

  Example:
    Keep lines with Str inside  :  FileTractor.exe "USE:4 | STR:YYYY | c:\file.txt"
    Keep lines from List inside :  FileTractor.exe "USE:5 | LIST:c:\list.txt | c:\file.txt"
    Strip first 4 chars, use LF :  FileTractor.exe "USE:12 | N:4 | LF:1 | c:\file.txt"
    Trim lines, No backup       :  FileTractor.exe "USE:16 | BAK:0 | c:\file.txt"


System requirements
===================
For run you need Microsoft .NET Framework 3.5

Contact
=======
Visit  http://progress-tools.x10.mx for more information or updates. If you have
some ideas, comments, improvements  or you find some bug you can mail to me at
darker[at]azet.sk

Greetings:
==========
people from RE Forum (ex t4C) & ExeTools forum, whole Slovak-Czech scene and
all who know me ...

History
=======
1.0 - [11.06.2006]
    Initial version.

1.1 - [20.12.2006]
    Add: Keep lines beginning with Str
    Add: Skip lines from List inside

1.2 - [12.09.2008]
    Add: Skip lines beginning with Str
    Add: Keep lines from List inside
    Add: Strip first N chars
    Add: Strip last N chars
    Add: Drag&Drop file

1.3 - [23.11.2008]
    Add: Keep first N chars
    Add: Keep last N chars

1.4 - [13.09.2011]
    Fix: Files that contain 1A char (EOF marker) was wrong processed (added check)
    Add: Some enabled/disabled visualisation
  
1.50 - [03.06.2012]
    Changed comparsion to case sensitive

1.60 - [17.11.2016]
    - whole app rewrited to .NET
    - added command line options
    - make backup option
    - use LF instead CRLF line endings

1.61 - [23.03.2017]
    - Fixed maxlength of text fields that was set just to 8 characters

1.70 - [25.08.2017]
    - added new rule: Replace strings from list
    - moved all rules to combobox
    - changed logic of the engine

1.80 - [14.07.2019]
    - changed action numbers (update your batch files if you have any)
    - when you send to commandline only file path - wait for user action and 
      don't start file processing
    - added new rule: Skip lines with length = N
    - added new rule: Skip lines with length > N
    - added new rule: Skip lines with length < N
