Autor Beitrag
beastofchaos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Mi 23.02.11 17:26 
Hallo Leute,
ich habe ein kleines Problem mit der Schleife "with ... do". Alsoooo: Ich will ein Programm machen, das ein Muster auf ein schräg gelegtes Quadrat legt. Wie das funktionieren soll, braucht ihr nciht verstehen, denn hier gehts nur um folgende Stelle:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
type Draw = record
    p: TVector2D;
    add: TVector2D;
    right: Boolean;
    finish: extended;
    end;
begin
  with Draw do
    begin
    .
    .
    .


Fehlermeldung: "'(' expected but DO found"
Ich verstehe nicht, wieso ich da etwas in Klammern stellen sollte. Könnt ihr mir weiter helfen?

Viele Grüße, Thomas


PS: Frage geklärt ( hab das mit dem Typ, nicht mit Variable gemacht xD ). Vll mag das einer löschen, damit das hier nicht das Forum zu spamt ;)
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Do 24.02.11 11:56 
Hallo,

Delphi denkt du willst da etwas Typecasten, da du den Namen eines Typen angegeben hast. Du musst eine Variable deines Typen definieren:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
type Draw = record
    p: TVector2D;
    add: TVector2D;
    right: Boolean;
    finish: extended;
    end;
Var
  vDraw : Draw;
begin
  with vDraw do
    begin
    .
    .
    .


Typen sollte man übrigens wegen der besseren Lesbarkeit ein t Voranstellen, was das ganze so aussehen lassen würde:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
type tDraw = record
    p: TVector2D;
    add: TVector2D;
    right: Boolean;
    finish: extended;
    end;
Var
  Draw : tDraw;
begin
  with Draw do
    begin
    .
    .
    .


Gruß
Klabautermann

PS: Draw könnte ein ziemlich ungeeigneter Variablenname sein, da es Funktionen gibt, die so heißen und ein Aufruf wie Draw(Draw) könnte leicht verwirrend für Programmierer und Compiler sein ;).
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Do 24.02.11 12:04 
@user profile iconKlabautermann: Was hast du daran nicht verstanden?
user profile iconbeastofchaos hat folgendes geschrieben Zum zitierten Posting springen:
PS: Frage geklärt ( hab das mit dem Typ, nicht mit Variable gemacht xD ). Vll mag das einer löschen, damit das hier nicht das Forum zu spamt ;)
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Do 24.02.11 12:19 
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
@user profile iconKlabautermann: Was hast du daran nicht verstanden?
user profile iconbeastofchaos hat folgendes geschrieben Zum zitierten Posting springen:
PS: Frage geklärt ( hab das mit dem Typ, nicht mit Variable gemacht xD ). Vll mag das einer löschen, damit das hier nicht das Forum zu spamt ;)

Ich schätze ich habe es einfach überlesen ;). Generell werden solche Sachen aber nciht gelöscht, damit jemand anderes, der einmal vor dem Gleichen Problem steht eine Lösung über die Suchfunktion finden kann.

Für diesen Beitrag haben gedankt: beastofchaos