Texte defilant en boucle.

Description

Le texte defile en boucle, sans interuption, de pixel en pixel. Le code s'adapte tout seul a un texte. J'ais fait un petit programme de demo ou on peut changer le texte, la taille du bandeau et le "separateur". Si l'idee est bateau et le code lourdingue, je vous demanderais d'etre indulgeant, je programme depuis une semaine...
J'espere que ca aidera les autres debutants.

Source / Exemple :


procedure TForm1.Timer1Timer(Sender: TObject);
begin
if label1.Left <=4-label1.Width/2 then //si tu es un pixel avant la moitié du texte
 label1.left:=3 else //reviens au debut du texte
label1.Left := label1.Left-1;//sinon decale de 1 pixel
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := not Timer1.Enabled;//juste pour interompre le defilement
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if strtoint(spinedit1.Text)<101 then begin//evite que ca deborde de la fenetre
  panel1.Width:=strtoint(spinedit1.Text)*2;//je multiple par 2 pour que le resultat soit pair ca evite une sacade quand il repars a 0 (voir timer1timer)
  panel1.Left:=round((Form1.Width-Panel1.Width)/2)-5;//pour centrer le panel sur la fiche
  label1.Caption:=edit1.Text+edit2.text+edit1.Text+edit2.text;//double le texte pour permetre un boucle
  while label1.Width<panel1.Width*2 do
  label1.Caption:=label1.Caption+edit1.Text+edit2.text; //agrandit le texte si il est trop cout, pour qu'il n'y ait pas d'interuption pendant le defilement
 end else
showmessage('entrez une valeur inferieure à 101 pour la taille du bandeau.')
end;

end.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.