Что-то не работает при изменении координат в Label

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by aydar, 29 Sep 2010.

  1. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    Вообщем такая проблема изм расположение лабел1, каждую сек времени: слева внизу, по центру сверху, справа внизу, тоесть лабел1 ходит как треугольник, только без основы, вообще делал делал, но чето не получается

    Code:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Timer1Timer(Timer1);//вызывает процедуру Timer1Timer с передачей параметров Timer1 после запуска программы
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
    flag:integer;
    begin
    Label1.Caption:=TimeToStr(Now)+'PM';//записать системное время в надпись на лэйбелe
    flag:= 1;
     if flag = 1 then begin
          Label1.Alignment:= taLeftJustify;
          Label1.Layout:= tlBottom;
          flag:= 2;
          Exit;
        end;
        if flag = 2 then begin
          Label1.Alignment:= taCenter;
          Label1.Layout:= tlTop;
          flag:= 3;
          Exit;
        end;
        if flag = 3 then begin
          Label1.Alignment:= taRightJustify;
          Label1.Layout:= tlBottom;
          flag:= 1;
          Exit;
        end;
       
        end;
    end;
     
     
  2. brutos

    brutos Member

    Joined:
    25 Nov 2009
    Messages:
    123
    Likes Received:
    27
    Reputations:
    8
    "flag:= 1;" - Вынеси в создание формы. А то у тебя при каждом событии OnTimer flag будет равен единице.
     
  3. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    не помогло(
     
  4. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    И не поможет, меняй координаты label, а не выравнивай его, за место переменной flag используй лучше label.tag =)
     
  5. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Вместо Label1.Layout нужно использовать Label1.Align
     
  6. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    вот код, часы двигаются из верхнего угла в нижний, но никак немогу понять почему не получается под мой путь сделать

     
  7. brutos

    brutos Member

    Joined:
    25 Nov 2009
    Messages:
    123
    Likes Received:
    27
    Reputations:
    8
    Если я правильно понял, цикл должен быть такой:
    1: Label1.Alignment=taLeftJustify , Label1.Layout=tlBottom
    2: Label1.Alignment=taCenter , Label1.Layout=tlTop
    3: Label1.Alignment=taRightJustify , Label1.Layout=tlBottom
    Будет так: .^.