Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

NumerologyMe!


  • Please log in to reply
No replies to this topic
floodindahood
  • Members
  • 383 posts
  • Last active: Apr 20 2018 01:45 PM
  • Joined: 21 Oct 2011

After stumbling upon the lecture about numerology by IMF's she-devil, Christine Lagarde, I wondered out loud "WTF", the whole world is pooped as it's one step from the 19th century's schemed collapse of mankind and ofc "I can AHK this D: (numerology)".

 

Couple hours passed and I've created a magical numerologizing script.

It uses the "Pythagorean" system (which i found out to have nothing to do with the almighty Pythagoras but, instead being the creation of a 19th century housewife) and displays the results neatly in a listview.

 

To note though, single digit values do not amount to 11 or 22 from all values and it got too tedious so I just left it as is.

;;~~ IIRC "Just Me" posted the variadic lv stuff on ahk forums, thanks for that!   ~~;;
;;~~ http://www.askastrologer.com/pythagoras-numero.html was used as a "reference" ~~;;
;;~~    and left the sample name and date as defaults since i found they had...    ~~;;
;;~~    the "challenge" numbers incorrectly, resulting in a neat 666, which was    ~~;;
;;~~                        rather entertaining given the context                  ~~;;

InputBox,name,Enter your name,,,200,100,,,,,Agnes Gonxha Bojaxhiu 
if (errorlevel)
	Exitapp
else{
	InputBox,bday,Enter your bday,,,200,120,,,,,26.08.1910
	if (errorlevel)
		Exitapp
}

lvObj := Object()
header := Object()
header.insert("Method")
stringsplit,name,name,%A_Space%
loop, % name0
	header.Insert(name%A_Index%)
header.insert("Name SD")
header.insert(bday)
header.insert("Birthday SD")
header.insert("Method (number)")
lvObj.Insert(header)

mList := "Mrs.Balliettian(Destiny),Mrs.Balliettian(Talent),Mrs.Balliettian(Soul urge),Mrs.Balliettian(Personality),Mrs.Balliettian(Ultimate),Mrs.Balliettian(Challenge)"
stringsplit,mList,mList,`,
loop % mList0 {
	c := A_Index
	if (mList%c% == "Mrs.Balliettian(Destiny)") {
		;~ rowData%c% := Row(mList%c%,name,"","","")
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert(CompWord(name%A_Index%,99))
		}
		row%c%.Insert(CompWord(name,9))
		row%c%.Insert("")
		row%c%.Insert("")
		dest := CompWord(name,9)
	}
	else if (mList%c% == "Mrs.Balliettian(Talent)") {
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert("")
		}
		row%c%.Insert("")
		row%c%.Insert(CompNum(bday,99))
		row%c%.Insert(CompNum(bday,9))
		tal := CompNum(bday,9)
	}
	else if (mList%c% == "Mrs.Balliettian(Soul urge)") {
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert(CompWord(regexreplace(name%A_Index%,"[BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz]"),99))
		}
		row%c%.Insert(CompWord(regexreplace(name,"[BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz]"),9))
		row%c%.Insert("")
		row%c%.Insert("")
	}
	else if (mList%c% == "Mrs.Balliettian(Personality)") {
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert(CompWord(regexreplace(name%A_Index%,"[AEIOUYaeiouy]"),99))
		}
		row%c%.Insert(CompWord(regexreplace(name,"[AEIOUYaeiouy]"),9))
		row%c%.Insert("")
		row%c%.Insert("")
	}
	else if (mList%c% == "Mrs.Balliettian(Ultimate)") {
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert("")
		}
		row%c%.Insert("")
		row%c%.Insert("")
		row%c%.Insert("")
		row%c%.Insert(CompNum(dest+tal,9))
	}
	else if (mList%c% == "Mrs.Balliettian(Challenge)") {
		row%c% := Object()
		row%c%.Insert(mList%c%)
		loop, % name0 {
			row%c%.Insert("")
		}
		row%c%.Insert("")
		row%c%.Insert("")
		row%c%.Insert("")
		stringsplit,bday,bday,`.
		ch1 := Abs(CompNum(bday1,9)-CompNum(bday2,9))
		ch2 := Abs(CompNum(bday1,9)-CompNum(bday3,9))
		ch3 := Abs(ch1-ch2)
		ch4 := Abs(CompNum(bday2,9)-CompNum(bday3,9))
		row%c%.Insert(ch1 " | " ch2 " | " ch3 " | " ch4)
	}
	lvObj.Insert(row%c%)
}
Results(lvObj)
Return

Results(lvData) {
	Loop, % lvData.MaxIndex() {
		if(A_Index == 1){
			Loop, % lvData[1].MaxIndex()
				strHeader .=  "|" . lvData[1][A_Index]
			Gui, +Resize
			Gui, Add, ListView, w400 h150 +grid NoSortHdr readonly -LV0x10, % SubStr(strHeader, 2)
		}
		else {
			LV_Add("", lvData[A_Index]*)
		}
	}
	LV_ModifyCol()
	Gui, Show,,NumerologyMe!
}
return

;~ rshift::
GuiClose:
ExitApp

CompNum(i,dec){
	;~ if (i < dec+1)
		;~ return i
	while ((r > dec || r == "") || (r == 11 || r == 22)){
		r:=""
		loop,parse,i
			r += A_LoopField
		i := r
	}
	return r
}
CompWord(s,dec) {
	loop,parse,s
		w .= (a_loopfield == A_Space) ? "" : ((t:=mod(asc(StrLower(a_loopfield))-60,9)) ? t : 9)
	while (r > dec || r == ""){
		r:=""
		loop,parse,w
			r += A_LoopField
		w := r
	}
	return r
}

StrLower(i){
	StringLower,i,i
	return i
}

Feel free to abuse as you'd like to, e.g. late-night "clairvoyance" tv-shows come to mind as a potential source of income :3