Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 19:54

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

Advertisement



Variabeln addieren

Discussion on Variabeln addieren within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
Question Variabeln addieren

hai leuts
hab hier ein kleines prog in arbeit. ist zwar kein bot aber es soll eine überraschung für mein grossvater werden.
er liebt es ein schweizer kartenspiel names "jasse" zu spielen
und dieses programm soll für ihn rechnen und schreiben.

nun zu meinem problem:
ich mächte auf der linken seite bei punkte eine zahl ein geben können welche es danach zur gesammtpunktzahl addiert, komishcer weise stimmen die zahlen jedoch nicht

wenn ich 10 eingebe und auf den button schreiben drücke steht da eine falsche zahl (nur die gast seite funzt)

das programm ist noch im aufbau kritik zum aussehen und darstellung usw. kann ich nicht gebrauchen weil es ein ebaustelle ist (beim häuserbau entsteht auch dreck)

der code ist auch relativ schlecht komentiert -.-

ich stell ihn jetzt einfahc mal rein vtl. kann mir jemand sagen was ich hier falshc mache (bin noch relativ neu auf dieser sprache)
gegoogelt hab ich in der hilfe geschaut hab ich aber da ich nicht weis wo der fehler steckt ist es relativ schwierig was zu finden (denke der fehler liegt innerhalb der funktion schreiben)


vielen dank für die hilfe

Code:
#include <GUIConstantsEx.au3>
;Variablen Deklarieren
Dim $punkteheim=0
Dim $punktegast=0
Dim $punkteheimplus=0
Dim $punktegastplus=0
;GUI Start
Opt("GUIOnEventMode", 1)
GUICreate("Scheichle", 750,800)
$obenabe=GUICtrlCreatePic(@ScriptDir & "\Img\obe.gif", 0, 0,0,0)
$unneufe=GUICtrlCreatePic(@ScriptDir & "\Img\Unneufe.gif", 125, 0,0,0)
$schillte=GUICtrlCreatePic(@ScriptDir & "\Img\SCHILTENUNDER.gif", 250, 0,0,0)
$schelle=GUICtrlCreatePic(@ScriptDir & "\Img\SCHELLENUNDER.gif", 375, 0,0,0)
$rose=GUICtrlCreatePic(@ScriptDir & "\Img\ROSENUNDER.gif", 500, 0,0,0)
$eichle=GUICtrlCreatePic(@ScriptDir & "\Img\EICHENUNDER.gif", 625, 0,0,0)
GUICtrlCreateLabel("Heim",50,230)
GUICtrlCreateLabel("Gast",150,230)
GUICtrlCreateLabel("Punkte",10,253)
$punkteheimplus=GUICtrlCreateInput("0",50,250,30,0)
GUICtrlCreateLabel("Punkte",110,253)
$punktegastplus=GUICtrlCreateInput("0",150,250,30,0)
$3heim=GUICtrlCreateButton("Drüü",50,300)
$stoeckheim=GUICtrlCreateButton("D'Stöck",50,330)
$50heim=GUICtrlCreateButton("Füfzg",50,360)
$100heim=GUICtrlCreateButton("Hundert",50,390)
$150heim=GUICtrlCreateButton("Hundert Füfzg",50,420)
$200heim=GUICtrlCreateButton("Zwoihundert",50,450)
$3gast=GUICtrlCreateButton("Drüü",150,300)
$stoeckgast=GUICtrlCreateButton("D'Stöck",150,330)
$50gast=GUICtrlCreateButton("Füfzg",150,360)
$100gast=GUICtrlCreateButton("Hundert",150,390)
$150gast=GUICtrlCreateButton("Hundert Füfzg",150,420)
$200gast=GUICtrlCreateButton("Zwoihundert",150,450)
$schreiben=GUICtrlCreateButton("Schreiben",100,500)
GUICtrlSetOnEvent($schreiben, "schreiben")
GUICtrlCreatePic(@ScriptDir & "\Img\Tafel.gif", 300, 230,400,500)
GUISetOnEvent($GUI_EVENT_CLOSE, "schliessen")
GUISetState(@SW_SHOW)
;Endlosschleife
while 1
	Sleep(1000)
WEnd
;Funktionen
Func schreiben()
	$punktegast = $punktegast + $punktegastplus
	GUICtrlCreateLabel($punktegast,350,280)
	GUICtrlCreateLabel($punkteheim,350,480)
EndFunc
Func schliessen()
	Exit
EndFunc
qLADYofLORDp is offline  
Thanks
1 User
Old 08/03/2009, 22:44   #2
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
du musst die inputbox mit GUICtrlRead auslesen.

edit: guck dir mal koda an... damit kannst du einfach guis erstellen
| Moep | is offline  
Thanks
1 User
Old 08/03/2009, 23:00   #3
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
xD
klar ^^
ich dödel vergess immer solche kleinen aber wichtige sachen -.-

thema kann geschlossen werden =)

EDIT: ist doch noch was aufgetaucht.
hat vtl. jemand ne idee wie man es anstellt das nach dem man auf schreiben grdeückt hat sich die input felder wieder leeren (d.h das da wieder 0 steht)?
qLADYofLORDp is offline  
Old 08/03/2009, 23:15   #4
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
guictrlsetdata($punkteheimplus,"0")
usw...
kknb is offline  
Thanks
1 User
Old 08/04/2009, 13:58   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
so nocheinmal ein danke diesmal an kknb
und gleich mit die nächste frage:

im code sieht man ja das ich bilder rein gemacht habe
nun sollte es möglich sein auf diese zu klicken und dass dann ein efunktion aufgerufen werden soll
hab auch den code dazu:
$test = GUICtrlCreateButton("(Not allowed)", 50, 50, 200, 250, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\EICHENUNDER.bmp", 0)
das problem ist nun das die bilder anscheinend zu gross sind (125 x 195)
wenn ich das bild kleiner mache geht es.

die grösse ist allerdings ideal und ich möchte es gerne so lassen

hat mir einer einen tipp?

**EDIT**

xD sry mein fehler
es liegt nicht an der grösse
es ist wegen der transparenz anscheinend geht das nicht =)
also ist auch dieses problem gelöst

übrg wegen koda ich will lieber üüüben desswegen code ich
qLADYofLORDp is offline  
Old 08/04/2009, 18:55   #6
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
schon mal im voraus sry für den doppelpost
aber es ist ein neues problem aufgetreten und ich denke desswegen soltle es i.o gehen

und zwar möchte ich nun wenn ich auf so ein bild klicke dass es dann 30 pixel nach oben verschoben wird.
das hab ich auch geschafft mit guictrlsetdata
das problemchen ist dass der alte button immer noch angezeigt wird d.h da sind 2 buttons übereinander -.-


hier ist der neue code.. da hat sich ziemlich was verändert^^
ps: das guictrlsetdata hab ich wieder raus genommen da es ja nicht gefuntzt hat.

Code:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
;Variablen Deklarieren
Dim $punkteheim=0
Dim $punktegast=0
Dim $punkteheimplus=0
Dim $punktegastplus=0
Dim $multiplikator=0
Dim $yschilte = 30
Dim $yschelle = 30
Dim $yobenabe = 30
Dim $yunneufe = 30
Dim $yrose = 30
Dim $yeichle = 30
;»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»--GUI Start--»»»»»»»»»»»»»»»»»»»»»»»»
Opt("GUIOnEventMode", 1)
GUICreate("Scheichle", 750,830)
$Schilte =GUICtrlCreateButton("Schilte", 0, $yschilte, 125, 195, $BS_BITMAP)
$Schilte2 =GUICtrlSetImage(-1, "Img\SCHILTENUNDER.bmp", 0)
GUICtrlSetOnEvent($Schilte, "Schilte")
$Schelle =GUICtrlCreateButton("Schelle", 125, $yschelle, 125, 195, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\SCHELLENUNDER.bmp", 0)
GUICtrlSetOnEvent($Schelle, "Schelle")
$Obenabe =GUICtrlCreateButton("Obenabe", 250, $yobenabe, 125, 195, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\obe.bmp", 0)
GUICtrlSetOnEvent($Obenabe, "Obenabe")
$Unneufe =GUICtrlCreateButton("Unneufe", 375, $yunneufe, 125, 195, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\Unneufe.bmp", 0)
GUICtrlSetOnEvent($Unneufe, "Unneufe")
$Rose =GUICtrlCreateButton("Rose", 500, $yrose, 125, 195, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\ROSENUNDER.bmp", 0)
GUICtrlSetOnEvent($Rose, "Rose")
$Eichle =GUICtrlCreateButton("Eichle", 625, $yeichle, 125, 195, $BS_BITMAP)
GUICtrlSetImage(-1, "Img\EICHENUNDER.bmp", 0)
GUICtrlSetOnEvent($Eichle, "Eichle")
GUICtrlCreateLabel("Heim",50,260)
GUICtrlCreateLabel("Gast",150,260)
GUICtrlCreateLabel("Punkte",10,283)
$punkteheimplus=GUICtrlCreateInput("0",50,280,30,0)
GUICtrlCreateLabel("Punkte",110,283)
$punktegastplus=GUICtrlCreateInput("0",150,280,30,0)
;wiis
$3heim=GUICtrlCreateButton("Drüü",50,330)
GUICtrlSetOnEvent($3heim, "dheim")
$stoeckheim=GUICtrlCreateButton("D'Stöck",50,360)
GUICtrlSetOnEvent($stoeckheim, "stoeckheim")
$50heim=GUICtrlCreateButton("Füfzg",50,390)
GUICtrlSetOnEvent($50heim, "fheim")
$100heim=GUICtrlCreateButton("Hundert",50,420)
GUICtrlSetOnEvent($100heim, "hheim")
$150heim=GUICtrlCreateButton("Hundert Füfzg",50,450)
GUICtrlSetOnEvent($150heim, "hfheim")
$200heim=GUICtrlCreateButton("Zwoihundert",50,480)
GUICtrlSetOnEvent($200heim, "zheim")
$3gast=GUICtrlCreateButton("Drüü",150,330)
GUICtrlSetOnEvent($3gast, "dgast")
$stoeckgast=GUICtrlCreateButton("D'Stöck",150,360)
GUICtrlSetOnEvent($stoeckgast, "stoeckgast")
$50gast=GUICtrlCreateButton("Füfzg",150,390)
GUICtrlSetOnEvent($50gast, "fgast")
$100gast=GUICtrlCreateButton("Hundert",150,420)
GUICtrlSetOnEvent($100gast, "hgast")
$150gast=GUICtrlCreateButton("Hundert Füfzg",150,450)
GUICtrlSetOnEvent($150gast, "hfgast")
$200gast=GUICtrlCreateButton("Zwoihundert",150,480)
GUICtrlSetOnEvent($200gast, "zgast")
;schreiben
$schreiben=GUICtrlCreateButton("schreiben",100,530)
GUICtrlSetOnEvent($schreiben, "schreiben")
GUICtrlCreatePic(@ScriptDir & "\Img\Tafel.gif", 300, 260,400,500)
GUISetOnEvent($GUI_EVENT_CLOSE, "schliessen")
GUISetState(@SW_SHOW)
;»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»--Endlosschleife--»»»»»»»»»»»»»»»»»»»»»»»»
while 1
 Sleep(1000)
WEnd
;~ ;»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»--Funktionen--»»»»»»»»»»»»»»»»»»»»»»»»
Func schreiben()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	
 $heimplus = GUICtrlRead($punkteheimplus)
 $punkteheim = $punkteheim + $heimplus
 GUICtrlCreateLabel($punkteheim,350,480)
 $gastplus = GUICtrlRead($punktegastplus)
 $punktegast = $punktegast + $gastplus
 GUICtrlCreateLabel($punktegast,350,280)
 guictrlsetdata($punkteheimplus,"0")
 guictrlsetdata($punktegastplus,"0")
$multiplikator = 0
EndIf
EndFunc
Func schliessen()
 Exit
EndFunc
;Funktionen wiis heim // d=drü f=füfzg h=hundert hf=hundert füfzg z=zwoihundert
Func dheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (20 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
Func stoeckheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (20 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
Func fheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (50 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
Func hheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (100 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
Func hfheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (150 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
Func zheim()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punkteheim = $punkteheim + (200 * $multiplikator)
	GUICtrlCreateLabel($punkteheim,350,480)
EndIf
EndFunc
;Funktionen wiis gast // d=drü f=füfzg h=hundert hf=hundert füfzg z=zwoihundert
Func dgast()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (20 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
Func stoeckgast()
if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (20 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
Func fgast()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (50 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
Func hgast()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (100 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
Func hfgast()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (150 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
Func zgast()
	if $multiplikator = 0 Then
		MsgBox(0,"ERROR","Sie haben kein Trumpf gwählt.")
	Else
	$punktegast = $punktegast + (200 * $multiplikator)
	GUICtrlCreateLabel($punktegast,350,280)
EndIf
EndFunc
;Funktionen Trumpf
Func Schilte()
	$multiplikator = 1
EndFunc
Func Schelle()
	$multiplikator = 2
EndFunc
Func Obenabe()
	$multiplikator = 3
EndFunc
Func Unneufe()
	$multiplikator = 4
EndFunc
Func Rose()
	$multiplikator = 5
EndFunc
Func Eichle()
	$multiplikator = 6
EndFunc
VIELEN DANK JETZT SCHON
qLADYofLORDp is offline  
Old 08/04/2009, 19:10   #7
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
den alten button mit GUICtrlSetState verschwinden lassen.
kknb is offline  
Old 08/04/2009, 23:57   #8
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
jo hab den befehl auch gefunden ^^

und wär hätte das gedacht, schon die nächste frage (beginne mich langsam zu schämen bin hlat noch anfänger -.- und googln hat mir ned geholfen. -.-)

das problem ist das ich 2 bilder übereinander legen will
da soll ein bild sein
wenn ich auf nen knopf drücke soll ein 2 bild eingeblendet sein und iene "ebene" höher sein als das erste.
hat jemand einen code dafür? =)

**EDIT**

hat keiner eine idee???
qLADYofLORDp is offline  
Old 08/06/2009, 08:29   #9
 
elite*gold: 0
Join Date: Aug 2009
Posts: 2
Received Thanks: 0
ich hatte auch mal sowas probiert, habs nach einer weile aufgegeben ist anscheinend nicht möglich.
holzi1992 is offline  
Old 08/07/2009, 00:30   #10
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Quote:
Originally Posted by qLADYofLORDp View Post
jo hab den befehl auch gefunden ^^

und wär hätte das gedacht, schon die nächste frage (beginne mich langsam zu schämen bin hlat noch anfänger -.- und googln hat mir ned geholfen. -.-)

das problem ist das ich 2 bilder übereinander legen will
da soll ein bild sein
wenn ich auf nen knopf drücke soll ein 2 bild eingeblendet sein und iene "ebene" höher sein als das erste.
hat jemand einen code dafür? =)

**EDIT**

hat keiner eine idee???
Wenn ich mich recht irre liegen immer die zuletzt definierten Objekte über den anderen zuvor definierte Objekten. Dh das müsste folgendermaßen realisierbar seien(wenn ich dein Problem richtig verstanden habe):

Code:
$bild_unten = GUICtrlCreatePic("deinbild.gif",0,0)
$bild_oben = GuiCtrlCreatePic ("deinbild2.gif",0,0)
GUICtrlSetState($bild_oben,$GUI_HIDE)

;Das wird aufgerufen wenn der Button gedrückt wurde:
GUICtrlSetState($bild_oben,$GUI_SHOW)
Xereon is offline  
Thanks
1 User
Old 08/07/2009, 09:27   #11
 
elite*gold: 0
Join Date: Aug 2009
Posts: 2
Received Thanks: 0
^^
das hat tatsächlich funktioniert

ich hab vorhin einfach das gui geschrien (ohne das bild das ich noch haben wollte)
und dann eine funktion gemacht in welcher ich das bild einfüge
also GUICtrlCreatePic(@scriptDir & "\Img\x.gif",620,520,20,20)
und so hast ned geklappt

aber mit verstecken und aufdecken funktioneirt es einwandfrei =)

vielen dank für die hilfe
holzi1992 is offline  
Old 08/07/2009, 14:38   #12
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
jo bei mir funtzt das jetzt auch
hab aber noch ein aderes problem mit dem bildern

und zwaaaar:

die bilder werden nicht immer angezeigt. d.h:
ich male ein bild speichere es ab und füge es richtig ins programm ein.
es wird allerdings nicht angezeigt.
dann kopiere ich das bild 1 zu 1 und speichere es erneut ab und es wird anezeigt.

manchmal muss dich 5-6 mal herumwursteln bis es endlich angezeigt wird das briiiingt mich zum waaahnsin.

hab schon probiert wegen der dateiendung daran kanns nicht liegen ich hantiere mit .gif .jpg .bmp und das geht alles

datei grösse (2kb) da hab ich ein anderes bild mit der selben dateiendung das genau gleich gross ist

name ich hab keine komischen zeichen als dateiname

pfad/schreibfehler alles 1 -1 kopiert geht immer noch nicht

abmessung ist bei dem das im moment nicht geht 3 x 20 daran kanns ja aber auch nicht liegen weil es vorhin bei nem anderen auch nicht ging und es nach dem kopieren (gleiche abmessung) plötzlich ging

ich bin wirklich am anschlag

und noch ne andere frage:
gibt es eine tastenkombi um alle funktionen zu "minimieren"
mit ctrl + r kann man ja alle öffnen wie kann man alle schliessen?

danke schon im voraus
qLADYofLORDp is offline  
Old 08/07/2009, 15:53   #13
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
so ich hab den code für die heim seite fertig (gast funtzt noch nicht)

ich wär froh wenn sich einer mal anschauen könnte wieso es einige bilder nicht einblendet
(die alles unter 20 geht sicher nicht)

ich weis das der code ziiemlich unübersichtlich ist

gaaanz unten ist die funktion zum einblenden der bilder die funktion heisst malen
die bilder werden ziemlich gegen ende des GUIs eeingefügt.

hoffe das mir jemand helfen kann

**EDIT**
im unten angehängten archiv sind bilder wie auch code enthalten.

**EDIT"**
ich hab eben gesehen das die dateiendungen nicht stimmen. ist aber egal es funtzt auch so nicht
Attached Files
File Type: rar qLADYofLORDp.rar (1.33 MB, 4 views)
qLADYofLORDp is offline  
Old 08/08/2009, 21:19   #14
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
also
ich hab das problem lösen können
es lag ned am code oder so
sondern an dem bildbearbeitungs programm welches ich verwende
ich habe die bilder mit PAINT.NET bearbeitet
wenn ich sie mit den normalen Paint bearbeite funtzt es einwand frei

das prog ist jetzt in der test fase

ich denke nicht das ich noch i.welche hoch komplizierte probs haben werde
und sonst ^^

vielen dank für eure hilfe

thema kann geclosed werden
qLADYofLORDp is offline  
Reply


Similar Threads Similar Threads
Nach einer Schleife zu bestimmter Varibale 1 addieren wie?
08/08/2009 - AutoIt - 7 Replies
tach ich würd mal gern wissen wie man bei autoit wenn er einmal eine While gemacht hat das er damm zu einer bestimmten Variabel 1 addiert MFG 113puma



All times are GMT +1. The time now is 19:56.


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.