33 lines
970 B
AutoHotkey
33 lines
970 B
AutoHotkey
MaxLen=0
|
|
Loop, Read, UnixDict.txt ; Assigns A_LoopReadLine to each line of the file
|
|
{
|
|
thisword := A_LoopReadLine ; Just for readability
|
|
blSort := isSorted(thisWord) ; reduce calls to IsSorted to improve performance
|
|
ThisLen := StrLen(ThisWord) ; reduce calls to StrLen to improve performance
|
|
If (blSort = true and ThisLen = maxlen)
|
|
list .= ", " . thisword
|
|
Else If (blSort = true and ThisLen > maxlen)
|
|
{
|
|
list := thisword
|
|
maxlen := ThisLen
|
|
}
|
|
}
|
|
|
|
IsSorted(word){ ; This function uses the ASCII value of the letter to determine its place in the alphabet.
|
|
; Thankfully, the dictionary is in all lowercase
|
|
lastchar=0
|
|
Loop, parse, word
|
|
{
|
|
if ( Asc(A_LoopField) < lastchar )
|
|
return false
|
|
lastchar := Asc(A_loopField)
|
|
}
|
|
return true
|
|
}
|
|
|
|
GUI, Add, Edit, w300 ReadOnly, %list%
|
|
GUI, Show
|
|
return ; End Auto-Execute Section
|
|
|
|
GUIClose:
|
|
ExitApp
|