Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 20:02

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Global, Function, Array? Wie soll ich es lösen?

Discussion on Global, Function, Array? Wie soll ich es lösen? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Elborod's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
Global, Function, Array? Wie soll ich es lösen?

Also:

Ich möchte mir einen Mensurrechner skripten. Es gibts zwar schon welche online und in Excel aber es geht mir ja schließlich mehr ums machen...

Soweit bin ich bis jetzt:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$rechner_GUI GUICreate("Rechner"226402516210)
$Mensur GUICtrlCreateInput("z.B.: 650"10485721)
$Buende GUICtrlCreateInput("z.B.: 14"104325721)
$Label1 GUICtrlCreateLabel("Mensur"4884820)
GUICtrlSetFont(-1104000"MS Sans Serif")
$label_buende GUICtrlCreateLabel("Bünde"56324320)
GUICtrlSetFont(-1104000"MS Sans Serif")
$Edit GUICtrlCreateEdit(""888209281)
$button_berechnen_GUI GUICtrlCreateButton("Berechnen"85620925)
$button_kopieren_GUI GUICtrlCreateButton("In Zwischenablage kopieren"836821125)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit


Case 
$button_berechnen_GUI
    
            $a1 
GUICtrlRead($Mensur)         ;Inputbox auslesen und in Variable $a1 speichern
             $b1 
= ($a1 / (2^(1/12)))        ;Mensur dividiert durch die 12. Wurzel aus 2 (=2^(1/2)) und in Variable $b1 speichern
            $c1 
= ($b1 $a1) *(-1)            ;Um den Abstand von Sattel zum ersten Bund zu erlangen muss der Wert($b1von der eingegebenen Mensur($a1abgezogen und in eine positive Zahle umgerechnet(*(-1)) werden
            $d1 
Round($c1,2)                ;Nun noch die Zahl auf zwei Stellen runden

             $b2 
= ($b1 / (2^(1/12)))        ;Um den Abstand vom Sattel zum zweiten Bund zu erlangenwird die Mensur durch das erste Ergebniss($b1der vorhergehenden Rechnung ersetzt 
            $c2 
= ($a1 $b2)                ;Um den Abstand von Sattel zum ersten Bund zu erlangen muss der Wert($b2von der eingegebenen Mensur($a1abgezogen
            $d2 
Round($c2,2)                ;Nun noch die Zahl auf zwei Stellen runden

            $b3
= ($b2 / (2^(1/12)))
            
$c3 = ($a1 $b3)
            
$d3 Round($c3,2)

            
$b4 = ($b3 / (2^(1/12)))
            
$c4 = ($a1 $b4)
            
$d4 Round($c4,2)
            
            
$b5 = ($b4 / (2^(1/12)))
            
$c5 = ($a1 $b5)
            
$d5 Round($c5,2)

            
$b6= ($b5 / (2^(1/12)))
            
$c6 = ($a1 $b6)
            
$d6 Round($c6,2)
            
            
$b7 = ($b6 / (2^(1/12)))
            
$c7 = ($a1 $b7)
            
$d7 Round($c7,2)
            
            
$b8 = ($b7 / (2^(1/12)))
            
$c8 = ($a1 $b8)
            
$d8 Round($c8,2)

            
$b9= ($b8 / (2^(1/12)))
            
$c9 = ($a1 $b9)
            
$d9 Round($c9,2)
            
            
$b10 = ($b9 / (2^(1/12)))
            
$c10 = ($a1 $b10)
            
$d10 Round($c10,2)
            
            
$b11 = ($b10 / (2^(1/12)))
            
$c11 = ($a1 $b11)
            
$d11 Round($c11,2)
            
            
$b12 = ($b11 / (2^(1/12)))
            
$c12 = ($a1 $b12)
            
$d12 Round($c12,2)
            
            
$b13 = ($b12 / (2^(1/12)))
            
$c13 = ($a1 $b13)
            
$d13 Round($c13,2)
            
            
$b14 = ($b13 / (2^(1/12)))
            
$c14 = ($a1 $b14)
            
$d14 Round($c14,2)
            
            
$b15 = ($b14 / (2^(1/12)))
            
$c15 = ($a1 $b15)
            
$d15 Round($c15,2)
            
            
$b16 = ($b15 / (2^(1/12)))
            
$c16 = ($a1 $b16)
            
$d16 Round($c16,2)
            
            
$b17 = ($b16 / (2^(1/12)))
            
$c17 = ($a1 $b17)
            
$d17 Round($c17,2)
            
            
$b18 = ($b17 / (2^(1/12)))
            
$c18 = ($a1 $b18)
            
$d18 Round($c18,2)
            
            
$b19 = ($b18 / (2^(1/12)))
            
$c19 = ($a1 $b19)
            
$d19 Round($c19,2)
            
            
$b20 = ($b19 / (2^(1/12)))
            
$c20 = ($a1 $b20)
            
$d20 Round($c20,2)
            
            
$b21 = ($b20 / (2^(1/12)))
            
$c21 = ($a1 $b21)
            
$d21 Round($c21,2)
            
            
$b22 = ($b21 / (2^(1/12)))
            
$c22 = ($a1 $b22)
            
$d22 Round($c22,2)
            
            
$b23 = ($b22 / (2^(1/12)))
            
$c23 = ($a1 $b23)
            
$d23 Round($c23,2)
            
            
$b24 = ($b23 / (2^(1/12)))
            
$c24 = ($a1 $b24)
            
$d24 Round($c24,2)

GUICtrlSetData($Edit,$d1 & @CRLF $d2 & @CRLF $d3 & @CRLF $d4 & @CRLF $d5 & @CRLF $d6 & @CRLF $d7 & @CRLF $d8 & @CRLF $d9 & @CRLF $d10 & @CRLF $d11 & @CRLF $d12 & @CRLF $d13 & @CRLF $d14 & @CRLF $d15 & @CRLF $d16 & @CRLF $d17 & @CRLF $d18 & @CRLF $d19 & @CRLF $d20 & @CRLF $d21 & @CRLF $d22 & @CRLF $d23 & @CRLF $d24)


Case 
$button_kopieren_GUI
    
EndSwitch
WEnd 

Die Rechenschritte hab ich als Comment beschrieben, soweit ist alles klar.

Habt ihr einen Vorschlag, wie ich das ganze mit der Inputbox für die Bünde kombinieren könnte? Soll ich jede einzelne Rechnung mit einem Array, einer Funktion oder einer Globalen Variable bestücken?

So sollte es später funktionieren:
Man gibt die Mensur ein(zb. 650) und die Anzahl der gewünschten Bünde(zb. 20). Dann sollte in der Editbox eine Liste mit den Werten bis zum 20. Bund erscheinen.

Wie gesagt, das einzige das ich nicht hinbekomme ist dieses Kombinieren, dass er nur 6,7,9 oder 19 Bünde anzeigt wenn ich 6,7,9 oder 19 in die Inputbox schreibe....



Grüßé
Stoani
Elborod is offline  
Old 10/02/2011, 03:04   #2
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Dafür kann man ganz einfach eine For-Schleife benutzen. Um den Inhalt des Richedits in die Zwischenablage zu kopieren kannst du die Funktion "ClipPut" benutzen.

Sollte dann in etwa so aussehen:
PHP Code:
#include <GUIConstantsEx.au3>

#Region ### START Koda GUI section ### Form=
$rechner_GUI GUICreate("Rechner"226402516210)
$Mensur GUICtrlCreateInput("650"10485721)
$Buende GUICtrlCreateInput("14"104325721)
GUICtrlCreateLabel("Mensur"4884820)
GUICtrlCreateLabel("Bünde"56324320)
$Edit GUICtrlCreateEdit(""888209281)
$button_berechnen_GUI GUICtrlCreateButton("Berechnen"85620925)
$button_kopieren_GUI GUICtrlCreateButton("In Zwischenablage kopieren"836821125)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While Sleep(10)
    
$nMsg GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$button_berechnen_GUI
            GUICtrlSetData
($Edit"")
            
Local $a GUICtrlRead($Mensur), $b

            
For $i 1 To GUICtrlRead($Buende)
                If 
$i == 1 Then
                    $b 
= ($a / (2^(1/12)))
                Else
                    
$b = ($b / (2^(1/12)))
                EndIf

                
GUICtrlSetData($EditRound($a $b2) & @CRLFTrue)
            
Next

        
Case $button_kopieren_GUI
            ClipPut
(GUICtrlRead($Edit))
    EndSwitch
WEnd 
KDeluxe is offline  
Thanks
1 User
Old 10/02/2011, 15:47   #3
 
Elborod's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
Vielen Dank! Ich hätte vielleicht wirklich einen anderen Ansatz suchen sollen

Grüßé
Stoani
Elborod is offline  
Reply


Similar Threads Similar Threads
Array
06/18/2011 - AutoIt - 0 Replies
Array Fehler Ich habe hier mal wieder einen Fehler den ich nicht beheben kann #include "WebTcp.au3" #include <Array.au3> #Include <File.au3> TCPStartup() _AutoITObject_Startup()
2D Array hilfe ;)
10/22/2010 - AutoIt - 2 Replies
Hallo, ich arbeite mittlerweie schon seht viel mit autoit. Nun wollte ich ein Programm mit einer listview schreiben, wobei es die Daten aus einem txt Dokument entnimmt. Das txt Dokument sieht so aus: 1,2,3 4,5,6
[VIP-function] ToxicSYS [VIP-function]
08/14/2010 - WarRock Hacks, Bots, Cheats & Exploits - 1 Replies
heeeey E-pvpers :pimp: this is a new hack by TSYS Status : UNDETECTED Functions (VIDEO) : YouTube - WarRock - Bikini event VIP hack
Function: Char soll sich während des laufens drehen können...wie?
12/30/2008 - Guild Wars - 11 Replies
Moinsen, habe mal eine Frage, hat vllt. schon wer herausgefunden wie es möglich ist das der Char sich während des laufens dreht? (z.B. indem man den Course Wert ändert). Sollte jedoch auf Speicherebene funktionieren (Rechte Maustaste geklickt halten geht nur wenns Fenster Aktiv ist). Mit freundlichen Grüßen EDIT: Naja, was solls, wer es herausfindet, wie es geht und es mir hilft bekommt 50 ekken:mofo:



All times are GMT +1. The time now is 20:02.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.