Buttonname gleich Inputfeld?

12/18/2011 21:25 °Incinerate#1
Hey e*PvP

ich hätte eine Frage, kann ich den Button name (das was im Button steht) mit einem Inputfeld verändern? Also wenn ich z.B. in den Input "001" schreibe, dass der Button dann auch "001" heißt.

Hier der Script:

12/18/2011 21:34 Lawliet#2
Code:
$Text = Guictrlread($input1)
guictrlsetdata($Button1, $Text)
Bin gerade bissl verwirrt^^ Also es war SetData oder SetState.
12/18/2011 21:38 Lawliet#3
Jedesmal nen neuen Button erstellen? 0o
12/18/2011 21:41 BladeTiger12#4
Sorry bin anfänger und habs gelöscht wo ich deins gesehen habe :D

$Edit: hab deins ausprobiert funktioniert :D
$Edit: brauch noch viel übung in Autoit... weis aber nicht wie ich es lernen soll
$Edit: will so einen Updater in google gibts viel aber nix funktioniert bei mir über FTP
$Edit: Websiten
12/19/2011 14:11 Njahs#5
Quote:
Originally Posted by BladeTiger12 View Post
$Edit: brauch noch viel übung in Autoit... weis aber nicht wie ich es lernen soll


[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
12/19/2011 14:52 Freddy​#6
Quote:
Originally Posted by Lawliet! View Post
Code:
$Text = Guictrlread($input1)
guictrlsetdata($Button1, $Text)
Bin gerade bissl verwirrt^^ Also es war SetData oder SetState.
Wenn man es so macht wie du geschrieben hast fängt der Button an zu blinken also ist das suboptimal
12/19/2011 16:14 lolkop#7
les halt vorher den namen des buttons aus, und editiere nur bei ungleichheit.
12/19/2011 16:16 Lawliet#8
Quote:
Originally Posted by Snivel View Post
Wenn man es so macht wie du geschrieben hast fängt der Button an zu blinken also ist das suboptimal
Wie soll es denn sonnst gehen? Weiß nicht ob es geht und kann es gerade auch nicht testen. Aber evl. gehts ja mit
Code:
$msg = Guigetmsg()
If $msg = $input1 then 
$Text = Guictrlread($input1)
guictrlsetdata($Button1, $Text)
endif
12/19/2011 16:24 lolkop#9
wie bereits erwähnt... erst aktuellen name auslesen, und bei ungleichheit ändern...

code als einfacher automat aufgebaut:
Code:
Dim $btnName[2] = ['Text1','Text2'], $activeName=False
GUICreate('blubb', 100, 50, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton($btnName[$activeName], 10, 10, 105, 30)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case $btn
			$activeName = Not $activeName
		Case Else
			If GUICtrlRead($btn)<>$btnName[$activeName] Then GUICtrlSetData($btn, $btnName[$activeName])
	EndSwitch
WEnd
Edit:
Bevor wieder fragen kommen, hier eine mögliche lösung mit input <.<:
Code:
Dim $data
GUICreate('blubb', 126, 40, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton('', 0, 0, 126, 20)
$input = GUICtrlCreateInput('001', 0, 20, 126, 20)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case Else
			$data = GUICtrlRead($input)
			If GUICtrlRead($btn)<>$data Then GUICtrlSetData($btn, $data)
	EndSwitch
WEnd
12/19/2011 16:42 Lawliet#10
Quote:
Originally Posted by lolkop View Post
wie bereits erwähnt... erst aktuellen name auslesen, und bei ungleichheit ändern...

code als einfacher automat aufgebaut:
Code:
Dim $btnName[2] = ['Text1','Text2'], $activeName=False
GUICreate('blubb', 100, 50, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton($btnName[$activeName], 10, 10, 105, 30)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case $btn
			$activeName = Not $activeName
		Case Else
			If GUICtrlRead($btn)<>$btnName[$activeName] Then GUICtrlSetData($btn, $btnName[$activeName])
	EndSwitch
WEnd
Edit:
Bevor wieder fragen kommen, hier eine mögliche lösung mit input <.<:
Code:
Dim $data
GUICreate('blubb', 126, 40, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton('', 0, 0, 126, 20)
$input = GUICtrlCreateInput('001', 0, 20, 126, 20)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case Else
			$data = GUICtrlRead($input)
			If GUICtrlRead($btn)<>$data Then GUICtrlSetData($btn, $data)
	EndSwitch
WEnd
Okay, beste Lösung. So würde ich es übernehmen.
12/19/2011 19:27 °Incinerate#11
Hey Lawliet!

Thx für deine Hilfe ...

weißt du auch wie ich eine Variable1 alle x Sekunden überprüfen wird, und wenn sie nicht mit wert1 übereinstimmt, dass das dann geändert wird?
12/19/2011 20:14 Lawliet#12
Das hat lolkp schon geschrieben ;)

Quote:
Originally Posted by lolkop View Post
wie bereits erwähnt... erst aktuellen name auslesen, und bei ungleichheit ändern...

code als einfacher automat aufgebaut:
Code:
Dim $btnName[2] = ['Text1','Text2'], $activeName=False
GUICreate('blubb', 100, 50, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton($btnName[$activeName], 10, 10, 105, 30)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case $btn
			$activeName = Not $activeName
		Case Else
			If GUICtrlRead($btn)<>$btnName[$activeName] Then GUICtrlSetData($btn, $btnName[$activeName])
	EndSwitch
WEnd
Edit:
Bevor wieder fragen kommen, hier eine mögliche lösung mit input <.<:
Code:
Dim $data
GUICreate('blubb', 126, 40, Default, Default, 0x10C80000)
$btn = GUICtrlCreateButton('', 0, 0, 126, 20)
$input = GUICtrlCreateInput('001', 0, 20, 126, 20)

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case Else
			$data = GUICtrlRead($input)
			If GUICtrlRead($btn)<>$data Then GUICtrlSetData($btn, $data)
	EndSwitch
WEnd
12/19/2011 21:09 °Incinerate#13
sry hab nur alles bisschen überflogen ^^

@lolkop

ich scheitere grade 5 Inputübernahmen auf den Buttons zu übertragen ^^
12/20/2011 11:33 lolkop#14
das wären doch nur 5 abfragen in deiner main schleife o0

Edit:
hier mal ein beispiel für einen mehr oder weniger dynmaischen code, welcher für <$buttons> (hier gerade 10) Inputs und Buttons die aufgabe erledigt:

Code:
Dim $data, $buttons=10, $btn[$buttons], $input[$buttons]
GUICreate('blubb', 126, 40*$buttons, Default, Default, 0x10C80000)
For $i=0 To $buttons-1
	$btn[$i] = GUICtrlCreateButton('', 0, 40*$i, 126, 20)
	$input[$i] = GUICtrlCreateInput('001', 0, 40*$i+20, 126, 20)
Next

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case Else
			For $i=0 To $buttons-1
				$data = GUICtrlRead($input[$i])
				If GUICtrlRead($btn[$i])<>$data Then GUICtrlSetData($btn[$i], $data)
			Next
	EndSwitch
WEnd