|
You last visited: Today at 08:40
Advertisement
Mit einem Array arbeiten
Discussion on Mit einem Array arbeiten within the AutoIt forum part of the Coders Den category.
12/02/2011, 13:30
|
#1
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Mit einem Array arbeiten
Moin,
ich versuche gerade, sinnvoll mit einem definierten Array zu arbeiten:
dim $myArray[1][2]
Ich möchte eine Funktion erstellen, die dem Array den im Funktionsparameter angegebenen Wert hinzufügt oder wenn selbiger bereits im Array existiert, aus selbigem entfernt:
Code:
Func addToArr($param)
If 'existiert noch nicht' Then
redim $myArray[(UBound($attached)+1)-1][2]
$myArray[0][0] = $param
$myArray[0][1] = 1
ElseIf 'existiert bereits' Then
_ArrayDelete($param)
EndIf
EndFunc
So in etwa hab ich mir das vorgestellt. Wie mache ich das am Besten!?
|
|
|
12/02/2011, 14:16
|
#2
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Whoknowsit
Moin,
ich versuche gerade, sinnvoll mit einem definierten Array zu arbeiten:
dim $myArray[1][2]
Ich möchte eine Funktion erstellen, die dem Array den im Funktionsparameter angegebenen Wert hinzufügt oder wenn selbiger bereits im Array existiert, aus selbigem entfernt:
Code:
Func addToArr($param)
If 'existiert noch nicht' Then
redim $myArray[(UBound($attached)+1)-1][2]
$myArray[0][0] = $param
$myArray[0][1] = 1
ElseIf 'existiert bereits' Then
_ArrayDelete($param)
EndIf
EndFunc
So in etwa hab ich mir das vorgestellt. Wie mache ich das am Besten!?
|
hast du ein 2d array, so musst du auch wenigstens 2 parameter angeben, um das ganze sinnvoll zu gestalten. ist der 2te wert wie in deinem code immer 1, so macht es keinen sinn mit einem 2d array zu arbeiten.
|
|
|
12/02/2011, 14:20
|
#3
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Stimmt. Okay... Danke ^^
|
|
|
12/02/2011, 15:41
|
#4
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
ansonsten fallen mir für dein löschen problem spontan 2 mögliche wege ein.
1. der saubere weg
beim auffinden des elementes in der liste, werden alle folge elemente ein
element nach vorne verschoben, und das array als $array[alt-1][2] definiert.
2. der schnelle weg
beim auffinden des elementes wird $array[element][0] auf einen vorher definiereten "verfügbarkeits wert" (zb -1) gesetzt.
hier würde beim einfügen eines elementes das array nach stellen durchsucht werden, welche diesen wert haben, da diese frei verfügbar sind.
der saubere weg hat den vorteil, das man keinen platz verschwendet, bei sehr großen array allerdings sehr viel aufwand hat. stell dir vor du hast ein 100.000 elementiges array und willst das erste element löschen. hierfür müsste alle 99.999 folge-elemente einen nach vorne verschoben werden.
beim schnellen weg wird der inhalt einfach auf verfügbar gesetzt und das problem ist gelöst. nachteil ist, das frei verfügbare arrayplätze leider auch speicher in anspruch nehmen. hinzu kommt, das beim einfügen eines elementes, vorher das array durchlaufen werden muss, um eventuell vorhandene freie plätze zu finden.
|
|
|
12/02/2011, 16:05
|
#5
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Danke  Ich frage mich, was ich mir bei meinem ersten Versuch gedacht habe....
Code:
Func addToArr($param)
If _ArrayBinarySearch($myArray, $param) < 1 Then
_ArrayAdd($myArray, $param)
Else
_ArrayDelete($myArray, $param)
EndIf
EndFunc
Warum leicht machen, wenn's auch schwer geht... ^^
EDIT:
Selbstkorrektur...
Code:
Func addToArr($param)
If _ArrayBinarySearch($myArray, $param) < 1 Then
_ArrayAdd($myArray, $param)
Else
For $n = 0 To UBound($myArray) -1
$index = _ArraySearch($myArray, $param, 0)
If @error Then
Else
_ArrayDelete($myArray, $index)
EndIf
Next
EndIf
EndFunc
|
|
|
 |
Similar Threads
|
Uncharted 3: Arbeiten die Entwickler noch an einem anderen Projekt?
08/07/2011 - User Submitted News - 0 Replies
Im Lebenslauf von Matt Mullins, einem mehrfachen Weltmeister in Martial Arts und Träger des Schwarzen Gürtels, findet sich ein interessanter Eintrag:
Mullins, der bereits für Uncharted und Uncharted 3 für Motion Capturing-Aufnahmen von Naughty Dog gebucht wurde, nennt ein weiteres Projekt von Naughty Dog in seiner Referenzliste: Bei "Thing 1" handelt es sich jedoch um keinen offiziellen Titel oder um ein bislang angekündigtes Spiel des Studios, das momentan an Uncharted 3 arbeitet.
...
|
Array
06/18/2011 - AutoIt - 0 Replies
Array Fehler
Ich habe hier mal wieder einen Fehler den ich nicht beheben kann
#include "WebTcp.au3"
#include <Array.au3>
#Include <File.au3>
TCPStartup()
_AutoITObject_Startup()
|
2D Array hilfe ;)
10/22/2010 - AutoIt - 2 Replies
Hallo,
ich arbeite mittlerweie schon seht viel mit autoit.
Nun wollte ich ein Programm mit einer listview schreiben, wobei es die Daten aus einem txt Dokument entnimmt.
Das txt Dokument sieht so aus:
1,2,3
4,5,6
|
[C#] Array auswerten
10/06/2010 - .NET Languages - 3 Replies
Bitte ab Edit lesen !!
Hey,
da ich gerade fleißig am C# lernen bin, dachte ich mir mal versuch ich mich mal an einem recht einfachem Programm.
Nun, das Programm soll mir eine Datei einlesen und nach einer Eingabe prüfen ob der Inhalt in der Datei vorhanden is und dann halt sagen Ja oder Nein.
Leider erklärt mein Buch wie ich Arrays erstelle, aber nich wie man sie auswerten kann. Ich bin wenigstens schon so Weit das ich weiß das ich am besten mit "ReadAllLines" arbeiten sollte.
Diese...
|
Wir Arbeiten an einem PServer
10/08/2008 - Metin2 Private Server - 18 Replies
So hallo erstmal!
Also ich und mein Team (unter dem namen Project X) Arbeiten an einem .us Privat Server. Ich werde nichts versprechen wann und ob der Server überhaupt on geht. Das heißt nicht das wir das zu 100% hinbekommen aber es besteht eine Chance. Also Bitte macht unsere Seite nicht schlecht nur weil ihr es nicht glaubt.
Ich habe keinen Grund euch in irgendwelcher weise zu Verarschen(siehe meinen Postzählen), denn ich bin ein ehrlicher User mit erfahrung, das können mehrere...
|
All times are GMT +1. The time now is 08:41.
|
|