Показать сообщение отдельно
  #125  
Старый 16.05.2008, 19:22
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от Professor Farnsworth
Два раза щелкни мышкой напротив свойства Color, выбери "Определить цвет" и установи любой цвет из гаммы.
Спасибо - уже нашел - такую глазобойку преподше устроил - будет проверять и плакать... она меня достала жутко - уже ей надо что бы массивы все динамическими были, статические уже не в моде... помотгите, плиз, в динамический переести - ато я уже 2 часа сижу - и максимум добился того, что программа запускалась, но в грид данные не выводила... Спасибо...

Код:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Button3: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Label6: TLabel;
    ApplicationEvents1: TApplicationEvents;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  n:integer;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
a:array [0..19] of real;
P:real;
i:integer;
c,d:real;
  begin
  n:=strtoint(edit3.Text);
  stringgrid1.ColCount:=n;
  randomize;
  if n<=20 then
  for i:=0 to n-1 do
    begin
    a[i]:=random(50--50+1)-50;
    StringGrid1.Cells[i,0]:=FormatFloat('0.00',a[i]);
    end
    else ShowMessage('Количество элементов массива не удовлетворяет условию задачи');
  P:=1;
  c:=StrtoInt(Edit1.Text);
  d:=StrtoInt(Edit2.Text);
   if n<=20 then
  for i:=0 to n-1 do
  if (a[i]>0) and (a[i]>=c) and (a[i]<=d) then
  P:=P*a[i];
  Edit4.Text:= FormatFloat('0.00',P);
  end;

procedure TForm2.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to n-1 do
StringGrid1.Cells[i,0]:=FormatFloat('  ',0);
Edit3.Clear;
Edit4.Clear;
Edit1.Clear;
Edit2.Clear;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
Form1.Show;
Form2.Close;
end;

procedure TForm2.ApplicationEvents1Idle(Sender: TObject;
  var Done: Boolean);
begin
Button1.Enabled:=(Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '');
end;

end.