Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Разработать модель хранения данных и необходимое количество классов

Ответить
Настройки темы
Delphi - Разработать модель хранения данных и необходимое количество классов

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток, Уважаемые Форумчане!
Прошу помощи у Специалистов (каковым сам не являюсь) в изменении кода программы, для того чтобы она не походила на плагиат,и в тоже время продолжала функционировать.
читать дальше »
То,что я балбес я знаю!Просто экзамен уже на носу!

Заранее благодарен! Надеюсь на Ваше понимание!
Код: Выделить весь код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ComCtrls, StdCtrls, ComplPK, Mask, ExtCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Panel1: TPanel;
    RadioGroup1: TRadioGroup;
    Edit1: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Button5: TButton;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
    Input: boolean;
    SelectedNode: TTreeNode;
    SelectedNodeIndex: integer;
    ArrayIndex: integer;
    ComplArray: array of TComplPK;
    TreeNodes: array [1..4] of TTreeNode;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
var
  i0: 0..4;
begin
  Input:=False;
  Panel1.Hide;
  Button3.Enabled:=False;
  Button4.Enabled:=False;
  ArrayIndex:=0;
  TreeView1.Items.GetFirstNode.Expand(True);
  for i0:=1 to 4 do
    TreeNodes[i0]:=TreeView1.Items.Item[i0];
end;

// Процедура нажатия кнопки "Ввод данных"
procedure TForm1.Button1Click(Sender: TObject);
begin 
  Panel1.Show;
  Button1.Enabled:=False;
  Button2.Enabled:=False;
  Button5.Enabled:=False;
  Button3.Enabled:=True;
  Button4.Enabled:=True;
  Input:=True;
end;

// Процедура нажатия кнопки "Сохранить"
procedure TForm1.Button3Click(Sender: TObject);
var
  Item: 0..4;
  Index: integer;
begin
  Item:=1;
  if Input then      // Вводим новые данные
    begin
      Index:=ArrayIndex;
      SetLength(ComplArray,ArrayIndex+1);
      ComplArray[ArrayIndex]:=TComplPK.Create;
    end
  else               // Редактируем уже имеющиеся данные
    Index:=SelectedNodeIndex;
  case RadioGroup1.ItemIndex of
    0: ComplArray[Index].TypeName:=tcProc;
    1: begin
         ComplArray[Index].TypeName:=tcMem;
         Item:=2;
       end;
    2: begin
         ComplArray[Index].TypeName:=tcDisc;
         Item:=3;
       end;
    3: begin
         ComplArray[Index].TypeName:=tcMon;
         Item:=4;
       end;
  end;
  ComplArray[Index].ModelName:=Edit1.Text;
  try
    begin
      ComplArray[Index].ComplCost:=StrToFloat(Trim(Edit2.Text));
      ComplArray[Index].ComplCol:=StrToInt(Trim(Edit3.Text));
    end;
  except
    ShowMessage('Неправильно ввели цену или количество!');
    ComplArray[Index].Free;
    EXIT;
  end;
  if Input then   // Вводим новые данные
    ArrayIndex:=ArrayIndex+1
  else            // Редактируем старые данные
    SelectedNode.Delete;
  TreeView1.Items.AddChild(TreeNodes[Item],Edit1.Text);
  // Дерево всегда развернуто
  TreeView1.Items.GetFirstNode.Expand(True);
  TreeView1Change(Sender,SelectedNode);
  // Скрываем панель ввода
  Panel1.Hide;
  Button1.Enabled:=True;
  Button2.Enabled:=True;
  Button5.Enabled:=True;
  Button3.Enabled:=False;
  Button4.Enabled:=False;
end;

// Процедура нажатия кнопки "Отменить"
procedure TForm1.Button4Click(Sender: TObject);
begin
  Panel1.Hide;
  Button1.Enabled:=True;
  Button2.Enabled:=True;
  Button5.Enabled:=True;
  Button3.Enabled:=False;
  Button4.Enabled:=False;
end;

// Редактирование характеристик элементов
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
  i0: integer;
begin
  SelectedNode:=Node;
  Label1.Caption:='Тип: ';
  Label2.Caption:='Модель: ';
  Label3.Caption:='Цена: ';
  Label4.Caption:='Количество: ';
  for i0:=0 to ArrayIndex-1 do
    if ComplArray[i0].ModelName=Node.Text then
      begin
        Label1.Caption:='Тип: '+Node.Parent.Text;
        Label2.Caption:='Модель: '+Node.Text;
        Label3.Caption:='Цена: '+FloatToStr(ComplArray[i0].ComplCost)+' руб.';
        Label4.Caption:='Количество: '+IntToStr(ComplArray[i0].ComplCol);
      end;
end;

// Процедура нажатия кнопки "Удалить"
procedure TForm1.Button2Click(Sender: TObject);
var
  i0, j0: integer;
begin
  if MessageDlg('Удалить объект?',mtWarning,mbOKCancel,0)=1 then
    // Нахождение и удаление объекта
    for i0:=0 to ArrayIndex-1 do
      if ComplArray[i0].ModelName=SelectedNode.Text then
        begin
          SelectedNode.Delete;
          ComplArray[i0].Free;
          for j0:=i0 to ArrayIndex-2 do
            ComplArray[j0]:=ComplArray[j0+1];
          ComplArray:=Copy(ComplArray,0,ArrayIndex-1);
          ArrayIndex:=ArrayIndex-1;
          BREAK;
        end;
end;

// Процедура нажатия кнопки "Редактировать"
procedure TForm1.Button5Click(Sender: TObject);
var
  i0: integer;
begin
  for i0:=0 to ArrayIndex-1 do
    if ComplArray[i0].ModelName=SelectedNode.Text then
      begin
        SelectedNodeIndex:=i0;
        Button1Click(Sender);
        case ComplArray[i0].TypeName of
          tcProc: RadioGroup1.ItemIndex:=0;
          tcMem: RadioGroup1.ItemIndex:=1;
          tcDisc: RadioGroup1.ItemIndex:=2;
          tcMon: RadioGroup1.ItemIndex:=3;
        end;
        Edit1.Text:=ComplArray[i0].ModelName;
        Edit2.Text:=FloatToStr(ComplArray[i0].ComplCost);
        Edit3.Text:=IntToStr(ComplArray[i0].ComplCol);
      end;
  Input:=False;
end;

end.

Отправлено: 20:16, 26-01-2013

 

Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
var   i0: 0..4;
Оно вообще компилируется?

-------
black-eric.livejournal.com


Отправлено: 20:20, 27-01-2013 | #2



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Разработать модель хранения данных и необходимое количество классов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Подскажите сервис облачного хранения данных micro8 Хочу все знать 13 25-12-2011 20:32
HDD - Срок хранения данных на неиспользуемом винчестере Guarder Накопители (SSD, HDD, USB Flash) 3 25-04-2011 01:25
Портативное USB 3.0 устройство для хранения данных OSZone News Новости железа 0 01-07-2010 17:30
Сравнение сервисов онлайн-хранения данных компаний Google и Microsoft OSZone News Новости и события Microsoft 4 22-01-2010 01:44
Разное - stremer, NAS и другие системы хранения данных eboue Накопители (SSD, HDD, USB Flash) 4 03-12-2008 18:14




 
Переход