Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 17:48   #1
gessi
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 20
Восклицание Разбить код на классы

Здравствуйте программисты!
Помогите пожалуйста.
Мне нужно программу разбить на несколько классов.
Вот код программы:

Код:
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Math, TeEngine, Series, ExtCtrls, TeeProcs, Chart;
 
type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Chart1: TChart;
    Series1: TBarSeries;
    Button1: TButton;
    Button2: TButton;
    Label13: TLabel;
    Label14: TLabel;
    Series2: TLineSeries;
    Series3: TFastLineSeries;
    Label15: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.Button1Click(Sender: TObject);
var
  d: real;
  I,j,k,m,r,n,z,f,q, z1,g,q1: Integer;
  o_0,o_1,o_2,o_3,o_4,o_5: integer;
  a,b: array [0..100, 0..100] of string;
label a1,a2,a3,a4;
begin
randomize;
series1.Clear;
series3.Clear;
series3.addxy(0,1);
m:=strtoint(edit2.Text);
r:=strtoint(edit1.Text);
n:=strtoint(edit3.Text);
k:=n;
f:=1;
q:=0;
g:=1;
 for i:=1 to k do
begin
 
a1:  z:=random(m);
  if z=0 then o_0:=o_0+1;
  if z=1 then o_1:=o_1+1;
  if z=2 then o_2:=o_2+1;
  if z=3 then o_3:=o_3+1;
  if z=4 then o_4:=o_4+1;
  if z=5 then o_5:=o_5+1;
 
 
  a[1,0]:='1';
  if (i=1) and (z=0) then    goto a1;
  StringGrid3.RowCount:=i;
  StringGrid3.Cells[0,i-1]:=inttostr(i)+' - '+inttostr(z);
 
  if z=0 then
    begin
      q:=q+1;
      b[1,q]:=inttostr(i);
    end;
 
  for j:= 1 to z do
    begin
       a[1,f+j-1]:= inttostr(i)+'-'+inttostr(f+j);
       k:=f+j;
    end;
 
  if (k<=n) and (g=i) then
    begin
      z1:=z1+z;
      g:=g+z1;
      z1:=0;
    end else z1:=z1+z;
 
 if radiobutton2.Checked=true then
 begin
 q1:=q+(k-i+1);
 d:=k/q1;
 series3.AddXY(k,d)
 end;
 
  if (k>=n)  then if (g>i) then
  begin
  goto a4 ;
  end   else  goto a2;
a4:  f:=f+z;
end;
 
a2:
    for j:= i+1 to k do
      begin
        q:=q+1;
        b[1,q]:=inttostr(j);
      end;
    j:=1;
   StringGrid1.RowCount:=k;
   for i:= 0 to k-1 do
     begin
        StringGrid1.Cells[0,i]:=inttostr(j);
        StringGrid1.Cells[1,i]:=a[1,i];
        j:=j+1
     end;
 
   j:=1;
   StringGrid2.RowCount:=q;
   for i:= 0 to q-1 do
     begin
       StringGrid2.Cells[0,i]:=inttostr(j);
        StringGrid2.Cells[1,i]:=b[1,i+1];
       j:=j+1;
     end;
 
      d:=k/q;
      label5.Caption:=floattostr(round(d*1000)/1000);
      label7.Caption:=inttostr(k);
      label9.Caption:=inttostr(q);
      if radiobutton1.Checked=true then
      begin
      series1.AddXY(0, o_0);
      series1.AddXY(1, o_1);
      series1.AddXY(2, o_2);
      series1.AddXY(3, o_3);
      series1.AddXY(4, o_4);
      series1.AddXY(5, o_5);
      end;
end;
 
 
procedure TForm2.Button2Click(Sender: TObject);
var i: integer;
begin
for i:=0 to 100 do
begin
  StringGrid1.Cells[0,i]:='';
  StringGrid2.Cells[0,i]:='';
  StringGrid3.Cells[0,i]:='';
  StringGrid1.Cells[1,i]:='';
  StringGrid2.Cells[1,i]:='';
  StringGrid3.Cells[1,i]:='';
end;
//Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
series1.Clear;
series2.Clear;
label5.Caption:='';
label7.Caption:='';
label9.Caption:='';
end;
 
end.
Буду очень благодарна, если вы мне поможите.
gessi вне форума Ответить с цитированием
Старый 13.11.2010, 17:53   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Мне нужно программу разбить на несколько классов.
Что именно нужно сделать? Класс TForm разбить на несколько?
_-Re@l-_ вне форума Ответить с цитированием
Старый 17.11.2010, 06:29   #3
gessi
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 20
Восклицание

Здесь все сделано в одном классе.А мне надо это реализовать с использованием нескольких классов.Напимер один для задания массива,второй для подсчета,третий для вывода в таблицу,четвертый для вывода графика и т.д. еслм возможно

Помогите пожалуйста. Нужно очень срочно.

Последний раз редактировалось Stilet; 17.11.2010 в 08:33.
gessi вне форума Ответить с цитированием
Старый 17.11.2010, 08:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Безусловно это возможно, но на это нужно много времени.
Советую обратится к фрилансерам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.11.2010, 10:23   #5
Develop
Пользователь
 
Регистрация: 26.06.2010
Сообщений: 52
По умолчанию

Могу помочь за небольшое вознаграждение.
1.devel@mail.ru
Develop вне форума Ответить с цитированием
Старый 17.11.2010, 10:57   #6
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Здравствуйте! Хочу помочь Вам с Вашей проблемой. Реализую программу на высоком уровне, в срок, а главное недорого.
ICQ #: 371824579
Портфолио: http://www.weblancer.net/users/RIO/portfolio?affiliate=RIO
RIO вне форума Ответить с цитированием
Старый 17.11.2010, 10:58   #7
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Готов взяться за проект.
Контакты:
icq: 218413697
e-mail: aristarh.dark@gmail.com
---
С уважением
Иусов Сергей Николаевич aka Aristarh Dark
Aristarh Dark вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать код с процедуры в классы на С++ Tusichka Помощь студентам 0 30.05.2010 19:51
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 18:26