Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » VBA Array erstellen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen VBA Array erstellen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Corny
unregistriert
VBA Array erstellen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo
Ich benötige eure Hilfe.
Ich möchte 36 Rechtecke zu einem Array zusammenfassen. Hab mir folgendes überlegt.
Meine Rechtecke haben den Namen R0,R1,R2......

Dim Quad(35) As Control
Quad=Array(R0,R1,R2,R3,R4....,R35)
Set Quad(0) =R0
Set Quad(1)=R1
Set Quad(2)=R2
.
.
.
Set Quad(35)=R35

Kann man das auch kürzer schreiben, z.B. mit einer Schleife.
Möchte es auch noch global haben. Also müsste ich es ja direkt oben unter Option Explicit schreiben oder?

Wäre über Ratschläge sehr erfreut.
02.02.2010 19:39
David_pb
Mitglied


Dabei seit: 01.06.2007
Beiträge: 44

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was für Rechtecke sind das denn?

code:
1:
2:
Quad=Array(R0,R1,R2,R3,R4....,R35)


Dies füllt dein Array ja bereits, du brauchst die einzelnen Einträge also nicht nochmals zu zuweisen.

Zitat:
Möchte es auch noch global haben. Also müsste ich es ja direkt oben unter Option Explicit schreiben oder?


Zur Variablen Lebensdauer findest du hier etwas: http://www.ozgrid.com/VBA/variable-scope-lifetime.htm
02.02.2010 20:18 David_pb ist offline E-Mail an David_pb senden Beiträge von David_pb suchen Nehmen Sie David_pb in Ihre Freundesliste auf
Corny
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Des sind einfach aufgezogene Rechtecke, die ich durch eine Randomize funktion sichtbar machen möchte.
Aber es klappt wie du es geschrieben hast, wenn ich es nur mit Array schreibe.
Der Link war auch toll.
Hast mir sehr weitergeholfen.
Danke
06.02.2010 18:27
Corny
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich bin jetzt schon wieder auf ein Problem gestoßen.
Meine Rechtecke sollen sich nun beliebig auf dem Bildschirm bewegen. Das klappt ganz gut. Nur hab ich das Problem, dass die Rechtecke sich aus dem Bildschirm bewegen und man dann erst nach unten Scrollen muss, um sie weider zu sehen.
Hab mir überlegt, dass ich die maximalen Werte für den Bildschrim festlegen muss.
Das j bezeichnet das enstprechende Rechteck und das i wird durch eine Schleife vergrößert, dass die Bewegung gleichmäßig verläuft.

Quad(j).Move Quad(j).Left + 3 * i, Quad(j).Top - 20 * i

If Quad(j).Top = 0 then
Exit Function
End If
Wie kann ich jetzt maximalen Werte für die Bewegung festlegen? Weil so wie ich es mir gedacht hab in die If-Anweisung zu schreiben klappts leider nicht.
10.02.2010 16:56
David_pb
Mitglied


Dabei seit: 01.06.2007
Beiträge: 44

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn du auf Gleichheit Testest ist es wahrscheinlich, das du den Zeitpunkt verpasst, wenn deine Bewegung nicht Pixelweisse ist. Nimm lieber die Operatoren für "Kleiner Gleich" und "Größer Gleich".
11.02.2010 13:14 David_pb ist offline E-Mail an David_pb senden Beiträge von David_pb suchen Nehmen Sie David_pb in Ihre Freundesliste auf
Corny
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey.
Ja stimmt, der hat die Werte übersprungen. Mit kleiner gleich funktioniert es. Hab auch gedacht, dass die Angaben in cm sind, dabei sind sie in mm.
Vielen Dank
11.02.2010 18:00
Corny
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich meine natürlich Twips nicht mm
11.02.2010 18:30
David_pb
Mitglied


Dabei seit: 01.06.2007
Beiträge: 44

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, Twips... Du kannst das glaub ich auch in andre Metriken umstellen.
12.02.2010 17:30 David_pb ist offline E-Mail an David_pb senden Beiträge von David_pb suchen Nehmen Sie David_pb in Ihre Freundesliste auf
Corny
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hab schon wieder mal eine Frage.
Möchte nämlich die Rechtecke bewen lassen und wenn sie zu nahe am Rand sind, sollen sie sich in die andere Richtung bewegen. Aber wenn man das Programm dann auf einem anderen Bildschirm testet, ändert sich ja die Bildschirmgröße. Deshalb kann man es ja nicht mit festen Werten machen.
Kann man die Bildschirmgröße berechnen lassen?
23.02.2010 20:22
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » VBA Array erstellen