Jump to content
Sign in to follow this  
Svrij22

Admob Desktop Widget

Recommended Posts

Svrij22

Hello Autoit,

I recently made a cool little program that I wanted to share with you guys. I don't know if any of you has Admob, but if you do, this program automatically logs all your data and estimates how much you will make this day or month.

Current Features:

*Writes Log

*Average per Hour

*Estimated Month

*Estimated Day

Here's how it works: It opens an IE page, then reads all the text and splits it in an array, then filters the numbers and then calculates all the estimations.

 

I hope some of you will use this

 

Code:

#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Date.au3>
#Include <GuiEdit.au3>
HotKeySet ("^g", "show")
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Admob Widget", 430, 230, 0, 0)
$Label1 = GUICtrlCreateLabel("Today:", 8, 8, 80, 17)
$Label2 = GUICtrlCreateLabel("Yesterday", 8, 24, 80, 17)
$Label3 = GUICtrlCreateLabel("This Month:", 8, 40, 80, 17)
$Label4 = GUICtrlCreateLabel("Previous Month:", 8, 56, 80, 17)
$Label4 = GUICtrlCreateLabel("Estimated Today:", 8, 72, 185, 17)
$Label4 = GUICtrlCreateLabel("Estimated Month:", 8, 88, 185, 17)
$Label4 = GUICtrlCreateLabel("Average/Hour:", 8, 104, 185, 17)
$state = GUICtrlCreateLabel("State: Logging In", 8, 194, 185, 17)
$sleep = GUICtrlCreateCheckbox("Slow mode", 90, 150, 90, 17)
$Label4 = GUICtrlCreateLabel("Graph Height:", 8, 152, 80, 17)
$Input1 = GUICtrlCreateInput("100", 8, 168, 121, 21)
$Label22 = GUICtrlCreateLabel("v3.8", 140, 174, 121, 21)
$Label5 = GUICtrlCreateLabel("???", 112, 8, 100, 17)
$Label6 = GUICtrlCreateLabel("???", 112, 24, 100, 17)
$Label7 = GUICtrlCreateLabel("???", 112, 40, 100, 17)
$Label8 = GUICtrlCreateLabel("???", 112, 56, 100, 15)
$Label9 = GUICtrlCreateLabel("???", 112, 72, 100, 15)
$Label10 = GUICtrlCreateLabel("???", 112, 88, 100, 15)
$Label11 = GUICtrlCreateLabel("???", 112, 104, 100, 15)
$SmartAvg = GUICtrlCreateCheckbox("Smart Average", 8, 210, 100, 17)
$Button1 = GUICtrlCreateButton("View Log", 8, 120, 75, 25)
$Button2 = GUICtrlCreateButton("Hide", 90, 120, 75, 25)

$editctrl = GUICtrlCreateEdit("", 185, 8, 240, 215, $ES_AUTOVSCROLL + $ES_AUTOHSCROLL)
GUISetState(@sw_SHOW)

#EndRegion ### END Koda GUI section ###

;Starting Log
$NowTime = string (_NowCalc())
$hFileOpen = FileOpen("Log.txt", $FO_APPEND)
FileWrite($hFileOpen,$NowTime & " <--- Started (Widget by Svrij22)--->" & @crlf)

$Ai = 0
$Aval = 0
$Avalp = 0

global $log = ""

CheckLogin()
Refresh()

$i=0
$imax = 300

While 1

$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$sTxtFileDir = @scriptdir & "\Log.txt"
Run ( "notepad.exe " & $sTxtFileDir, @windowsdir, @sw_MAXIMIZE )
Case $Button2
MsgBox ("","","Press CTRL-G To show again")
GUISetState(@sw_hide)
EndSwitch
sleep (60)
$i+=1
if $i>$imax Then
Refresh()
$i=0
EndIf
GUICtrlSetData ($state, "State: Idle "&$i)

if GUICtrlRead($sleep) = $GUI_CHECKED Then
$imax = 900
Else
$imax = 300
EndIf

WEnd

func show()
GUISetState(@sw_SHOW)
EndFunc



Func CheckLogin()
Local $oIE = _IECreate("apps.admob.com", 0, 0, 0)
_IELoadWait($oIE)
sleep (4000)
Local $sText = _IEBodyReadText($oIE)
if StringInStr ($sText,"MONETIZE") Then
GUICtrlSetData ($state, "State: Logged In Succesfully")
sleep (150)
Else
MsgBox ("","","Failed to Retrieve Data. Please Login to your Admob account on Internet Explorer")
$oIE = _IECreate("apps.admob.com",0,1,1)
_IELoadWait($oIE)
WinClose($Form1)
GUICtrlSetData ($state, "State: Error 403")
EndIf
EndFunc

Func Refresh()
GUICtrlSetData ($state, "State: Connecting")
Local $oIE = _IECreate("apps.admob.com", 0, 0, 0)
_IELoadWait($oIE)
sleep (4000)
GUICtrlSetData ($state, "State: Getting Data")
Local $sText = _IEBodyReadText($oIE)
If StringInStr ($sText,"Yesterday") Then ; TEST CONNECTION
$sText = StringRegExpReplace($sText, " ", "")
$sText = StringRegExpReplace($sText, "[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]", "")
$sText = StringRegExpReplace($sText, @crlf, "")
$sText = StringRegExpReplace($sText, @cr, "")
$sText = StringRegExpReplace($sText, @lf, "")
$aSplit = StringSplit($sText, "€")
_IEQuit($oIE)
;setdata
$sToday = $aSplit[2]
$sYes = $aSplit[3]
$sTM = $aSplit[4]
$sPM = $aSplit[5]
$sPM = StringTrimRight ($sPM,29)
GUICtrlSetData ($Label5,$sToday&" € Euro")
GUICtrlSetData ($Label6,$sYes&" € Euro")
GUICtrlSetData ($Label7,$sTM&" € Euro")
GUICtrlSetData ($Label8,$sPM&" € Euro")


GUICtrlSetData ($state, "State: Getting Date")
sleep (150)
;Get Date
$sTime2 = string (_NowTime())
$sTime2 = StringTrimRight ($sTime2,3)
$sTime2 = StringReplace ($sTime2,":",".")
$sTime2 = Number ($sTime2)
if $sTime2 > 10 Then
$sDate = @mday
Else
$sDate = @mday-1
EndIf


GUICtrlSetData ($state, "State: Calculating Month Estimation")
sleep (150)
;Calculate Month Estimation
$sAvg = $sTM/$sDate
$sAvg = $sAvg*31
$sAvg = Round ($sAvg,2)
$sAvg = string ($sAvg)
GUICtrlSetData ($Label10,$sAvg&" € Euro")


GUICtrlSetData ($state, "State: Writing Ini for GM Graph")
sleep (150)
;Write ini for GM Graph
$hFileOpen = FileOpen("graph.txt", 2)
FileWrite($hFileOpen,"[graph]" & @crlf)
FileWrite($hFileOpen,"val="&$sToday& @crlf)
FileWrite($hFileOpen,"hei="& GUICtrlRead ($Input1) & @crlf)
FileWrite($hFileOpen,'date="'& string (_NowTime()) &'"'& @crlf)


GUICtrlSetData ($state, "State: Calculating Time")
sleep (150)
;Calculate Time again??
$sTime = string (_NowTime())
$sTime = StringTrimRight ($sTime,3)
$sTime = StringReplace ($sTime,":",".")
$sTime = Number ($sTime)

if $sTime > 10 Then
$sTime -= 10
Else
$sTime += 14
EndIf


GUICtrlSetData ($state, "State: Calculating Average/Hour")
sleep (150)
;Calculate Average/Hour
$sAvgT = $sToday/$sTime
$sAvgT = round ($sAvgT,2)
GUICtrlSetData ($Label11,$sAvgT&" € Euro")


GUICtrlSetData ($state, "State: Calculating Hours Passed")
sleep (150)
;Calculate hours passed
$sTime = string (_NowTime())
$sTime = StringTrimRight ($sTime,3)
$sTime = StringReplace ($sTime,":",".")
$sTime = Number ($sTime)

if $sTime > 10 Then
$sTime -= 10
Else
$sTime += 14
EndIf

GUICtrlSetData ($state, "State: Calculating Day Estimation")
sleep (150)
;Calculate Daily
$sToday = Number ($sToday)
$sEsti = ($sToday/$sTime)*24
$sEsti = round($sEsti,2)
GUICtrlSetData ($Label9,"~"+string($sEsti)&" € Euro")
$NowTime = string (_NowCalc())
$NowTime = string (_NowCalc())


GUICtrlSetData ($state, "State: Calculating Smart Average")
sleep (150)
;SmartAvg Begin
GUICtrlSetData ($state, "State: Calculating Smart Average")
sleep (600)
if GUICtrlRead($SmartAvg) = $GUI_CHECKED Then
$Aval += $sEsti
$Ai+=1
$Avalp = ($Aval/$Ai)*0.85
$sEsti = $Avalp
GUICtrlSetData ($Label9,$Avalp&" € Euro")
EndIf
;SmartAvg End

GUICtrlSetData ($state, "State: Writing Log")
sleep (150)
;Write Log
$hFileOpen = FileOpen("Log.txt", $FO_APPEND)
FileWrite($hFileOpen,$NowTime & " Earnings: " & $sToday & " Avg/Hour: " & $sAvgT & " Estimated Earnings: Today: " & $sEsti & " This month:" & $sAvg & @crlf)



GUICtrlSetData ($state, "State: Calculating GUI Log")
sleep (150)
;Calc gui log
$log=$log & string (_NowTime()) & " E: " & $sToday & " A/H: " & $sAvgT & " ET: " & $sEsti & @CRLF
GUICtrlDelete ($editctrl)
$editctrl = GUICtrlCreateEdit("", 185, 8, 240, 215, $ES_AUTOVSCROLL + $ES_AUTOHSCROLL)
_GUICtrlEdit_InsertText($editctrl,$log)

GUICtrlSetData ($state, "State: Closing IE")
sleep (150)
;Close IE
ProcessClose ("iexplore.exe")
ProcessClose ("iexplore.exe")


Else
GUICtrlSetData ($state, "State: Failed to Retrieve Data")
EndIf

GUICtrlSetData ($state, "State: Cleaning")
sleep (500)
GUICtrlSetData ($state, "State: Idle")
EndFunc

(Sorry if my code isn't so advanced and crappy)

Edited by Svrij22

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • santoshM
      By santoshM
      How can i exit from a procedure in auto
      Func test() if x=o then     return endif endFunc  
    • Valnurat
      By Valnurat
      Hi
      Small question.
      I trying to find all index in an array with value higher than 7.
      How can that be possible?
    • TrashBoat
      By TrashBoat
      Could someone help me create or give an idea of how to do a incrementing for loop that would do this: https://i.imgur.com/YFUt47H.gifv
      I'm having a hard time figuring it out :S
    • msd1994
      By msd1994
      I have a script that just adds some keyboard shortcuts for things like displaying the current song and artist, moving the window to the side so it won't pop up in my way, and play/pause, next song, previous song (these are the only 3 to still work since they don't need the window handle.)
      In some update recently, Spotify's window class swapped from "[CLASS:SpotifyMainWindow]" to "[CLASS:Chrome_WidgetWin_0]". Using the new class in my controls doesn't seem to work, I've tried getting the window handle from the process handle (_GetHwndFromPID($PID)) but that seems to fail as well.
      Does anybody have some idea of a way I could get this script working again?
       
      edit: seems like discord has the same window class name, so could be some issue with this? Still not sure of a way to solve the issue though, I added a function to get the handle of the active window and can just use that now, but it was able to find it on its own before on spotify startup or script startup which would be preferred.
       
      Thanks!
    • sumandevadiga
      By sumandevadiga
      Hello 
      I would like to Run Outlook macros from Autoit every 1 hour, below script unable to run macros.
      While 1 $Minute = Random(1,59,1) Do Sleep(1000) Until @Min = $Minute ; do whatever ; Since we want it to run randomly once an hour, we need to calculate how much time is left before the hour is up, and sleep that length of time. $s = ((60 - $Minute) * 60) * 1000 Sleep($s) $oOApp = ObjCreate("Outlook.Application") $oOApp.Run("SaveAttachments") ; Run Outlook Macros WEnd  
       
×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.