Rysowanie mapy.... PILNE!!!

0

Mam problem: do mojego programu (nieważne jakiego:)) chcę dodać funkcję rysowania mapy. I mam stringi np. 'polnoc' albo 'polodnie' i na podst. takich danych mam nryswac mape skladajaca sie z malych kwadracikow. na razie wykombinowalem rysowanie Shape'ow, ale nie dziala. Oto kod:

unit code13drawmap;

interface

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

type
TDrawMap = class(TForm)
Shape1: TShape;
Edit1: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
DrawMap: TDrawMap;
ActualLeft, ActualTop : Integer;

implementation

{$R *.dfm}

procedure TDrawMap.FormCreate(Sender: TObject);
begin
ActualLeft := Shape1.Left;
ActualTop := Shape1.Top;
end;

procedure TDrawMap.Button1Click(Sender: TObject);
var
Shape : TShape;
begin
if Edit1.Text = 'polnoc' then
begin
Shape := TShape.Create(Self);
Shape.SetBounds(ActualLeft, ActualTop-20,17,17);
ActualLeft := Shape.Left;
ActualTop := Shape.Top
end;
if Edit1.Text = 'polodnie' then
begin
Shape := TShape.Create(Self);
Shape.SetBounds(ActualLeft, ActualTop+20,17,17);
ActualLeft := Shape.Left;
ActualTop := Shape.Top
end;
if Edit1.Text = 'wschod' then
begin
Shape := TShape.Create(Self);
Shape.SetBounds(ActualLeft-20, ActualTop,17,17);
ActualLeft := Shape.Left;
ActualTop := Shape.Top
end;
if Edit1.Text = 'zachod' then
begin
Shape := TShape.Create(Self);
Shape.SetBounds(ActualLeft+20, ActualTop,17,17);
ActualLeft := Shape.Left;
ActualTop := Shape.Top
end;
end;

end.

Jak juz napisalem to nie dziala. Dane maja byc jeszcze 'poludniowy-wschod' itp.
Chce zeby to byly Shape'y, bo chcialbym jeszcze dodac potem pare innych bajerkow. (wiec nie robcie nic na canvase, no chyba ze naprawde dobre :)).
I jeszcze fajnie by bylo gdyby ostatnio rysowany kwoadracik byl innego koloru.
Prosze o pomoc. bo ja nie wiem.... {glowa} --Vroc
&ltDelphi Knight&gt

0

Uzupełnie: na formie jest juz jeden shape (SHAPE1), jest edit1 i button.
po kliknieciu na button jest wykonywana ta procedura. a dane (czyli te stringi) pochadza wlasnie z edit1--Vroc
&ltDelphi Knight&gt

0

mapy NIE rysujemy poprzez Shape'y :).
jedno wytlumaczenie: narysuj takich shape'ow 1000 to ci tak komp zamuli, ze nawet zresetowac go nie bedziesz mogl...

0

jajco napisal:

narysuj takich shape'ow 1000 to ci tak komp zamuli, ze nawet zresetowac go nie bedziesz mogl

no ale wystarczy wyciagnac wtyczke z gniazdka i po klopocie :)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ lks16@tenbit.pl ]=-

0

niwazne, LKS powiedzil mi pare postow wyzej co robie zle:&gt--Vroc
&ltDelphi Knight&gt

0

chyba zapomniales Shape.Parent := Self :)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ lks16@tenbit.pl ]=-

0

rysowanie mapy przy użyciu shapeów jest pomysłem równie ambitnym co zrobienie przy pomocy tychże tetrisa - da się, ale kto sobie będzie głowe pierdołami zawracał :-)

Ja osobiście proponuje np. paintboxa, lub tego canvasa, którego nie chciałeś - jeśli to mają być tylko kwadraciki itd. to jest do tego stworzony.--, tradycyjnie pozdrawiam - Numi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1