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)
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)?
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
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
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? =)
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)
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 =)
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?
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 ^^
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