Oppure

Loading
16/02/10 15:47
lom89
CIAO A TUTTI!!!
E' da un pò ke mi scervello, ho realizzato un lettore mp3 e volevo visualizzare in una label il nome della canzone in esecuzione, xò facendo scorrere il testo...ho pensato a un timer...nn ho proprio idea...qualcuno può dirmi come fare???
Un gazie anticipato!
aaa
16/02/10 16:12
Anonymous
il problema qual'è?
non riesci a far spostare la label o non riesci a prelevare il nome della canzone?
aaa
16/02/10 16:49
lom89
no forse mi sono espresso male...voglio che il nome della canzone...si muova...TRASPOSIZIONE DEL TESTO!!!
aaa
16/02/10 18:15
Anonymous
per far muovere l'intera label che contiene il nome della canzone prendi un timer e mettici

label1.left:= label1.left + 1;



se invece vuoi far muovere il testo all'interno della label, credo che ti debba scrivere del codice tu..

una cosa del genere potrebbe andare

implementation
var nome:string; ricomposizione:boolean;
{$R *.dfm}

function nuovacaption(caption:string; bool:boolean):string;
var i:integer;temp:string;
begin
for i:=1 to length(caption)-1 do
begin
  temp:=temp+caption[i];
end;
if bool = false then
  nome:=nome+caption[length(caption)]
  else
  nome:= temp;

nuovacaption:=temp;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if length(trim(label1.caption) )=0 then
  begin
    ricomposizione:= true;
    label1.caption:='';
  end;
  if (ricomposizione) then
  begin
    label1.caption:=label1.caption + nome[length(nome)];
    nuovacaption(nome,true);
    if length(nome) = 0 then
    ricomposizione :=false;
  end
  else
  if (length(label1.caption) >20) then
    label1.caption:= ' '+ nuovacaption(label1.caption, false )
  else
    label1.caption:= ' '+label1.caption;


end;





cmq te l'ho messo nel file allegato
Ultima modifica effettuata da Anonymous 16/02/10 18:17
aaa
16/02/10 18:24
lom89
grazie ora lo provo!!!
aaa
17/02/10 10:11
Io ho anche provato questo modo più scarno di codice ma quindi molto più sempliciotto...

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Label2.Left:= Label2.Left - 1;
   If Label2.Left = - Label2.Width Then Label2.Left:= Label2.Width + Panel1.Width;
end;


Cioè inserisci la label in un pannello alla sua estremità sinistra e regoli il suo spostamento in base alla larghezza del pannello e della label.
NB: devi impostare il Pannello su BevelOuter = bvNone