(Thanx to Chris for putting all those nice customisabilities in Progress command)
here's a scaled down screenshot.
The features are:
Remembers the last eBook being read.
Remembers where you left reading the eBook, and opens at the same place.
Shows progress bar reflecting the current position in the complete eBook.
Controls:
Mouse Wheel up/down
Page up/down
Esc to exit
To open another eBook use tray menu
;___________________________________________ ;_______eBook Reader - Rajat_______________ ;_______User Settings_______________________ ;Set Lines, Font size, Window Height & Width here. Lines = 22 FSize = 12 Height = 500 Width = 700 ;___________________________________________ SetBatchLines, 10ms SetFormat, Float, 0.0 ;opens fileopen window if no last open file found IniRead, eBook, %a_scriptdir%\eBookreader.ini, eBooks, LastFile, Error IfEqual, eBook, Error, FileSelectFile, eBook, 1,, Open eBook IfNotExist, %eBook%, ExitApp ;records lastfile IniWrite, %eBook%, %a_scriptdir%\eBookreader.ini, eBooks, LastFile ;Counts total lines runwait, %comspec% /c find /c /v "fdsaqfjd sf-5399534" "%eBook%" >%temp%\lines.txt,, hide FileReadLine, TotalLines, %temp%\lines.txt, 2 StringGetPos, spos, TotalLines, %a_space%, R spos ++ StringTrimLeft, TotalLines, TotalLines, %spos% TotalLines ++ FileDelete, %temp%\lines.txt ;adds custom menu item on top Menu, tray, nostandard Menu, tray, add, Open eBook, OpenBook Menu, tray, standard ;creates reader window Progress, C0 T W%Width% H%Height% FS%FSize% ZX20 M1 Y5, `n`n%eBook%,, eBook Reader WinSet, AlwaysOnTop, Off, eBook Reader WinActivate, eBook Reader IniRead, LineNum, %a_scriptdir%\eBookreader.ini, eBooks, %eBook%, 1 Sleep, 1000 Gosub, PageShow Exit OpenBook: FileSelectFile, eBook, 1,, Open eBook runwait, %comspec% /c find /c /v "fdsaqfjd sf-5399534" "%eBook%" >%temp%\lines.txt,, hide FileReadLine, TotalLines, %temp%\lines.txt, 2 StringGetPos, spos, TotalLines, %a_space%, R spos ++ StringTrimLeft, TotalLines, TotalLines, %spos% TotalLines ++ FileDelete, %temp%\lines.txt Progress, C0TW%Width%H%Height%FS%FSize%ZX20M1Y5, `n`n%eBook%,, eBook Reader WinSet, AlwaysOnTop, Off, eBook Reader WinActivate, eBook Reader IniRead, LineNum, %a_scriptdir%\eBookreader.ini, eBooks, %eBook%, 1 Sleep, 1000 Gosub, PageShow Return PageShow: LineCount = %LineNum% Loop, %Lines% { FileReadLine, CurrLine, %eBook%, %LineCount% LineCount ++ IfGreaterOrEqual, LineCount, %TotalLines%, Break Text = %Text%`n%CurrLine% } Percent = %LineNum% EnvAdd, Percent, 0.0 EnvAdd, TotalLines, 0.0 Percent *= 100 Percent /= %TotalLines% Progress, %Percent% Progress,, %Text% Text = Return ~WheelDown:: IfWinNotActive, eBook Reader,, Return Test = %LineNum% Test += 3 IfGreaterOrEqual, Test, %TotalLines%, Return LineNum += 3 Gosub, PageShow Return ~WheelUp:: IfWinNotActive, eBook Reader,, Return LineNum -= 3 IfLess, LineNum, 1, SetEnv, LineNum, 1 Gosub, PageShow Return ~PgDn:: IfWinNotActive, eBook Reader,, Return Test = %LineNum% Test += %Lines% IfGreaterOrEqual, Test, %TotalLines%, Return LineNum += %Lines% LineNum -- Gosub, PageShow Return ~PgUp:: IfWinNotActive, eBook Reader,, Return LineNum -= %Lines% LineNum ++ IfLess, LineNum, 1, SetEnv, LineNum, 1 Gosub, PageShow Return ~Esc:: IfWinNotActive, eBook Reader,, Return IniWrite, %LineNum%, %a_scriptdir%\eBookreader.ini, eBooks, %eBook% IniWrite, %eBook%, %a_scriptdir%\eBookreader.ini, eBooks, LastFile ExitApp Return