Right click in any window and click "Scan A File". Select the file you wish to scan, then enter the text you want to scan for.
alias ScanFile {
window -aEk0 @Scan`File
clear @Scan`File
set %fname " $+ $sfile(C:\,Select A File To Scan,Scan) $+ "
If (. isin $left(%fname,4)) {
set %temp3 $left(%fname,3)
rename %fname $replace(%fname,$left(%fname,3),txt)
}
set %text $$?="Text To Find?"
set %text2 $read(%fname, w, * $+ %text $+ *)
set %read.number $readn
set %begin.read.number $calc(%read.number - 10)
set %end.read.number $calc(%read.number + 10)
set %total.read.number %begin.read.number $+ - $+ %end.read.number
loadbuf %total.read.number @Scan`File %fname
inc %read.number 1
start1234
}
alias start1234 {
set %yn $?!="Read Next Set Of Text?"
If (%yn = $false) { halt }
If (%yn = $true) {
If (!$read(!%fname, w, * $+ %text $+ *, %read.number) { echo @Scan`File There Are No Matche(s) Found. | halt }
unset %yn
clear @Scan`File
set %text2 $read(%fname, w, * $+ %text $+ *, %read.number)
set %read.number $readn
set %begin.read.number $calc(%read.number - 10)
set %end.read.number $calc(%read.number + 10)
set %total.read.number %begin.read.number $+ - $+ %end.read.number
loadbuf %total.read.number @Scan`File %fname
inc %read.number 1
}
set %yn $?!="Read Next Set Of Text?"
If (%yn = $false) { halt }
If (%yn = $true) {
If (!$read(%fname, w, * $+ %text $+ *, %read.number)) {
halt
}
If ($read(%fname, w, * $+ %text $+ *, %read.number)) {
start1234
}
}
rename %fname $replace(%fname,$left(%fname,3),%temp3
unset %yn %fname %read.number %total.read.number %read.number %end.read.number %begin.read.number %text %text2 %temp3
}
menu * {
Scan A File:/scanfile
}