|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Разработать модель хранения данных и необходимое количество классов |
|
Delphi - Разработать модель хранения данных и необходимое количество классов
|
Новый участник Сообщения: 5 |
Доброго времени суток, Уважаемые Форумчане!
Прошу помощи у Специалистов (каковым сам не являюсь) в изменении кода программы, для того чтобы она не походила на плагиат,и в тоже время продолжала функционировать. Заранее благодарен! Надеюсь на Ваше понимание! 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
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:20, 27-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Подскажите сервис облачного хранения данных | 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 |
|