Texto andando no caption do Form

Delphi

13/02/2004

Bem Gostaria que um nome ´andasse´ no caption do Form Prinmcipal...
O Codigo que eu coloquei é este...
procedure TFormPrincipal.Timer1Timer(Sender: TObject);
Var
A : String;
Fim : Boolean;
Letra : integer;
begin

        If (Letra = Length(A)+1) Then
                Begin
                        Letra := 0;
                End
        Else
                Begin
                A:= ´Fabio´;
                FormPrincipal.caption:=Copy(A,Letra+1,Letra+1);
                inc(Letra);
                End;

A Varialvel letra .. na incremente... nao sei pq....!!!!!


se puderem me ajudar agradeço


Pantoja

Pantoja

Curtidas 0

Respostas

Maxwell_monteiro

Maxwell_monteiro

13/02/2004

Claro que nao vai incrementar vc não colocou laço de repetiçao e a variavel letra é local! ou seja depois que saiu da funcao a variavel ja era! se vc quiser que letra mude de valor passe ele como um parametro por referencia ou declare letra como global!


GOSTEI 0
Maxwell_monteiro

Maxwell_monteiro

13/02/2004

vc é professor de algoritmo???


GOSTEI 0
Fabio.hc

Fabio.hc

13/02/2004

Tente assim:

Troque esta linha:
FormPrincipal.caption:=Copy(A,Letra+1,[b:1846db526e]Letra+1[/b:1846db526e]);

por esta:
FormPrincipal.caption:=Copy(A,Letra+1,[b:1846db526e]Length(A)[/b:1846db526e]);



GOSTEI 0
Wagner

Wagner

13/02/2004

Tente assim

procedure TForm1.Timer2Timer(Sender: TObject);
Var Texto: String;
begin
  texto := label8.Caption;
  label8.Caption := Copy(Texto, 2, Length(Texto))+Texto[1];
end;



GOSTEI 0
Marcelo Saviski

Marcelo Saviski

13/02/2004

mais um ´Tente assim´

var
  n: Integer = 0; //global


num Timer:

begin
  Inc(n);
  Form.Caption := stringofchar(n mod 200, ´ ´) + ´caption do form´;
end;


mude o 200 para trocar a posição aonde o capion termina


GOSTEI 0
Juarezber

Juarezber

13/02/2004

è assim,

Var
   S: String;
begin
  S:= LabelMensagem.Caption;
  LabelMensagem.Caption:=
  Copy(S,2,Length(S)-1) + Copy(S,1,1);
end;


Juarezber


GOSTEI 0
Juarezber

Juarezber

13/02/2004

Esqueci que era no caption,

procedure TForm1.Timer1Timer(Sender: TObject);

   Var
   S: String;
begin
  S:= Form1.Caption;
  Form1.Caption:=
  Copy(S,2,Length(S)-1) + Copy(S,1,1);
end;


Escreva uma mensagem no caption do form.

Juarezber


GOSTEI 0
Pantoja

Pantoja

13/02/2004

valew galera pelas dicas...


por isso é q gosto de vcs.... :wink:


GOSTEI 0
Pantoja

Pantoja

13/02/2004

procedure TForm1.Timer1Timer(Sender: TObject); Var S: String; begin S:= Form1.Caption; Form1.Caption:= Copy(S,2,Length(S)-1) + Copy(S,1,1); end;


esse codigo é bem compacto.. gostei...
mas alguém pode me esplicar esse codigo... :roll:


GOSTEI 0
Fabio.hc

Fabio.hc

13/02/2004

Para o codigo ficar ainda mais compacto.

procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
   Text:=Copy(Text,2,Length(Text)-1) + Copy(Text,1,1);
end; 



GOSTEI 0
Fórum Vini

Fórum Vini

13/02/2004

Para o codigo ficar ainda mais compacto.
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
   Text:=Copy(Text,2,Length(Text)-1) + Copy(Text,1,1);
end; 

Corrigindo um detalhe:
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
   Caption:=Copy(Caption,2,Length(Caption)-1) + Copy(Caption,1,1);
end; 



GOSTEI 0
Fabio.hc

Fabio.hc

13/02/2004

Form1.[b:0750be9ac1]Text[/b:0750be9ac1] -> TCaption
Form1.[b:0750be9ac1]Caption[/b:0750be9ac1] -> TCpation

O efeito é o mesmo.


GOSTEI 0
Wagner

Wagner

13/02/2004

Tente assim
procedure TForm1.Timer2Timer(Sender: TObject);
Var Texto: String;
begin
  texto := label8.Caption;
  label8.Caption := Copy(Texto, 2, Length(Texto))+Texto[1];
end;


Eu tenho esse codigo, mais eu queria saber como o texto pode da uma paradinha quando aparecer completo no no caption e depois andar novamente


GOSTEI 0
Fabio.hc

Fabio.hc

13/02/2004

Tente assim:

var
  Form1: TForm1;
  Var_Aux: String;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Var_Aux:=Label8.Caption;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var Texto: String;
begin
   texto := label8.Caption;
   if (texto = Var_Aux) then
      Timer1.Interval:=5000
   else
      Timer1.Interval:=1000;
   label8.Caption := Copy(Texto, 2, Length(Texto))+Texto[1];
end;

Ex: Label8.caption:=´ Texto andando no caption do Label´, começando com espaço.


GOSTEI 0
Pantoja

Pantoja

13/02/2004

Eu tenho esse codigo, mais eu queria saber como o texto pode da uma paradinha quando aparecer completo no no caption e depois andar novamente


Bem coloca um if assim

if Var_Aux = ´ Fabio´ then
  For i := 1 to 10000;  // este for faz esperar um certo tempo




GOSTEI 0
POSTAR