Avatar billede gangsta12dk Nybegynder
24. februar 2005 - 11:15 Der er 6 kommentarer og
1 løsning

Hjælp til brug af TShape!

Hej, jeg vil gerne lave en Mastermind spil, og i første omgang vil jeg bare gerne snakke om designen. Det er en meget simple design jeg vil spørge om hjælp til. Jeg vil gerne benytte my af SHAPE og lave cirkler som jeg kan fylde med farve. Jeg ved godt at vælge SHAPE og så bare tegne så mange cirkler man vil, men da jeg gerne vil tegne 40 cirkler (4x10) synes jeg det tager for lang tid. Mit spørgsmål er så om man ved hjælp af en funktion kan skabe 40 cirkler der er strukteret pænt op, hvor der 4 cirkler på x-aksen og 10 på y-aksen?

Med venlig hilsen

gangsta12dk
Avatar billede stoney Nybegynder
24. februar 2005 - 12:04 #1
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
  myshapes: array [1..10, 1..4] of Tshape;
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var
  Row, Col: Integer;
begin
  for Row := 1 to 10 do
    for Col := 1 to 4 do
    begin
      myshapes[Row, Col] := Tshape.Create(Self);
      myshapes[Row, Col].Parent := Self;
      myshapes[Row, Col].Shape := stEllipse;
      myshapes[Row, Col].Brush.Color := clred;
      myshapes[Row, Col].Height := 15;
      myshapes[Row, Col].Width := 15;

      myshapes[Row, Col].Top := Row * 20 + 10;
      myshapes[Row, Col].Left := Col * 30 + 20;

    end;
end;


end.


Stoney
Avatar billede gangsta12dk Nybegynder
28. februar 2005 - 18:56 #2
Tak Stoney...du har løst den ene problem jeg havde, men desværre opstod der et andet når jeg skal arbejde med de 40 cirkler og derfor har jeg opgivet at bruge den metode :D. Men du skal da selvfølgelig have point for dit svar. Hvis du lige indsætter et svar er pointene dine :D
Avatar billede gangsta12dk Nybegynder
01. marts 2005 - 11:06 #3
Stoney>> jeg forstår din kode, men samtidig er der to ting jeg ikke forstår.

Hvad betyder disse to linjer og hvad er det helt præcis de gør:

      myshapes[Row, Col] := Tshape.Create(Self);
      myshapes[Row, Col].Parent := Self;

Tak for hjælpen ;)
Avatar billede stoney Nybegynder
01. marts 2005 - 12:31 #4
myshapes: array [1..10, 1..4] of Tshape;

ovenstående er et array.
Du refererer til på følgende måde
myshapes[Row, Col]  // altså række og kolonne

Stoney
Avatar billede gangsta12dk Nybegynder
01. marts 2005 - 19:50 #5
Ja ok, jeg kan se at du har misforstået min spørgsmål :D

:= Tshape.Create(Self);
.Parent := Self;

det vare denne del af koden jeg ikke forstod :D ( det med række kolonne var skåret ud i pap fra starten af, men tak alligevel :D )
Avatar billede gangsta12dk Nybegynder
26. marts 2005 - 19:51 #6
Stoney>> jeg skal stadigvæk have et svar ( og ikke kommentar) fra dig, så du kan få dine point.
Avatar billede stoney Nybegynder
27. marts 2005 - 09:55 #7
:-)

Stoney
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester