Delphi использование кнопок и текстовых полей...

Ответить
Даша:)
Сообщения: 16
Зарегистрирован: 06 апр 2009, 17:17

Пожалуйста помогите решить такую задачку:
Создайте приложение, при выполнении которого на экране появляется окно формы с кнопкой большого размера.
На кнопке должна быть надпись "Размер".
Затем, при нажатии на кнопку, высота и ширина кнопки должны уменьшиться в 2 раза по сравнению с первоначальными размерами кнопки, при следующих нажатиях – в 3 раза, затем в 4 раза, затем высота и ширина кнопки должны принять первоначальные размеры, затем снова должны уменьшиться в 2, 3, 4 раза, снова принять первоначальные размеры и т.д..
Ниже кнопки должна, кроме того, всегда должно находиться текстовое поле Edit с текстом в виде числа, указывающего, какую часть (1, 1/2, 1/3 или 1/4) текущие размеры кнопки составляют от первоначальных. Это текстовое поле должно находиться близко к нижнему краю кнопки на неизменном расстоянии от нее.
При выполнении щелчка в области формы кнопка должна принять первоначальные размеры.

честно пыталась сделать сама, смогла только маленький кусочек, дальше не могу :( . вот что написала, если глупость, не смейтесь пжлста :)

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
         Button1.Height:=Button1.Height div 2;
           Button1.Width:=Button1.Width div 2;
  begin
  if (Button1.Height=Button1.Height div 2) and (Button1.Width=Button1.Width div 2) then
  begin
  Button1.Height:=Button1.Height div 3;
  Button1.Width:=Button1.Width div 3;
  end
  else if ( Button1.Height=Button1.Height div 3) and ( Button1.Height=Button1.Height div 3) then
  begin
  Button1.Height:=Button1.Height div 4;
  Button1.Width:=Button1.Width div 4;
  end
  else if ( Button1.Height=Button1.Height div 4) and (Button1.Width=Button1.Width div 4) then
    else
  begin

  end;
end;
end;
end.
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

[syntax=delphi]
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
k:byte;
Height,Width,ETop:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
k:=k+1;
Height:=Button1.Height;
Width:=Button1.Width;
Button1.Height:=round(Height/k);
Button1.Width:=round(Width/k);
Edit1.Top:=Button1.Width+10;
Edit1.Text:=IntTostr(k);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
k:=1;
Button1.Caption:='РАЗМЕР';
Edit1.Text:='1';
ETop:=Edit1.Top;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
Button1.Height:=Height;
Button1.Width:=Width;
Edit1.Top:=ETop;
k:=1;
Edit1.Text:=IntTostr(k);
end;

end.
[/syntax]
Delphi7
Нет религии выше истины
Ответить