• Intro to AutoHotkey Intermediate AutoHotkey Intermediate Objects GUIs are Easy w/AutoHotkey Painlessly switch from V1 to V2

Bill Gates demonstrates the first use of Text Expansion Ever Recorded

I was watching an old Microsoft video where Bill Gates was demonstrating Visual Basic.   To my surprise he mentioned using Text Expansion (HotStrings)

I always like to say that HotStrings are the “Hidden Gems” of AutoHotkey.   If you’re not using them, you are missing out!

Clean Phone numbers with RegEx in AutoHotkey

In this video I show how to use a function calling a  RegEx (a Regular Expression ) to clean phone numbers.

Clean Phone numbers with RegEx

06: Chrome and AutoHotkey: Getting lists from page

Automating and ChromeHere we continue with GeekDude working with Chrome and AutoHotkey extracting data from a webpage.  This session we focus on getting lists and leverage JSON, Chrome.Jxon_Dump, JSON.stringify, Chrome.Jxon_Load and jQuery.

The great news is that GeekDude explained how we can see the Reddit site the way it was the below video!

By logging into https://old.reddit.com/r/AutoHotkey/, the HTML will be the same as in the video!

Chrome and AutoHotkey: Getting lists from page

donate to GeekDudeIf you’re loving this, please consider donating to GeekDude!

Notes: Chrome and AutoHotkey: Getting lists from page

00:05     Sometimes you want multiple items from a page.  Maybe all post titles, or all links form comments.

00:20     Looking in HTML we see there’s a lot going on.  We need to look at the structure BEFORE we get working on it.

Continue reading

Easily pushing delimited data into a ListView in AutoHotkey

I used to be a Data Scientist and often found data that I’d want to “peak” at.  AutoHotkey listviews are an easy way to do this!

Example Easily pushing delimited data into a ListView in AutoHotkey

Here’s the code I used to Easily pushing delimited data into a ListView in AutoHotkey
 


#Include  
;**************************************
Data=
(
Email First_Name Last_Name Title Another more more2
Joe@the-Automator.com Joe Glines the-Automator LastFound one End
joejunkemail@yahoo.com Jon King King big guy Here
Joe@AnotherDomain.com Joseph GLines Something now what ok
)

Data1=
(
ONE,TWO,THREE,FOUR,FIVE,SIX
1one,1two,1three,1four,1five,1six
2one,2two,2three,2four,2five,2six
)
LV_Table(Data1,",",1,Title:="Example Tab delimited data & not using header") ;comma on variable
;~ Data_Source3:=A_ScriptDir . "\data.txt"
;~ LV_Table(Data_Source3,,0,Title:="Example large tab delimited FILE not using header") ;tab on file

;~ LV_Table(Post, delimiter:="`t",UseHeader:=1,Title:="Joe's posts")
LV_Table(Data_Source, delimiter="`t",UseHeader=1,Title=""){ ; default delimiter set to tab
if FileExist(Data_Source) ;if file exists use it as source
FileRead, Data_Source, %Data_Source% ;read in and store as variable

;***********parse the data in variable and store in object*******************
data_obj := StrSplit(Data_Source,"`n","`r") ;parse earch row and store in object
rowHeader:=StrReplace(data_obj.RemoveAt(1),Delimiter,"|",Numb_Columns) ; Remove header from Object and convert to pipe delimited
if (useHeader=0){
loop, % Numb_Columns+1
RH.="Col_" A_Index "|"
rowHeader:=RH
}

dCols:= (Numb_Columns<8) ? 400: ((Numb_Columns<80) ? 650 : 1100) ;if cols <10 use 400; if cols <80 use 650 ; else use 1100
dRows:= (data_obj.MaxIndex() >27) ? 26 : data_obj.MaxIndex() ;if rows >27 use 26 else use # of rows

Gui, Table_View: New,,%Title% ;create new gui window and set title
Gui, Add, ListView, w%dCols% r%dRows% grid , % rowHeader ;set headers

For Each, Row In data_obj ;add the data lines to the ListView
LV_Add("", StrSplit(Row, Delimiter)*) ;LV_Add is a variadic function

Gui, Table_View:Show
}