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
<Delphi Knight>