Register for your free account! | Forgot your password?

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

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

Advertisement



Anzahl Arrays verwenden

Discussion on Anzahl Arrays verwenden within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
RettAss's Avatar
 
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
Anzahl Arrays verwenden

Tach zsm
und zwar möchte ich die ermittelte anzahl der vorhandenen arrays weiter verwenden um sie z.b. in ein label oder msgbox auszugeben, folgendes bsp.

Code:
......
$Label82 = GUICtrlCreateLabel("Skill:       Level:", 12, 186, 76, 17)
$Label83 = GUICtrlCreateLabel("Skill:       Level:", 12, 220, 76, 17)
$Label84 = GUICtrlCreateLabel("Skill:       Level:", 12, 203, 76, 17)
$Label85 = GUICtrlCreateLabel("Skill:       Level:", 12, 237, 76, 17)
$Label86 = GUICtrlCreateLabel("Skill:       Level:", 12, 254, 76, 17)
$Label87 = GUICtrlCreateLabel("Skill:       Level:", 12, 271, 76, 17)
$Label88 = GUICtrlCreateLabel("Skill:       Level:", 12, 288, 76, 17)
$Label89 = GUICtrlCreateLabel("Skill:       Level:", 12, 305, 76, 17)
$Label90 = GUICtrlCreateLabel("Skill:       Level:", 12, 322, 76, 17)
$Label91 = GUICtrlCreateLabel("Skill:       Level:", 12, 339, 76, 17)
$Label92 = GUICtrlCreateLabel("Skill:       Level:", 12, 356, 76, 17)
$Label93 = GUICtrlCreateLabel("Skill:       Level:", 12, 373, 76, 17)
$Label94 = GUICtrlCreateLabel("Skill:       Level:", 12, 389, 76, 17)
$Label95 = GUICtrlCreateLabel("Skill:       Level:", 12, 406, 76, 17)
$Label96 = GUICtrlCreateLabel("Skill:       Level:", 12, 423, 76, 17)
$Label97 = GUICtrlCreateLabel("Skill:       Level:", 12, 440, 76, 17)
$Label98 = GUICtrlCreateLabel("Skill:       Level:", 12, 457, 76, 17)
$Label99 = GUICtrlCreateLabel("Skill:       Level:", 12, 169, 76, 17)
$Label100 = GUICtrlCreateLabel("Skill:       Level:", 12, 152, 76, 17)
$Label101 = GUICtrlCreateLabel("Skill:       Level:", 12, 135, 76, 17)
$Label102 = GUICtrlCreateLabel("Skill:       Level:", 12, 118, 76, 17)
$Label103 = GUICtrlCreateLabel("Skill:       Level:", 12, 101, 76, 17)
$Label104 = GUICtrlCreateLabel("Skill:       Level:", 12, 85, 76, 17)
$Label105 = GUICtrlCreateLabel("Skill:       Level:", 12, 68, 76, 17)
$Label106 = GUICtrlCreateLabel("Skill:       Level:", 12, 51, 76, 17)
$Label107 = GUICtrlCreateLabel("Skill:       Level:", 12, 34, 76, 17)
.......

.......
$asskill1 = IniRead("test.ini","askill","id","")
$anzahl0 = StringSplit($asskill1, " ",2)
$anzahl1 = UBound($anzahl0)-1 ; 13 arrays
$anzahl1 ergibt 13 vorhandene Arrays, maximal sind 25 arrays möglich, so wie geb ich jetzt am besten die vorhandenen 13 arrays in die ersten 13 labels aus? (Wie viel arrays vorhanden sind weis man im vor herein nicht)

mfg
RettAss is offline  
Old 09/24/2013, 14:34   #2

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
Guictrlsetdata($label, anzahl0[Dein Array als Nummer]).


ich hoffe das es so richtig ist.
Bin gerade am Handy.
xcyancali is offline  
Old 09/24/2013, 14:38   #3
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Du musst aber aufpassen, da die nicht alle auf der selben Stelle sein sollen sondern verschoben, die Verschiebung müsstest auch in den Array schreiben und richtig anwenden.
alpines is offline  
Old 09/24/2013, 14:52   #4
 
RettAss's Avatar
 
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
Quote:
Originally Posted by xcyancali View Post
Guictrlsetdata($label, anzahl0[Dein Array als Nummer]).


ich hoffe das es so richtig ist.
Bin gerade am Handy.
naja aber wenn ich vorher nicht weiß wie viele es sind dann geht das so ja nicht bzw durch diesen befehl fügt sich ja nur ein wert in ein label.
Wenn ich es wüsste würde es ja so aussehen

Code:
GUICtrlSetData($h_name,$aZahlen[0])
GUICtrlSetData($a_name,$aZahlen[1])
GUICtrlSetData($g_name,$aZahlen[5])
GUICtrlSetData($?_name,$aZahlen[3])
GUICtrlSetData($p_name,$aZahlen[4])
GUICtrlSetData($b_name,$aZahlen[6])
GUICtrlSetData($w_name,$aZahlen[2])
GUICtrlSetData($?_name,$aZahlen[10])
GUICtrlSetData($?_name,$aZahlen[11])
GUICtrlSetData($?_name,$aZahlen[12])
GUICtrlSetData($?_name,$aZahlen[13])
So sieht es ja eig. aus, wenn ich nicht weiß wie viele es sind:
Code:
GUICtrlSetData($h_name,$aZahlen[0])
GUICtrlSetData($a_name,$aZahlen[x])
GUICtrlSetData($g_name,$aZahlen[x])
GUICtrlSetData($?_name,$aZahlen[x])
GUICtrlSetData($p_name,$aZahlen[x])
GUICtrlSetData($b_name,$aZahlen[x])
GUICtrlSetData($w_name,$aZahlen[x])
GUICtrlSetData($?_name,$aZahlen[x])
GUICtrlSetData($?_name,$aZahlen[x])
GUICtrlSetData($?_name,$aZahlen[x])
GUICtrlSetData($?_name,$aZahlen[x])
ich weiß ja nach UBound()-1 nur das es 13 Arrays sind, nun will ich ja für x die jeweilige anzahl [0] [1] [2]-[13]

Auf Deutsch gesagt: Erstelle mir die Anzahl an GUICtrlsetdata() befehle anhand der anzahl der ausgegebenen Arrays (13)

So sieht das Array aus:
Code:
[0]|14
[1]|19
[2]|15
[3]|18
[4]|16
[5]|46
[6]|48
[7]|17
[8]|20
[9]|1106
[10]|162
[11]|230
[12]|1087
[13]|401
RettAss is offline  
Old 09/24/2013, 14:57   #5
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Ich hab dir mal schnell im Browser ein Beispiel zusammengeschrieben, ist ungetestet sollte aber funktionieren.
Code:
Global $aLabel[100]
Local $iStart = 34, $iPosDifference = 17

For $i = 0 To UBound($aLabel) - 1
	$aLabel[$i] = GUICtrlCreateLabel("Skill:       Level:", 12, $iStart + $i*$iPosDifference, 76, 17)
Next
alpines is offline  
Old 09/24/2013, 15:17   #6
 
RettAss's Avatar
 
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
Quote:
Originally Posted by alpines View Post
Ich hab dir mal schnell im Browser ein Beispiel zusammengeschrieben, ist ungetestet sollte aber funktionieren.
Code:
Global $aLabel[100]
Local $iStart = 34, $iPosDifference = 17

For $i = 0 To UBound($aLabel) - 1
	$aLabel[$i] = GUICtrlCreateLabel("Skill:       Level:", 12, $iStart + $i*$iPosDifference, 76, 17)
Next
hmm das ist jetzt eher auf die anzahl der label bezogen oder?
Die anzahl der label ist mir eig ziehmlich gleich, es stehen immer 25 label

Mir ist in erster linie die sache mit den Arrays wichtig. Villt erklär ich es mal anders.
Also ich habe ein ganzen array, der inhalt dieses arrays ist immer 1 dimensional und hat zwischen 1-25 rows.
In diesem Beispiel hat das array 13 Rows. Mit UBound()-1 bekomm ich raus das 13 rows vorhanden sind, nun will ich in die ersten 13 Labels diese 13 Rows eintragen lassen.
Code:
[0]|14
[1]|19
[2]|15
[3]|18
[4]|16
[5]|46
[6]|48
[7]|17
[8]|20
[9]|1106
[10]|162
[11]|230
[12]|1087
[13]|401

 GUICtrlSetData($h_name,$aZahlen[0])
			GUICtrlSetData($a_name,$aZahlen[1])
			GUICtrlSetData($g_name,$aZahlen[5])
			GUICtrlSetData($?_name,$aZahlen[3])
			GUICtrlSetData($p_name,$aZahlen[4])
			GUICtrlSetData($b_name,$aZahlen[6])
			GUICtrlSetData($w_name,$aZahlen[2])
			GUICtrlSetData($?_name,$aZahlen[10])
			GUICtrlSetData($?_name,$aZahlen[11])
			GUICtrlSetData($h_plus,$aZahlen[12])
			GUICtrlSetData($a_plus,$aZahlen[13])
RettAss is offline  
Old 09/24/2013, 15:29   #7
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Dann musst du die Labels auch per Array erstellen, damit du sie besser ansteuern kannst als jeden Array einzeln. Das Script was ich dir geschrieben hab wird dir weiterhelfen.
Wenn du alle per Array erstellt hast, könnte es so aussehen:
Code:
For $i = 0 To UBound($aZahlen) - 1
	GUICtrlSetData($aLabel[$i], $aZahlen[$i])
Next
alpines is offline  
Thanks
1 User
Old 09/24/2013, 15:30   #8
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
For $i = 0 To 13
$aLabel[$i] = GUICtrlCreateLabel($i, 12, $iStart + $i*$iPosDifference, 76, 17)
Next

For $i = 0 to Ubound($aLabel-1)
Guictrlsetdata($aLabel,$zahlen[$i])
next

erstellt erst ein array mit 13 labels drin
füllt die labels danach mit $zahlen.
kann auch in einem schritt erledigt werden, habs hier aber mal getrennt.
hoffe ich hab dich richtig verstanden.
butter123 is offline  
Thanks
1 User
Old 09/24/2013, 15:48   #9
 
RettAss's Avatar
 
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
Quote:
Originally Posted by alpines View Post
Dann musst du die Labels auch per Array erstellen, damit du sie besser ansteuern kannst als jeden Array einzeln. Das Script was ich dir geschrieben hab wird dir weiterhelfen.
Wenn du alle per Array erstellt hast, könnte es so aussehen:
Code:
For $i = 0 To UBound($aZahlen) - 1
	GUICtrlSetData($aLabel[$i], $aZahlen[$i])
Next
Quote:
Originally Posted by butter123 View Post
For $i = 0 To 13
$aLabel[$i] = GUICtrlCreateLabel($i, 12, $iStart + $i*$iPosDifference, 76, 17)
Next

For $i = 0 to Ubound($aLabel-1)
Guictrlsetdata($aLabel,$zahlen[$i])
next

erstellt erst ein array mit 13 labels drin
füllt die labels danach mit $zahlen.
kann auch in einem schritt erledigt werden, habs hier aber mal getrennt.
hoffe ich hab dich richtig verstanden.
ok danke euch, das sieht schonmal vielversprechend aus, werds dann später mal testen
RettAss is offline  
Old 09/24/2013, 16:20   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Kopiert sich den Code einfach dreist raus, obwohl ich die Lösung schon gepostet hab - so wirds gemacht.
alpines is offline  
Reply


Similar Threads Similar Threads
[VB]Arrays und Panel
05/08/2013 - .NET Languages - 2 Replies
Hallo Mitglieder, ich bin dabei ein kleines 2d Spiel mit Panels zu programmieren. Die 4 Panel um die es sich handelt, heißen enemy1,enemy2,enemy3 und enemy4. Diese 4 Panels möchte ich jetzt in ein Array rein kriegen, das enemy heißt. Ja, ich weiß das man einfach alles via Code adden kann, aber ich habe diese in der Form hinzugefügt und es muss doch wohl auch eine Möglichkeit geben diese bereits hinzugefügten Panels in das Array, mit allen Kontrollrechten, zu kopieren. Dies...
_GDIPlus_BitmapDispose mit Arrays
10/26/2011 - AutoIt - 1 Replies
Hallo com, habe folgendes Problem. Habe mehrere _GDIPlus_BitmapCloneArea Befehle. Nun möchte ich diese in einen Array schreiben also: Dim $Bitmap $Bitmap = _GDIPlus_BitmapCloneArea($hImage,0,0,20,20) $Bitmap = _GDIPlus_BitmapCloneArea($hImage,0,0,20,20) $Bitmap = _GDIPlus_BitmapCloneArea($hImage,0,0,20,20) $Bitmap = _GDIPlus_BitmapCloneArea($hImage,0,0,20,20)
C++ Mehrdimensionale Arrays
08/14/2011 - C/C++ - 7 Replies
Hey Leute, Ich lern C++ schon seit 2 Monaten und bin jetzt bei den Arrays und Strukturen (Vll. brauchte ich ein bissl. lange,aber dafür behersche ich das gelernte zu 100%). und zwar habe ich da ein BspQuelltext: #include <iostream> using namespace std; // Hauptprogramm
vereinfachen mit arrays
02/03/2011 - AutoIt - 2 Replies
ich versuche grad das hier zu vereinfachen: $Fach1=IniRead("C:\info.ini","Fach ","1","") $Fach2=IniRead("C:\info.ini","Fach ","2","") $Fach3=IniRead("C:\info.ini","Fach ","3","") $Fach4=IniRead("C:\info.ini","Fach ","4","") $Fach5=IniRead("C:\info.ini","Fach ","5","") $Fach6=IniRead("C:\info.ini","Fach ","6","") $Fach7=IniRead("C:\info.ini","Fach ","7","") $Fach8=IniRead("C:\info.ini","Fach ","8","")
Arrays! Hilfe!
06/29/2010 - AutoIt - 13 Replies
Hallo e*pvp, Es ist mir jetzt peinlich aber irgendwann musste ich es fragen! Also Ich habe ein Problem undzwar versteh ich nicht was Arrays sind. Ich versteh den Sinn nicht und nicht wie man sie Anwenden kann! Die ganzen Texte aus Wikipedia und Arrays Tutorials helfen mit nicht! Bitte hilft mir was genau Arrays sind und wie man sie sinnvoll anwenden kann! Ich hoffe einer kann mir helfen :( !



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


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.