AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Intellisense-like autoreplacement with multiple suggestions
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
 
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help
View previous topic :: View next topic  
Author Message
Guest






PostPosted: Sat Jan 23, 2010 9:39 am    Post subject: Reply with quote

Yes, I got it now the ahk file. I don't know but when I tested it, the arrow feature it didn't expand the word.

Example I type in dan, menu pops up and I choose item 3, it expanded to dancing. Now I type the dan, this time I use the arrow to go to 3, enter, dan remains dan. It doesn't expand to danced.

If you can enlighten me please.
Back to top
Guest






PostPosted: Sat Jan 23, 2010 9:41 am    Post subject: Reply with quote

EDIT PLEASE........THANKS....

Yes, I got it now the ahk file. I don't know but when I tested it, the arrow feature it didn't expand the word.

Example I type in dan, menu pops up and I choose item 3, it expanded to danced. Now I type the dan, this time I use the arrow to go to 3, enter, dan remains dan. It doesn't expand to danced.

If you can enlighten me please.
Back to top
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Sat Jan 23, 2010 12:00 pm    Post subject: Reply with quote

Perhaps reading the intro will solve your problem
Quote:
In addition to being able to use the number keys to select a word, you can select words from the drop-down via the Up/Down arrows. Hitting Up on the first item will bring you to the last and hitting Down on the last item will bring you to the first. Hitting Page Up will bring you up 10 items, or to the first item. Hitting Page Down will bring you down 10 items, or to the last item. You can hit Tab, Ctrl-Space, or Ctrl-Enter to autocomplete the selected word. This feature can be disabled or have some of its behavior modified via the Preferences file.

_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
Guest






PostPosted: Sat Jan 23, 2010 12:43 pm    Post subject: Reply with quote

Yes. It's working now with triggers Tab, Ctrl-Space, or Ctrl-Enter. I would like to customize mine as Enter instead of Enter. Where do I change this in the code? Thanks.
Back to top
maniac



Joined: 28 Aug 2009
Posts: 267

PostPosted: Sat Jan 23, 2010 4:34 pm    Post subject: Reply with quote

Anonymous wrote:
Yes. It's working now with triggers Tab, Ctrl-Space, or Ctrl-Enter. I would like to customize mine as Enter instead of Enter. Where do I change this in the code? Thanks.


I wouldn't recommend it - for example say you want to visit a website like
www.google.com
when you hit enter after typing "com", you will autocomplete the word "coma" (if using that 100,000 word list) and you will not be able to type "com" without hitting esc first.

If you still feel it's a good idea, just replace all instances of "^Enter" with "Enter".
Back to top
View user's profile Send private message
Guest






PostPosted: Sun Jan 24, 2010 3:44 pm    Post subject: Reply with quote

Thanks again for the arrow feature, maniac and hugo.
Back to top
theleo33
Guest





PostPosted: Thu Mar 11, 2010 8:44 am    Post subject: Reply with quote

looks great,

Is there a final, more compiled version of this around?
Back to top
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Thu Mar 11, 2010 9:33 am    Post subject: Reply with quote

Yes see http://www.autohotkey.com/forum/viewtopic.php?t=53630
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
Newguest
Guest





PostPosted: Sat Jun 26, 2010 2:56 am    Post subject: Reply with quote

hugov wrote:
Yes see http://www.autohotkey.com/forum/viewtopic.php?t=53630

I need to type words including number characters. How can I disable (or enable) the number key's functionality?
TIA. Embarassed
Back to top
maniac



Joined: 28 Aug 2009
Posts: 267

PostPosted: Sat Jun 26, 2010 4:30 am    Post subject: Reply with quote

Newguest wrote:
hugov wrote:
Yes see http://www.autohotkey.com/forum/viewtopic.php?t=53630

I need to type words including number characters. How can I disable (or enable) the number key's functionality?
TIA. Embarassed


Please use the new thread for these questions as this thread has been superseded. You can disable the number keys via the preferences file, this will allow words with numbers to be learned. There are some slight issues with this ATM (ie, words made up entirely of numbers will be learned right now), but I have a fixed version of this ready. I may release it soon, I was hoping to get the config gui done but I haven't had time.
Back to top
View user's profile Send private message
Newguest
Guest





PostPosted: Sat Jun 26, 2010 6:25 am    Post subject: Reply with quote

Thanks you so much for your quick response. Waiting for latest version.
Have a nice day!
Newguest
Back to top
Artiprinted



Joined: 08 Feb 2011
Posts: 4

PostPosted: Tue Feb 08, 2011 8:08 pm    Post subject: This script is so cool. Reply with quote

Hello,

I want to ask if you can keep the most updated version on the first post so that one does not have to read through many posts to find the newest version. Also please put a version number on it 1.1 or 1.2 and 1.3 as you release so i can figure out what version i have and need to update to.

Thanks,
Back to top
View user's profile Send private message
Artiprinted



Joined: 08 Feb 2011
Posts: 4

PostPosted: Tue Feb 08, 2011 8:23 pm    Post subject: issue with latest version Reply with quote

It seems as though anything after this version has performance issues. When i use notepad it is ok but if i use IM or other programs it misses the first character when typing it in. example: test return anthing that starts with "est" instead of "test"


maniac wrote:
kakarukeys wrote:
2. The script can't read from wordlist.txt in Vista 64bit !?

Works for me on Win 7 64 bit... but I have UAC disabled... maybe that's why?


OK, new version. I've done 1, 2, 5, and 6 (5 is handled via the ini file) from this post, added in 2 key presses, and fixed the ini format.

Next up is 3, 4, 7, 8, hugov's up/down feature, and parameterizing the Learning capability.

Code:
;  TypingAid
;  Press 1 to 0 keys to autocomplete the word upon suggestion
;  (0 will match suggestion 10)
;                              Credits:
;                               -Jordi S
;                               -Maniac
;                               -hugov
;                               -kakarukeys
;                               -Asaptrad
;___________________________________________

; Press 1 to 0 keys to autocomplete the word upon suggestion
; (0 will match suggestion 10)
;_______________________________________

;    CONFIGURATIONS

#NoEnv
SetBatchLines, 20ms
ListLines Off

OnExit, SaveScript

;read in the preferences file
ReadPreferences()

;setup code
clearword=1

CoordMode, ToolTip, Relative
AutoTrim, Off

SetTimer, Winchanged, 100

;mark the wordlist as not done
WordListDone = 0

;reads list of words from file
FileRead, ParseWords, %A_ScriptDir%\Wordlist.txt
Loop, Parse, ParseWords, `n, `r
{
   AddWordToList(A_LoopField)
}
ParseWords =

;reverse the numbers of the word counts in memory
GoSub, ReverseWordNums

;mark the wordlist as completed
WordlistDone = 1

Loop
{
   ;Editor window check
    WinGetActiveTitle, ATitle
    WinGet, A_id, ID, %ATitle%
    IfNotInString, ATitle, %ETitle%
    {
      ToolTip
      Word=
      WinWaitActive, %ETitle%
      Continue
    }   
   
   ;Get one key at a time
   Input, chr, L1 V, %TerminatingCharacters%
   EndKey = %errorlevel%
   ; If active window has different window ID from before the input, blank word
   ; (well, assign the number pressed to the word)   
   WinGetActiveTitle, ATitle
   WinGet, A_id2, ID, %ATitle%
   IfNotEqual, A_id, %A_id2%
   {
      Gosub,clearallvars
      Word = %chr%
      Continue
   }
   
   ifequal, OldCaretY,
        OldCaretY = %A_CaretY%
   ifnotequal, OldCaretY, %A_CaretY%
   {
      ; add the word if switching lines
      AddWordToList(Word)
      Gosub,clearallvars
      Word = %chr%
      Continue         
   }

   OldCaretY=%A_CaretY%
   
      ;Backspace clears last letter
   ifequal, EndKey, Endkey:BackSpace
   {
      StringLen, len, Word
      IfNotEqual, len, 0
      {
         ifequal, len, 1   
         {
            Gosub,clearallvars
         } else {
                  StringTrimRight, Word, Word, 1
                }     
      }
   } else ifequal, EndKey, Max
         {
            if chr in %ForceNewWordCharacters%
            {
               AddWordToList(Word)
               Gosub, clearallvars
               Word = %chr%
               Continue
            } else {
                  Word .= chr
                  }
         } else {
                  AddWordToList(Word)
                  Gosub, clearallvars     
                }
   
   ;Wait till minimum letters
   IF ( StrLen(Word) < wlen )
   {
      ToolTip,
      Continue
   }
   
   ;Match part-word with command
   Num =
   Match =
   singlematch = 0
   number = 0
   StringLeft, baseword, Word, %wlen%
   baseword := ConvertWordToAscii(baseword,1)
   Loop
   {
      IfEqual, zword%baseword%%a_index%,, Break
      IfEqual, number, 10
         Break
      if ( SubStr(zword%baseword%%a_index%, 1, StrLen(Word)) = Word )
      {
         number ++
         singlematch := zword%baseword%%a_index%
         match .= Mod(number,10) . ". " . singlematch . "`n"
         singlematch%number% = %singlematch%
           
         Continue           
      }
   }
   
   ;If no match then clear Tip
   IfEqual, Match,
   {
      clearword=0
      Gosub,clearallvars
      Continue
   }
   
   ;Show matched command
   StringTrimRight, match, match, 1        ; Get rid of the last linefeed
   WinGetActiveTitle, ATitle
   WinGetPos, , PosY, , SizeY, %ATitle%
   ToolTipSizeY := (number * 12)
   ToolTipPosY := A_CaretY+14
   if ((ToolTipSizeY + ToolTipPosY) > (PosY + SizeY))
       ToolTipPosY := (A_CaretY - 14 - ToolTipSizeY)
   IfNotEqual, Word,,ToolTip, %match%, %A_CaretX%, %ToolTipPosY%
   ; +14 Move tooltip down a little so as not to hide the caret.
}

; Timed function to detect change of focus (and remove tooltip when changing active window)
Winchanged:
   WinGetActiveTitle, ATitle
   WinGet, A_id3, ID, %ATitle%
   IfNotEqual, A_id, %A_id3%
   {
      ToolTip ,
   } else {
            ; If we are in the correct window, and OldCaretY is set, clear the tooltip if not in the same line
            IfInString, ATitle, %ETitle%
            {
               IfNotEqual, OldCaretY,
               {
                  IfNotEqual, OldCaretY, %A_CaretY%   
                  {
                     ToolTip,
                  }
               }
            }
         }
   Return
   
; Key definitions for autocomplete (0 to 9)
#MaxThreadsPerHotkey 1
$1::
$2::
$3::
$4::
$5::
$6::
$7::
$8::
$9::
$0::
CheckWord(A_ThisHotkey)
Return

; If hotkey was pressed, check wether there's a match going on and send it, otherwise send the number(s) typed
CheckWord(Key)
{
   global
   Local ATitle
   Local A_id2
   Local WordIndex
   Local KeyAgain
   
   StringRight, Key, Key, 1 ;Grab just the number pushed, trim off the "$"
   
   IfEqual, Key, 0
   {
      WordIndex = 10
   } else {
            WordIndex = %Key%
         } 
   
   clearword=1
   IfEqual, NumPresses, 2
      Suspend, On

   ; If active window has different window ID from before the input, blank word
   ; (well, assign the number pressed to the word)
   WinGetActiveTitle, ATitle
   WinGet, A_id2, ID, %ATitle%
   IfNotEqual, A_id, %A_id2%
   {
      SendInput,%key%
      Gosub,clearallvars
      IfEqual, NumPresses, 2
         Suspend, Off
      Return
   }
     
   IfNotEqual, OldCaretY, %A_CaretY% ;Make sure we are still on the same line
   {
      SendInput,%key%
      Gosub,clearallvars
      IfEqual, NumPresses, 2
      Suspend, Off
      Return
   }

   ifequal, Word,        ; only continue if word is not empty
   {
      SendInput,%key%
      Word = %key%
      clearword=0
      Gosub,clearallvars
      IfEqual, NumPresses, 2
         Suspend, Off
      Return
   }
         
   ifequal, singlematch%WordIndex%,   ; only continue singlematch is not empty
   {
      SendInput,%key%
      Word .= key
      clearword=0
      Gosub,clearallvars
      IfEqual, NumPresses, 2
         Suspend, Off
      Return
   }

   IfEqual, NumPresses, 2
   {
      Input, keyagain, L1 I T0.5, 1234567890
     
      ; If there is a timeout, abort replacement, send key and return
      IfEqual, ErrorLevel, Timeout
      {
         SendInput, %key%
         Word .= key
         clearword=0
         Gosub,clearallvars
         Suspend, off
         Return
      }

      ; Make sure it's an EndKey, otherwise abort replacement, send key and return
      IfNotInString, ErrorLevel, EndKey:
      {
         SendInput, %key%%keyagain%
         Word .= key . keyagain
         clearword=0
         Gosub, clearallvars
         Suspend, off
         Return
      }
;      ListVars
 ;     Pause
      ; If the 2nd key is NOT the same 1st trigger key, abort replacement and send keys   
      IfNotInString, ErrorLevel, %key%
      {
         StringTrimLeft, keyagain, ErrorLevel, 7
         SendInput, %key%%keyagain%
         Word .= key . keyagain
         clearword=0
         Gosub, clearallvars
         Suspend, Off
         Return
      }
   }

   Local sending
   Local len
   Local ClipboardSave
   ; SEND THE WORD!
   sending := singlematch%WordIndex%
   StringLen, len, Word
   ; Update Typed Count
   UpdateWordCount(sending)   
   SendPlay, {BS %len%}{Raw}%sending% ; First do the backspaces, Then send word (Raw because we want the string exactly as in wordlist.txt)
   ; below works but uses clipboard
   ;ClipboardSave:=ClipboardAll
   ;Clipboard = %sending%
   ;SendPlay, {BS %len%}^v ; First do the backspaces, Then send word (Raw because we want the string exactly as in wordlist.txt)
   ;Clipboard = %ClipboardSave%
   Gosub,clearallvars
   IfEqual, NumPresses, 2
      Suspend, Off
   Return
}

; This is to blank all vars related to matches, tooltip and (optionally) word
clearallvars:
      Ifequal,clearword,1
      {
         word =
         OldCaretY=
      }
      ToolTip
      ; Clear all singlematches
      Loop, 10
      {
         singlematch%a_index% =
      }
      sending =
      key=
      match=
      clearword=1
      Return

AddWordToList(AddWord)
{
   global
   Local CharTerminateList
   Local Base
   Local AddWordInList
   Local CountWord
   Local pos

   Ifequal, Addword,  ;If we have no word to add, skip out.
      Return
   if ( Substr(addword,1,1) = ";" ) ;If first char is ";", clear word and skip out.
   {
      IfEqual, wordlistdone, 0 ;If we are still reading the wordlist file and we come across ;LEARNEDWORDS; set the LearnedWordsCount flag
      {
         IfEqual, AddWord, `;LEARNEDWORDS`;
            LearnedWordsCount=0
      }
      addword =
      Return
   }
   
   ifequal, wordlistdone, 1
   {
         if addword contains 1,2,3,4,5,6,7,8,9,0,%ForceNewWordCharacters%
            Return
   }
   IF ( StrLen(addword) <= wlen ) ; don't add the word if it's not longer than the minimum length
   {
      addword =
      Return
   }

   Base := ConvertWordToAscii(SubStr(addword,1,wlen),1)
   IfEqual, WordListDone, 0 ;if this is read from the wordlist
   {
      IfNotEqual,LearnedWordsCount,  ;if this is a stored learned word
      {
         CountWord := ConvertWordToAscii(addword,0)
         IfEqual, LearnedWords,     ;if we haven't learned any words yet, set the LearnedWords list to the new word
         {
            LearnedWords = %addword% 
         } else {   ;otherwise append the learned word to the list
                  LearnedWords .= "," . addword
               }
         zCount%CountWord% := LearnedWordsCount++    ;increment the count and store the Weight of the LearnedWord in reverse order (will be inverted later)
      }
      IncrementCounterAndAddWord(Base,AddWord)
     
   } else { ; If this is an on-the-fly learned word
            AddWordInList =
            Loop ;Check to see if the word is already in the list, case sensitive
            {
               IfEqual, zword%base%%a_index%,, Break
               if ( zword%base%%a_index% == AddWord )
               {
                  AddWordInList = 1
                  Break
               }           
               Continue           
            }
           
            IfEqual, AddWordInList, ; if the word is not in the list
            {
               CountWord := ConvertWordToAscii(addWord,0)
               zCount%CountWord% = 1   ;set the count to one as it's the first time we typed it
               IfEqual, LearnedWords,    ;if we haven't learned any words yet, set the LearnedWords list to the new word
               {
                  LearnedWords = %addword% 
               } else {   ;otherwise append the learned word to the list
                        LearnedWords .= "," . addword
                     }
               IncrementCounterAndAddWord(Base,AddWord)
            } else {
                     UpdateWordCount(addword) ;Increment the word count if it's already in the list
                  }
         }
   
   Return
}

IncrementCounterAndAddWord(Base,AddWord)
{
   global
   local pos
   ; Increment the counter for each hash
   zbasenum%Base%++       
   pos := zbasenum%Base%
   ; Set the hashed value to the word
   zword%Base%%pos% = %addword%
}
   
; This sub will reverse the read numbers since now we know the total number of words
ReverseWordNums:
LearnedWordsCount+=4
Loop,parse,LearnedWords, `,
{
   AsciiWord := ConvertWordToAscii(A_LoopField,0)
   zCount%AsciiWord% := LearnedWordsCount - zCount%AsciiWord%
}

AsciiWord =
LearnedWordsCount =

Return

UpdateWordCount(word)
{
; If the Count for the word already exists - ie if it's a learned word, increment it, else don't.
   local CountWord := ConvertWordToAscii(word,0)
   IfNotEqual, zCount%CountWord%,
   {
      zCount%CountWord%++ 
      local WordBase
      StringLeft, WordBase, word, %wlen% ;find the pseudohash for the word
      WordBase := ConvertWordToAscii(WordBase,1)
      Local ConvertWord =
      Local LowIndex =
      Local WordList =
      Loop
      {
         ifequal, zword%WordBase%%A_Index%, ;Break the loop if no more words to read for the hash
            Break
         CountWord := zword%WordBase%%A_Index% ;Set CountWord to the current Word position
         ConvertWord := ConvertWordToAscii(CountWord,0) ; Find the Ascii equivalent of the word
         IfNotEqual, zCount%ConvertWord%,  ;If there's no count for this word do nothing
         {
            IfEqual, LowIndex,
               LowIndex = %A_Index% ;If this is the first word we've found with a count set this as our starting position
               
            WordList .= "," . zCount%ConvertWord% . "z" . CountWord ;prefix all words with (zCount"z")
         }
      }
     
      ifnotequal, Wordlist, ;If we have no words to process, don't
      {
         StringTrimLeft, WordList, WordList, 1
         Sort, WordList, N R D, ;Sort the wordlist by order of
         
         LowIndex-- ;A_Index starts at 1 so this value needs to be decremented
         Local IndexPos =
         Loop, Parse, WordList, `,
         {
            IndexPos := LowIndex + A_Index ;Set the current word we are processing to the starting pos plus word position
            StringTrimLeft, CountWord, A_LoopField, InStr(A_LoopField,"z") ;Strip (Number,"z") from beginning
            zword%WordBase%%IndexPos% = %CountWord% ; update the word in the list
           
         }
      }
   }
   Return
}
     
ConvertWordToAscii(Base,Caps)
{
; Return the word in Ascii numbers padded to length 3 per character
; Capitalize the string if NoCaps is not set
   IfEqual, Caps, 1
      StringUpper, Base, Base
   Loop, Parse, Base
   {
      New .= SubStr("00" . Asc(A_LoopField),-2)
   }
Return New
}

ReadPreferences()
{
   global ETitle
   global TerminatingCharacters
   global ForceNewWordCharacters
   global Wlen
   global NumPresses
   Prefs = %A_ScriptDir%\Preferences.ini
   DftTerminatingCharacters = {enter}{space}{bs}{esc}{tab}{Home}{End}{PgUp}{PgDn}{Up}{Down}{Left}{Right}.;`,:¿?¡!'"()]{}{}}{{}
   If FileExist(Prefs)
   {
      IniRead, ETitle, %Prefs%, Settings, Title, %A_Space%
      IniRead, TerminatingCharacters, %Prefs%, Settings, TerminatingCharacters, %DftTerminatingCharacters%
      IniRead, ForceNewWordCharacters, %Prefs%, Settings, ForceNewWordCharacters, %A_Space%
      IniRead, Wlen, %Prefs%, Settings, Length, 3
      IniRead, NumPresses, %Prefs%, Settings, NumPresses, 1
   } else {
            INI=
               (
;Title is a string of text to find in the title of the window you want TypingAid enabled for. If you leave
;it blank it will work in all windows.
[Settings]
Title=
;
;TerminatingCharacters is a list of EndKey characters which will signal the script that you are done typing a word.
;A list of keys may be found here:
; http://www.autohotkey.com/docs/KeyList.htm
;Certain characters (such as `% or , ) require an escape character in front, see here:
; http://www.autohotkey.com/docs/commands/_EscapeChar.htm
;For more detail on how to format the list of characters please see the EndKeys section (paragraphs 2,3,4) of:
; http://www.autohotkey.com/docs/commands/Input.htm
TerminatingCharacters={enter}{space}{bs}{esc}{tab}{Home}{End}{PgUp}{PgDn}{Up}{Down}{Left}{Right}.;`,:¿?¡!'"()]{}{}}{{}
;
;ForceNewWordCharacters is a comma separated list of characters which force the script to start a new word whenever
;one of those characters is typed. Any words which begin with one of these characters will never be learned (even
;if learning is enabled). If you were typing a word when you hit one of these characters that word will be learned
;if learning is enabled.
ForceNewWordCharacters=
;
;Length is the minimum number of characters required to show the list of words. The higher this number the better performance will be.
Length=3
;
;NumPresses is the number of times the hotkey must be pushed for the word to be selected, either 1 or 2.
NumPresses=1
               )               
               FileAppend, %INI%, %A_ScriptDir%\Preferences.ini
         }
   

   IfEqual, Wlen,
      Wlen = 3
   
   IfEqual, TerminatingCharacters,
      TerminatingCharacters = DftTerminatingCharacters
     
   IfEqual, NumPresses,
      NumPresses = 1
     
   Return
}
   
SaveScript:
; Close the tooltip if it's open
ToolTip,
; Add all the standard words to the tempwordlist
FileRead, ParseWords, %A_ScriptDir%\Wordlist.txt
LearnedwordsPos := InStr(ParseWords, "`;LEARNEDWORDS`;",true,1) ;Check for Learned Words
IfNotEqual, LearnedwordsPos, 0
{
   TempWordList := SubStr(ParseWords, 1, LearnedwordsPos - 1) ;Grab all non-learned words out of list
} else {
         TempWordList := ParseWords
      }
ParseWords =
; Parse the learned words and store them in a new list by count if their total count is greater than 5.
; Prefix the word with the count and "z" for sorting
Loop, Parse, LearnedWords, `,
{
   SortWord := ConvertWordToAscii(A_LoopField,0)
   
   IfGreaterOrEqual, zCount%SortWord%, 5
   {
      SortWordList .= "," . zCount%SortWord% . "z" . A_LoopField
   }
}

StringTrimLeft, SortWordList, SortWordList, 1 ;remove extra starting comma

Sort, SortWordList, N R D, ; Sort numerically, comma delimiter

IfNotEqual, SortWordList, ; If SortWordList exists write to the file, otherwise don't.
{
   TempWordList .= "`;LEARNEDWORDS`;`r`n"
   Loop, Parse, SortWordList, `,
   {
      StringTrimLeft, AppendWord, A_LoopField, InStr(A_LoopField,"z") ;Strip (Number,"z") from beginning
      TempWordList .= AppendWord . "`r`n"
   }
   StringTrimRight, TempWordList, TempWordList, 2
   
   FileDelete, %A_ScriptDir%\Temp_Wordlist.txt
   FileAppend, %TempWordList%, %A_ScriptDir%\Temp_Wordlist.txt ;Only update the file if we have learned words
   FileCopy, %A_ScriptDir%\Temp_Wordlist.txt, %A_ScriptDir%\Wordlist.txt, 1
   FileDelete, %A_ScriptDir%\Temp_Wordlist.txt
}

ExitApp
Back to top
View user's profile Send private message
maniac



Joined: 28 Aug 2009
Posts: 267

PostPosted: Tue Feb 08, 2011 8:44 pm    Post subject: Re: This script is so cool. Reply with quote

Artiprinted wrote:
Hello,

I want to ask if you can keep the most updated version on the first post so that one does not have to read through many posts to find the newest version. Also please put a version number on it 1.1 or 1.2 and 1.3 as you release so i can figure out what version i have and need to update to.

Thanks,


This is an outdated thread. As it says several times near the end of this thread (and in the first post), please see this thread for the newest version:
http://www.autohotkey.com/forum/viewtopic.php?t=53630

If you are still having issues with that version, let me know in that thread and we can look into them. Thanks!
Back to top
View user's profile Send private message
jordis



Joined: 30 Jul 2004
Posts: 81

PostPosted: Tue Feb 08, 2011 8:54 pm    Post subject: Reply with quote

I added a "Please read first" note directing to maniac's TypingAid
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Page 10 of 10

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group