Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Повторное выполнение процедуры


Автор: malxazibb 26.10.2009, 14:14
приветствую всех.

помогите ни как не смог.

Код

procedure TForm1.sBitBtn1Click(Sender: TObject);

begin
 case (Sender as TsBitBtn).Tag of
 0: begin
    Form1.sPanel2.Visible:=false;
    Form1.DBGrid1.Width:=799;
    end;
 1: begin
    Form1.sPanel2.Visible:=true;
    Form1.DBGrid1.Width:=377;
    end;
    end;
    with(Sender as TsBitBtn) do
    Tag:=Tag+1;

end;
end;

хочу чтоб при следуюшем нажатии на sBitBtn повторялас та же процедура.

Автор: bems 26.10.2009, 14:23
она и будет. но case не сработает. Тебе наверное нужно проверять (tag mod 2) = 0

Добавлено через 35 секунд
Ну или Odd )

Автор: malxazibb 26.10.2009, 14:29
А как ето сделать.

Автор: Данкинг 26.10.2009, 14:36
Цитата(malxazibb @  26.10.2009,  14:29 Найти цитируемый пост)
А как ето сделать. 

Разобраться со своими .Tag. smile 

Автор: malxazibb 28.10.2009, 06:51
Данкинг ти всегда иронично насмихаешся над всеми при етом никагда не написав хотяби нормальную подсказку .


Всем кто интересуется сам дашол до истини.
Код

procedure TForm1.sBitBtn1Click(Sender: TObject);

begin
 case (Sender as TsBitBtn).Tag of
 0: begin
    Form1.sPanel2.Visible:=false;
    Form1.DBGrid1.Width:=799;
    end;
 1: begin
    Form1.sPanel2.Visible:=true;
    Form1.DBGrid1.Width:=377;
    end;
    end;
    with(Sender as TsBitBtn) do
    Tag:=1-Tag;

end;
endь

работает отлично.

Автор: Beltar 28.10.2009, 16:02
Слушай, ты вообще что делаешь? Скрываешь\показываешь боковую панельку? Объясни тогда мне тупому, нафига у тебя не?

sPanel2.Visible:=(Sender as TsBitBtn).Tag=1

Есно панель должна быть выровнена по боку, а сетка по клиенту, но почти все окошки переменного размера делятся на части разными панельками, выровненными по низам, верхам, бокам и каким-нибудь контролом, который забирает себе все остальное.

И нафига ты к форме обращаешься по имени из ее же методов? Я так могу сделать, если имя контрола не помню, но потом имя формы все равно стираю.

Цитата

ти всегда иронично насмихаешся над всеми при етом никагда не написав хотяби нормальную подсказку .


Во-первых: у тебя в предложении 7 ошибок, не считая пропущенной запятой после обращения.
Во-вторых: Репутация тов. Данкинга свидетельствует об обратном.

Автор: Данкинг 28.10.2009, 17:51
malxazibb, во-первых, язык форума - русский. Во-вторых, за всех не отвечаю, но в данном случае я тебе ничего смешного не написал:
Цитата(malxazibb @  28.10.2009,  06:51 Найти цитируемый пост)
Код

Tag:=1-Tag;

Т.е. что я и говорил:
Цитата(Данкинг @  26.10.2009,  14:36 Найти цитируемый пост)
Разобраться со своими .Tag.

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)