cs_lusitano69
Messages postés21Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention26 février 2008
-
20 févr. 2008 à 13:39
cs_lusitano69
Messages postés21Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention26 février 2008
-
20 févr. 2008 à 15:07
Bonjour voici mon probléme j essaye de faire une sorte de affichage de texte en Leds. Le probléme pour tester c est que j arrive pas a faire défiler une lettre qui est déssiner sur une image en forme de "pixels grossi"(des petits carré)" voici mon code. Merci
...
var
Form1: TForm1;
tab : array[0..11,0..11] of integer;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled := true;
end;
var i,j:integer;
begin
//Remplis l'image en noir
Image1.Canvas.Brush.Color:= clBlack;
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
//Remplis tous les pixels en purple
for j:=0 to Image1.Height div hauteur do
begin
for i:=0 to Image1.Width div largeur do
begin
Image1.Canvas.Brush.Color:= clGray;
Image1.Canvas.Rectangle(sup_x+i*largeur,sup_y,inf_x+i*largeur,inf_y);
Image1.Canvas.Rectangle(sup_x+i*largeur,sup_y+j*hauteur,inf_x+i*largeur,inf_y+j*hauteur);
end;
end;
tab[1,5]:= 1;
tab[2,3]:= 1;
tab[2,4]:= 1; // Exemple pour un 'T' minuscule -> t
tab[2,5]:= 1;
tab[2,6]:= 1;
tab[2,7]:= 1;
tab[2,8]:= 1;
tab[2,9]:= 1;
tab[2,10]:= 1;
tab[2,11]:= 1;
tab[3,5]:= 1;
//Affichage du tableau
for i:=0 to 11 do
begin
for j:=0 to 11 do
begin
if (tab[i,j] = 1) then
begin
Image1.Canvas.Brush.Color:= clFuchsia;
Image1.Canvas.Rectangle(sup_x+i*largeur,sup_y+j*hauteur,inf_x+i*largeur,inf_y+j*hauteur);
end;
end;
end;
end;
var
Form1: TForm1;
tab : array[0..11,0..11] of integer;
IndexPosLeft,IndexPosTop:integer;
i,j:integer;
const
sup_x = 2;
sup_y = 2;
inf_x = 8;
inf_y = 8;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Begin
tab[1,5]:= 1;
tab[2,3]:= 1;
tab[2,4]:= 1; // Exemple pour un 'T' minuscule -> t
tab[2,5]:= 1;
tab[2,6]:= 1;
tab[2,7]:= 1;
tab[2,8]:= 1;
tab[2,9]:= 1;
tab[2,10]:= 1;
tab[2,11]:= 1;
tab[3,5]:= 1;
IndexPosLeft:=0;
IndexPosTop:=0;
timer1.Enabled := true;
End;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Remplis l'image en noir
Image1.Canvas.Brush.Color:= clBlack;
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
//Remplis tous les pixels en purple
for j:=0 to Image1.Height div 10 do
begin
for i:=0 to Image1.Width div 10 do
begin
Image1.Canvas.Brush.Color:= clGray;
Image1.Canvas.Rectangle(sup_x+i*10,sup_y,inf_x+i*10,inf_y);
Image1.Canvas.Rectangle(sup_x+i*10,sup_y+j*10,inf_x+i*10,inf_y+j*10);
end;
end;
//Affichage du tableau
for i:=0 to 11 do
begin
for j:=0 to 11 do
begin
if (tab[i,j] = 1) then
begin
Image1.Canvas.Brush.Color:= clFuchsia;
Image1.Canvas.Rectangle(sup_x+i*10+IndexPosLeft,sup_y+j*10+IndexPosTop,inf_x+i*10+IndexPosLeft,inf_y+j*10+IndexPosTop);
end;
end;
end;
Inc(IndexPosTop);
Inc(IndexPosLeft);
end;
cs_lusitano69
Messages postés21Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention26 février 2008 20 févr. 2008 à 14:35
Salut merci pour ta réponse rapide. J'ai essayé ton code mais le problème maintenant c'est que tu le fait défiler en diagonal. Moi je voudrais qu'il défile de gauche à droite.