AutoHotkey Community

It is currently May 27th, 2012, 1:33 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Simple Calculator
PostPosted: April 26th, 2009, 8:55 am 
Offline

Joined: March 27th, 2009, 10:48 pm
Posts: 71
Simple Calculator, can Add, Subtract, Multiply, and Divide,
But only 2 Numbers at a time...

Code:
FirstNumber := 1
Gui, Add, Button, x16 y60 w30 h20 +Button g1, 1
Gui, Add, Button, x56 y60 w30 h20 +Button g2, 2
Gui, Add, Button, x96 y60 w30 h20 +Button g3, 3
Gui, Add, Button, x96 y120 w30 h20 +Button g9, 9
Gui, Add, Button, x16 y90 w30 h20 +Button g4, 4
Gui, Add, Button, x56 y90 w30 h20 +Button g5, 5
Gui, Add, Button, x96 y90 w30 h20 +Button g6, 6
Gui, Add, Button, x16 y120 w30 h20 +Button g7, 7
Gui, Add, Button, x56 y120 w30 h20 +Button g8, 8
Gui, Add, Button, x212 y67 w0 h46 +Button gAdd, Add
Gui, Add, Button, x16 y150 w30 h20 +Button g0, 0
Gui, Add, Button, x56 y150 w30 h20 +Button gDot, .
Gui, Add, Button, x96 y150 w30 h20 +Button gEquals, =
Gui, Add, Button, x146 y60 w50 h20 +Button gDivide, Divide
Gui, Add, Button, x146 y90 w50 h20 +Button gMultiply, Multiply
Gui, Add, Button, x146 y120 w50 h20 +Button gSubtract, Subtract
Gui, Add, Button, x146 y150 w50 h20 +Button gAdd, Add
Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
Gui, Show, w218 h190, Calculator
Return

1:
If FirstNumber = 1
{
    FileAppend, 1, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 1, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

2:
If FirstNumber = 1
{
    FileAppend, 2, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 2, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

3:
If FirstNumber = 1
{
    FileAppend, 3, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 3, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

4:
If FirstNumber = 1
{
    FileAppend, 4, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 4, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

5:
If FirstNumber = 1
{
    FileAppend, 5, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 5, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

6:
If FirstNumber = 1
{
    FileAppend, 6, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 6, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

7:
If FirstNumber = 1
{
    FileAppend, 7, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 7, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

8:
If FirstNumber = 1
{
    FileAppend, 8, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 8, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

9:
If FirstNumber = 1
{
    FileAppend, 9, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 9, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

0:
If FirstNumber = 1
{
    FileAppend, 0, %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, 0, %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

Dot:
If FirstNumber = 1
{
    FileAppend, ., %A_WorkingDir%\CalcNumbers.txt
    FileRead, Numbers1, %A_WorkingDir%\CalcNumbers.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers1%
    Return
}
Else
{
    FileAppend, ., %A_WorkingDir%\CalcNumbers2.txt
    FileRead, Numbers2, %A_WorkingDir%\CalcNumbers2.txt
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %Numbers2%
    Return
}

Divide:
    Control, Disable,, Button14
    Control, Disable,, Button15
    Control, Disable,, Button16
    Control, Disable,, Button17
    MathCommand = Div
    FirstNumber := 0
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right,
    Return

Multiply:
    Control, Disable,, Button14
    Control, Disable,, Button15
    Control, Disable,, Button16
    Control, Disable,, Button17
    MathCommand = Mult
    FirstNumber := 0
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right,
    Return

Subtract:
    Control, Disable,, Button14
    Control, Disable,, Button15
    Control, Disable,, Button16
    Control, Disable,, Button17
    MathCommand = Sub
    FirstNumber := 0
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right,
    Return

Add:
    Control, Disable,, Button14
    Control, Disable,, Button15
    Control, Disable,, Button16
    Control, Disable,, Button17
    MathCommand = Add
    FirstNumber := 0
    Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right,
    Return

Equals:
{
Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right,
FileRead, NumbersEqual1, %A_WorkingDir%\CalcNumbers.txt
FileRead, NumbersEqual2, %A_WorkingDir%\CalcNumbers2.txt
Control, Enable,, Button14
Control, Enable,, Button15
Control, Enable,, Button16
Control, Enable,, Button17
    If MathCommand = Div
    {
        EnvDiv, NumbersEqual1, %NumbersEqual2%
            Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %NumbersEqual1%
                FirstNumber := 1
            FileDelete, %A_WorkingDir%\CalcNumbers.txt
            FileDelete, %A_WorkingDir%\CalcNumbers2.txt
            Return
    }
    If MathCommand = Mult
    {
        EnvMult, NumbersEqual1, %NumbersEqual2%
            Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %NumbersEqual1%
                FirstNumber := 1
            FileDelete, %A_WorkingDir%\CalcNumbers.txt
            FileDelete, %A_WorkingDir%\CalcNumbers2.txt
            Return
    }
    If MathCommand = Sub
    {
        EnvSub, NumbersEqual1, %NumbersEqual2%
            Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %NumbersEqual1%
                FirstNumber := 1
            FileDelete, %A_WorkingDir%\CalcNumbers.txt
            FileDelete, %A_WorkingDir%\CalcNumbers2.txt
            Return
    }
    If MathCommand = Add
    {
        EnvAdd, NumbersEqual1, %NumbersEqual2%
            Gui, Add, Edit, x16 y20 w180 h20 ReadOnly +Right, %NumbersEqual1%
                FirstNumber := 1
            FileDelete, %A_WorkingDir%\CalcNumbers.txt
            FileDelete, %A_WorkingDir%\CalcNumbers2.txt
            Return
    }
}



GuiClose:
FileDelete, %A_WorkingDir%\CalcNumbers.txt
FileDelete, %A_WorkingDir%\CalcNumbers2.txt
ExitApp
Return


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 15 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group