Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 08:13

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

Advertisement



Create Frage in Autoit

Discussion on Create Frage in Autoit within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
iJonas's Avatar
 
elite*gold: 75
Join Date: May 2010
Posts: 934
Received Thanks: 1,285
Create Frage in Autoit

Hallo Com
Ich hab da mal eine Frage,
Wie mache ich es, wenn ein Button gedrückt wurde, dass sich automatisch 5 neue Labels und 4 neue Buttons erstellen? Also es müsste so sein, dass sich die Buttons und Labels auf einer bestimmten Position erstellen, und dann 5 Bestimmte Inputboxen und 4 bestimme Buttons sich einige Picel nach unten verschieben, wäre so etwas möglich..?

Danke schonmal im Voraus.

Jonas
iJonas is offline  
Old 06/12/2011, 22:55   #2
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Mach doch:

case $button1
guictrlcreate ;...
Ludder231 is offline  
Thanks
2 Users
Old 06/13/2011, 00:21   #3
 
iJonas's Avatar
 
elite*gold: 75
Join Date: May 2010
Posts: 934
Received Thanks: 1,285
ja aber wie amche ich das, dass sich die createte gui dann zwiaschen die iputoxen undso bekomme?
iJonas is offline  
Old 06/13/2011, 00:30   #4
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Könntest du die Frage vielleicht nochmal genauer und deutlich stellen?
BlackHybrid is offline  
Old 06/13/2011, 07:48   #5
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by iJonas View Post
ja aber wie amche ich das, dass sich die createte gui dann zwiaschen die iputoxen undso bekomme?
alte control-positionen auslesen und zum schluss jeweils die gewünschte position berechnen

das problem was hierbei auftreten könnte ist, das windows hierbei grafikfehler verursachen könnte...

beispiel:
Code:
Dim $label[1], $button[1], $control_y[1], $counter = 0
$gui = GUICreate('blubb', 300, 40)
$add = GUICtrlCreateButton('add stuff!', 10, 10, 280, 20)
GUISetState()

While 1
	$msg = GUIGetMsg()
	If $msg = -3 Then Exit
	If $msg = $add Then
		If $counter > 0 Then
			ReDim $label[$counter+1], $button[$counter+1], $control_y[$counter+1]
		EndIf
		$pos = WinGetPos($gui)
		For $i=0 To UBound($label)-1
			$control_pos = ControlGetPos($gui, '', $label[$i])
			$control_y[$i] = $control_pos[1]
		Next
		WinMove($gui, '', $pos[0], $pos[1], $pos[2], $pos[3]+30)
		ControlMove($gui, '', $add, 10, 10)
		$label[$counter] = GUICtrlCreateLabel('label '&$counter, 10, 40, 140, 20)
		$button[$counter] = GUICtrlCreateButton('button '&$counter, 150, 40, 140, 20)
		$counter +=1
		For $i=0 To UBound($label)-1
			ControlMove($gui, '', $label[$i], 10, $control_y[$i]+30)
			ControlMove($gui, '', $button[$i], 150, $control_y[$i]+30)
		Next
	EndIf
WEnd
lolkop is offline  
Old 06/13/2011, 12:37   #6



 
xShizoidx's Avatar
 
elite*gold: 0
The Black Market: 283/0/0
Join Date: Feb 2011
Posts: 1,351
Received Thanks: 410
Also wenn du willst, das sich neue Buttons und Labels erstellen, sobald du auf " Start " gedrückt hast, guck dir mal mein Beispielscript an, dann weisst du wie es geht.

Relative simpel. Aber was meinst du mit nach unten verschieben? Das sich dein alter Button nach unten verschiebt oder alles alte? Ist auch leichter möglich, als beim Script über mir ...

Beispiel :
HTML Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 461, 399, 192, 124)
$create = GUICtrlCreateButton("create", 184, 320, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $create
$Button1 = GUICtrlCreateButton("Button1", 48, 280, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button2", 336, 288, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Button3", 72, 200, 75, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Button4", 336, 208, 75, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Label1", 64, 112, 36, 17)
$Label2 = GUICtrlCreateLabel("Label2", 120, 40, 36, 17)
$Label3 = GUICtrlCreateLabel("Label3", 232, 48, 36, 17)
$Label4 = GUICtrlCreateLabel("Label4", 208, 104, 36, 17)
$Label5 = GUICtrlCreateLabel("Label5", 360, 64, 36, 17)
	EndSwitch
WEnd
xShizoidx is offline  
Old 06/13/2011, 12:46   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by netterwurm8 View Post
Also wenn du willst, das sich neue Buttons und Labels erstellen, sobald du auf " Start " gedrückt hast, guck dir mal mein Beispielscript an, dann weisst du wie es geht.

Relative simpel. Aber was meinst du mit nach unten verschieben? Das sich dein alter Button nach unten verschiebt oder alles alte? Ist auch leichter möglich, als beim Script über mir ...

Beispiel :
HTML Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 461, 399, 192, 124)
$create = GUICtrlCreateButton("create", 184, 320, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $create
$Button1 = GUICtrlCreateButton("Button1", 48, 280, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button2", 336, 288, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Button3", 72, 200, 75, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Button4", 336, 208, 75, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Label1", 64, 112, 36, 17)
$Label2 = GUICtrlCreateLabel("Label2", 120, 40, 36, 17)
$Label3 = GUICtrlCreateLabel("Label3", 232, 48, 36, 17)
$Label4 = GUICtrlCreateLabel("Label4", 208, 104, 36, 17)
$Label5 = GUICtrlCreateLabel("Label5", 360, 64, 36, 17)
	EndSwitch
WEnd
letztendlich gesehen ist dieses script leider absolut unbrauchbar. sobald 2 mal der create button gedrückt wurde, erhält man unbrauchbare steuerelemente im gui, welche aufgrund einfach überschriebener handles nichteinmal mehr ansteuerbar sind. desweiteren ist der button im allgemeinen nur einmalig nutzbar.

da ich davon ausgehe, das der threadersteller beliebig oft neue gui elemente erstellen will, und hierbei alle einzeln ansprechbar halten will (leider schlecht ausgedrückt im erstpost), wird sich das ganze auch auf die gui größe auswirken.

ein ändern der gui größe führt dazu, das guielemente neu angeordnet werden, was zwangsweise die von mir angesprochenen grafikfehler verursacht.
lolkop is offline  
Old 06/13/2011, 18:22   #8
 
iJonas's Avatar
 
elite*gold: 75
Join Date: May 2010
Posts: 934
Received Thanks: 1,285
Also ich stelle euch mal mein script hier rein, damit ihr wisst wa sich meine
PHP Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

$User_Name Inputbox ("Key Check","Bitte geben sie den Benutzernamen ein")
If 
$User_Name =("l"Then
$Password 
InputBox ("Key Check","Bitte geben sie das Passwort ein","","*")
If 
$Password = (""Then

$IE 
_IECreateEmbedded()

#Region ### START GUI section ### Form=
$Form1 GUICreate("Gilden Verwaltungs Tool"978551189121)
$Tab1 GUICtrlCreateTab(00977641)
GUICtrlSetResizing(-1$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 GUICtrlCreateTabItem("Standart Informationen")
$TabSheet2 GUICtrlCreateTabItem("Gilden Liste")
$Label1 GUICtrlCreateLabel("Name"8409217)
$Label2 GUICtrlCreateLabel("Klasse"112409217)
$Label3 GUICtrlCreateLabel("Level"216403617)
$Label4 GUICtrlCreateLabel("Rang"264406017)
$Label5 GUICtrlCreateLabel("Titel"336406817)
$Label6 GUICtrlCreateLabel("Gilde verlassen"4164014517$WS_GROUP)
$Label7 GUICtrlCreateLabel("Gilde hinzufügen"5764014517$WS_GROUP)
$Label8 GUICtrlCreateLabel("Rang hinzufügen"7364011317$WS_GROUP)
$Label9 GUICtrlCreateLabel("Titel hinzufügen"8644010517$WS_GROUP)
$Label10 GUICtrlCreateLabel(""8649217)
$Label11 GUICtrlCreateLabel("Magier"112649217)
$Label12 GUICtrlCreateLabel("90"216643617)
$Label3 GUICtrlCreateLabel("Gildenleiter"264646017)
$Label14 GUICtrlCreateLabel("Fürst"336646817)
$Button1 GUICtrlCreateButton("Gilde verlassen"4166414517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button2 GUICtrlCreateButton("Gilde hinzufügen"5766414517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button3 GUICtrlCreateButton("Rang hinzufügen"7366411317$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button4 GUICtrlCreateButton("Titel hinzufügen"8646410517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Label15 GUICtrlCreateLabel(""8889217)
$Label16 GUICtrlCreateLabel("Priester"112889217)
$Label17 GUICtrlCreateLabel("90"216883417)
$Label18 GUICtrlCreateLabel("Stellvertreter"264886017)
$Label19 GUICtrlCreateLabel("Marquis"336886817)
$Button5 GUICtrlCreateButton("Gilde verlassen"4168814517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button6 GUICtrlCreateButton("Gilde hinzufügen"5768814517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button7 GUICtrlCreateButton("Rang hinzufügen"7368811317$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button8 GUICtrlCreateButton("Titel hinzufügen"8648810517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Label20 GUICtrlCreateLabel(""81129217)
$Label21 GUICtrlCreateLabel("Bogenschütze"1121129217)
$Label22 GUICtrlCreateLabel("90"2161123417)
$Label23 GUICtrlCreateLabel("Stellvertreter"2641126017)
$Label24 GUICtrlCreateLabel("Graf"3361126817)
$Button9 GUICtrlCreateButton("Gilde verlassen"41611214517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button10 GUICtrlCreateButton("Gilde hinzufügen"57611214517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button11 GUICtrlCreateButton("Rang hinzufügen"73611211317$WS_GROUP)
$Button12 GUICtrlCreateButton("Titel hinzuügen"86411210517$WS_GROUP)
$Input1 GUICtrlCreateInput(""81369221)
$Input2 GUICtrlCreateInput(""1121369221)
$Input3 GUICtrlCreateInput(""2161363421)
$Input4 GUICtrlCreateInput(""2641366021)
$Input5 GUICtrlCreateInput(""3361366821)
$Button17 GUICtrlCreateButton("Gilde verlassen"41613614517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button18 GUICtrlCreateButton("Gilde hinzufügen"57613614517$WS_GROUP)
$Button19 GUICtrlCreateButton("Rang hinzufügen"73613611317$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$Button20 GUICtrlCreateButton("Titel hinzufügen"86413610517$WS_GROUP)
GUICtrlSetState(-1$GUI_DISABLE)
$TabSheet3 GUICtrlCreateTabItem("Black List")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END GUI section ###

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

Else
Exit
EndIf
Else
Exit
EndIf 

Ich meine, dass wenn man in die Input1-5 was eingibt und dann dann Button18 klickt, dass sich neue Labels bilden mit den sachen die in den inputboxen stehen und sich dann die input boxen in einem bestimmten abstand runter scheiben und sich die erstellten labels dazwischen schieben, so dass sie in den einzelnen spalten ( von den koordinaten her) gerade wie a´die anderen labels stehen.
iJonas is offline  
Old 06/13/2011, 20:54   #9
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
würde dir empfehlen das ganze einfach über einige arrays laufen zu lassen.

willst du noch eine vernünftige gilde verlassen funktion hinzufügen, solltest du vielleicht noch alle daten durch ein data array im hinterkopf lagern, sodass man in dem falle einfach die gesamte liste neu anordnen könnte.

aber für deine aktuelle anforderung könnte das ganze zb so aussehen:
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

Dim $label[20][5], $input[20][5], $button[20][4]

$IE = _IECreateEmbedded()

$gui = GUICreate("Gilden Verwaltungs Tool", 978, 551, 189, 121)
$Tab1 = GUICtrlCreateTab(0, 0, 977, 641)

GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)

$TabSheet1 = GUICtrlCreateTabItem("Standart Informationen")
$TabSheet2 = GUICtrlCreateTabItem("Gilden Liste")

GUICtrlCreateLabel("Name", 8, 40, 92, 17)
GUICtrlCreateLabel("Klasse", 112, 40, 92, 17)
GUICtrlCreateLabel("Level", 216, 40, 36, 17)
GUICtrlCreateLabel("Rang", 264, 40, 60, 17)
GUICtrlCreateLabel("Titel", 336, 40, 68, 17)
GUICtrlCreateLabel("Gilde verlassen", 416, 40, 145, 17)
GUICtrlCreateLabel("Gilde hinzufügen", 576, 40, 145, 17)
GUICtrlCreateLabel("Rang hinzufügen", 736, 40, 113, 17)
GUICtrlCreateLabel("Titel hinzufügen", 864, 40, 105, 17)

For $i=0 To 19
	$input[$i][0] = GUICtrlCreateInput("", 8, 64+$i*24, 92, 21)
	$input[$i][1] = GUICtrlCreateInput("", 112, 64+$i*24, 92, 21)
	$input[$i][2] = GUICtrlCreateInput("", 216, 64+$i*24, 34, 21)
	$input[$i][3] = GUICtrlCreateInput("", 264, 64+$i*24, 60, 21)
	$input[$i][4] = GUICtrlCreateInput("", 336, 64+$i*24, 68, 21)

	$label[$i][0] = GUICtrlCreateLabel('', 8, 64+$i*24, 92, 17)
	$label[$i][1] = GUICtrlCreateLabel('', 112, 64+$i*24, 92, 17)
	$label[$i][2] = GUICtrlCreateLabel('', 216, 64+$i*24, 36, 17)
	$label[$i][3] = GUICtrlCreateLabel('', 264, 64+$i*24, 60, 17)
	$label[$i][4] = GUICtrlCreateLabel('', 336, 64+$i*24, 68, 17)

	$button[$i][0] = GUICtrlCreateButton('Gilde verlassen', 416, 64+$i*24, 145, 17)
	$button[$i][1] = GUICtrlCreateButton('Gilde hinzufügen', 576, 64+$i*24, 145, 17)
	$button[$i][2] = GUICtrlCreateButton('Rang hinzufügen', 736, 64+$i*24, 113, 17)
	$button[$i][3] = GUICtrlCreateButton('Titel hinzufügen', 864, 64+$i*24, 105, 17)

	For $h=0 To 4

		GUICtrlSetState($input[$i][$h], $gui_hide)
		GUICtrlSetState($label[$i][$h], $gui_hide)
		If $h<4 Then GUICtrlSetState($button[$i][$h], $gui_hide)
	Next
Next

ActivateNewLine(0)

$TabSheet3 = GUICtrlCreateTabItem("Black List")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
	If $msg = -3 Then Exit
	For $i=0 To 19
		If $msg = $button[$i][1] Then
			AddStuffToLine($i)
		EndIf
	Next
WEnd

Func AddStuffToLine($row)
	If $row <= 19 Then
		Local $stuff[4]
		For $i=0 To 4
			GUICtrlSetData($label[$row][$i], GUICtrlRead($input[$row][$i]))
			GUICtrlSetState($label[$row][$i], $gui_show)
			GUICtrlSetState($input[$row][$i], $gui_hide)
		Next
		GUICtrlSetState($button[$row][0], $gui_enable)
		GUICtrlSetState($button[$row][1], $gui_disable)
		If $row < 19 Then ActivateNewLine($row+1)
	Else
		MsgBox(0, 'Info', 'The maximum number of lines have been reached')
	EndIf
EndFunc

Func ActivateNewLine($row)
	For $i=0 To 4
		GUICtrlSetState($label[$row][$i], $gui_hide)
		GUICtrlSetState($input[$row][$i], $gui_show)
		If $i<4 Then
			GUICtrlSetState($button[$row][$i], $gui_show)
			If $i<>1 Then GUICtrlSetState($button[$row][$i], $gui_disable)
		EndIf
	Next
EndFunc
lolkop is offline  
Old 06/13/2011, 21:32   #10
 
iJonas's Avatar
 
elite*gold: 75
Join Date: May 2010
Posts: 934
Received Thanks: 1,285
Mh, Habs ausprobiert genaus stelle ich mir das vor, aber wie mache ich das, das er auch noch mehrere labels amcht ( das programm automatisch größer wird bzw. man scrollen kann) & das beim gilde verlassen die jeweilige reihe gelöscht wird. ich kann die liste auch einfach saven, das beim ausmachen der forschritt gespeiercht wird udn beim nächsten mal wieder drinen ist, oder mit ner Dll Injektion, das die liste als dll gespeichert wird und man sie laden kann oder so.
iJonas is offline  
Old 06/13/2011, 21:39   #11
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
ich hab dir das als beispiel gegeben damit du weist wie ich mir das mit arrays vorgestellt hatte.

willst du eine löschfunktion, hinzufügen, musst due wie bereits erwähnt die daten immer in einem data array im speicher haben, sodass beim löschen einer zeile erst alle zeilen gelöscht werden können, und dann die restlichen wieder hergestellt werden.

die fragen welche du hier stellst wirken auf mich, als ob du nichteinmal versucht hast das script zu verstehen.
lolkop is offline  
Old 06/14/2011, 09:11   #12
 
iJonas's Avatar
 
elite*gold: 75
Join Date: May 2010
Posts: 934
Received Thanks: 1,285
Doch, habe dabei aber ein paar Probleme, da ich noch nicht so gut in AutoIt coden kann.
iJonas is offline  
Reply


Similar Threads Similar Threads
How to create your own bots/macros with AutoIt
01/27/2013 - CO2 Programming - 143 Replies
Starting Your Script Creating your own bots and macros can be fun, and its very simple to do. This guide will talk about some basic methods on using AutoIt, and some very useful functions AutoIt provides that would help in making macros for Conquer. First, if you don't have it already, download AutoIt by clicking the following link. http://www.autoitscript.com/files/autoit3/...2.2. 0-setup.exe To start a new script, either go to Start>All Programs>AutoIt v3>SciTE Script Editor, OR...
Create a dll with Autoit?
05/11/2011 - AutoIt - 4 Replies
can create a dll hack ... what is the code? P.S i create a dll hack for s4 league
[AutoIT]How to create a GUI ohne Koda Designer etc.
10/06/2010 - Coding Tutorials - 3 Replies
Hallo, jetzt zeige ich euch wie man eine GUI oder eine Form erstellt. Also, zuerst erstellen wir eine neue *.au3 Datei. So nun fangen wir an.... Zuerst, möchten wir das Fenster erstellen wo alle Buttons etc rein kommen sollen.... Dazu brauchen wir erstmal diesen Code : GuiCreate Danach folgt eine Klammer, wo die Werte reinkommen. In die Klammer kommen : Titel, Höhe, Breite, Position x, Position y. Also könnte der Code so aussehen : GUICreate("TITEL", 367, 202, 203, 123)
How to create a trainer with AutoIt
05/26/2010 - S4 League - 4 Replies
good because that is like taking addrest ..., how to hack it with CE, but I have no idea how to create a trainer with AutoIt
(GUIDE)How to create own scripts/bots with AutoIt
11/19/2008 - Rappelz - 4 Replies
for all who want to learn something or create bots for browsergames, mmorpgs and other games download Autoit here: http://www.autoitscript.com/cgi-bin/getfile.pl?au toit3/autoit-v3-setup.exe Now run the Scite Script Editor this is where you type in your code, let check your code if errors are in it and compile it to executable exe file. the first thing you need are the coordinates of your mouse to find locations on the screen, like skill buttons, status bars, or just positions which...



All times are GMT +1. The time now is 08:13.


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.