AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife zum Erstellen von Shapes

Ein Thema von Frittenbudenmann · begonnen am 15. Dez 2011 · letzter Beitrag vom 16. Dez 2011
Antwort Antwort
Seite 1 von 2  1 2      
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#1

Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 21:59
Delphi-Version: 7
Hallo Leute,
bin ganz neu hier im Forum und wollte mal so schauen wie es hier so ist

Hab' dann auch gleich mal eine Frage, doch zuerst muss ich noch sagen, dass ich absoluter Laie bin und erst seit einem halben Jahr im Rahmen der Schule mit Delphi "arbeite".

Ich möchte nun mit Hilfe einer Schleife eine Form erstellen. In dem Fall einen Kreis.

Delphi-Quellcode:
for i:=1 to ix do
  BEGIN
    Koerper[i]:=TShape.Create(Form1);
    Koerper[i].Parent:=Form1;
    Koerper[i].Left:= ball2.Left+Koerper[i].Width;
    Koerper[i].Top:=ball2.Top;
    Koerper[i].Height:=ball2.Height;
    Koerper[i].Width:=ball2.Width;
    Koerper[i].Brush.Color:=clLime;


  END;
Nun habe ich einige Probleme

Zu erst steht unten bei den Warnungen: "FOR-Schleifenvariable muss eine einfache lokale Variable sein"

var
i:integer;
Koerper: array of TShape;

Will ich mein Programm mit der Schleife starten, wie sie dort oben steht, bekomme ich außerdem die Meldung:"Im Projekt Project1.exe ist eine Exception der Klasse EAccesViolation aufgetreten. Meldung:'Zugriffsverletzung bei Adresse 0044D4F5 in Modul Project1.exe'. Schreiben von Adresse 00000004'. Prozess wurde angehalten."

Markiert wird mir hierbei die Zeile:
Koerper[i]:=TShape.Create(Form1);
Ich hoffe mir kann jemand helfen.

MfG
Frittenbudenmann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:02
Du wirst die Zählvariable global deklariert haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#3

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:07
i ist global deklariert, das stimmt. Ist aber wohl falsch, oder?

Ich habe außerdem die Schleife in einer Timerprozedur, was wohl auch nicht so angebracht ist, wie ich gerade bemerkt habe. Werde sie mal in eine eigene Prozedur schreiben.
  Mit Zitat antworten Zitat
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#4

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:12
Hat sich erledigt.

Trotzdem danke


  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#5

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:13
i solltest du lokal in der Prozedur definieren. Ausserdem musst du erstmal die Länge des Arrays setzen. Quasi so:

Delphi-Quellcode:
var
  i: Integer;
begin
  SetLength(Koerper, 10);
  for i := 0 to 9 do
  begin
    Koerper[i]:=TShape.Create(Form1);
    // ...
  end;
end;
Edit: Der Kasten kam nicht
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#6

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:14
Und wie bekomme ich es nun hin, dass die Formen, die erscheinen sollen, Kreise sind? (:
  Mit Zitat antworten Zitat
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#7

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:15
Wie genau meinst du das mit der Länge?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:22
Wie viele Elemente das Array aufnehmen soll, das ist die Länge.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Frittenbudenmann

Registriert seit: 15. Dez 2011
6 Beiträge
 
#9

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:33
Und wie bekomme ich es hin, dass mehrere Shapes auf der x-Achse direkt nebeneinander, aber nicht aufeinander liegen?
Ist auch meine letzte Frage für heute
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Schleife zum Erstellen von Shapes

  Alt 15. Dez 2011, 22:46
Setze die x-Position entsprechend.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz