Autor Beitrag
enke
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 30.10.06 17:36 
moin...ich hab mal ne frage...wir solln in informatik mit ner while-do-schleife in nem TImage "ein kariertes Blatt malen"
ich komm wohl damit zurecht wie das mit der schleife geht aber ich komm nich damit zurecht wie ich die variablen da einsetzen muss

das hab ich mal so geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.karo(Sender: TObject);
var
  X, Y : Integer;

begin
  while blatt.Canvas.PenPos.X < blatt.Width do
   with blatt.Canvas do
   begin
   moveto(X:10;Y:10);
   lineto(penpos.X;penpos.Y+blatt.height);
   moveto(penpos.X+20;penpos.Y-blatt.height);
   end;
end;



kann mir wohl einer sagen was falsch is??
wär nett..bis dann mfg enke

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Delphi) verschoben am Mo 30.10.2006 um 17:40
enke Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 30.10.06 17:41 
ach ich hab vergessen: das solln erstmal nur die senkrechten striche werden...der rest is ja dann fast gleich
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Mo 30.10.06 17:47 
Dein Code sollte ungefähr so aussehen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var
  X, Y : Integer;

begin
  while blatt.Canvas.PenPos.X < blatt.Width do
   with blatt.Canvas do
   begin
   X := 10;
   Y := 10;
   canvas.moveto(X,Y);
   canvas.lineto(penpos.X,penpos.Y+blatt.height);
   canvas.moveto(penpos.X+20,penpos.Y-blatt.height);
   end;
end;


jedoch kannste mit deisem Code noch kein 'karriertes Blatt' malen, da musste den Code noch n bisschen weiterführen.
Aber die Variablen werden ungefähr so gesetzt.

Gruß

Bäär
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mo 30.10.06 17:57 
So kannst du ein Karomuster zeichnen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
  with Image1.Canvas do
  begin
    MoveTo(0, 0);
    while PenPos.X < Image1.Width do
    begin
      LineTo(PenPos.X, Image1.Height);
      MoveTo(PenPos.X+10, 0);
    end;

    MoveTo(0, 0);
    while PenPos.Y < Image1.Height do
    begin
      LineTo(Image1.Width, PenPos.Y);
      MoveTo(0, PenPos.Y+10);
    end;
  end;


MfG
enke Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 30.10.06 18:04 
[Hinweis] Unit1.pas(29): Variable 'X' wurde deklariert, aber in 'TForm1.karo' nicht verwendet

...
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mo 30.10.06 18:06 
user profile iconenke hat folgendes geschrieben:
[Hinweis] Unit1.pas(29): Variable 'X' wurde deklariert, aber in 'TForm1.karo' nicht verwendet

...

Das ist keine Fehlermeldung. :wink:
Du hast irgendwo in deiner Unit eine Variable Namens X deklariert (angelegt), die du aber nirgendswo verwendet hast.
Einfach löschen wenn du sie nicht mehr brauchst.

MfG
enke Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 30.10.06 18:09 
jau hast recht...danke das klappt wunderbar..
besten dank für die hilfe

mfg enke