sl1mus
26-01-2013, 20:16
Доброго времени суток, Уважаемые Форумчане!
Прошу помощи у Специалистов (каковым сам не являюсь) в изменении кода программы, для того чтобы она не походила на плагиат,и в тоже время продолжала функционировать.
То,что я балбес я знаю!Просто экзамен уже на носу!
Заранее благодарен! Надеюсь на Ваше понимание!
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.
Прошу помощи у Специалистов (каковым сам не являюсь) в изменении кода программы, для того чтобы она не походила на плагиат,и в тоже время продолжала функционировать.
То,что я балбес я знаю!Просто экзамен уже на носу!
Заранее благодарен! Надеюсь на Ваше понимание!
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.