Візуальний облік вхідних даних інтерфейсу RS-232
Ведення обліку даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт). Програма для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних. Візуальна об'єктно-орієнтована мова програмування високого рівня.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 07.06.2010 |
Размер файла | 292,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
procedure SavePictureClick(Sender: TObject);
procedure GeneratorClick(Sender: TObject);
procedure LPTportClick(Sender: TObject);
procedure COMportClick(Sender: TObject);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure AboutClick(Sender: TObject);
procedure newGraphicExecute(Sender: TObject);
procedure ExitPrExecute(Sender: TObject);
procedure StartGrExecute(Sender: TObject);
procedure StopGrExecute(Sender: TObject);
procedure SaveGraphExecute(Sender: TObject);
procedure saveDataGrExecute(Sender: TObject);
procedure HelpPrExecute(Sender: TObject);
procedure LoadDataGRExecute(Sender: TObject);
procedure ChangeTable(k:integer);
procedure BitBtn1Click(Sender: TObject);
procedure GeneratorOptionClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3, aboutProgram, Unit4;
{$R *.dfm}
procedure TForm1.ItemExitClick(Sender: TObject);
begin
close;
end;
procedure TForm1.ChangeTable(k:integer);
var t:integer;
begin
t:=GraphicDiagram1.GetPointsCount;
if t<>0 then begin
if t>15 then
begin
Edit1.Text:=Edit2.Text;
Edit2.Text:=Edit3.Text;
Edit3.Text:=Edit4.Text;
Edit4.Text:=Edit5.Text;
Edit5.Text:=Edit6.Text;
Edit6.Text:=Edit7.Text;
Edit7.Text:=Edit8.Text;
Edit8.Text:=Edit9.Text;
Edit9.Text:=Edit10.Text;
Edit10.Text:=Edit11.Text;
Edit11.Text:=Edit12.Text;
Edit12.Text:=Edit13.Text;
Edit13.Text:=Edit14.Text;
Edit14.Text:=Edit15.Text;
Edit15.Text:=IntToStr(k);
end
else begin
case t of
1: Edit1.Text:=IntToStr(GraphicDiagram1.GetValue(0));
2: Edit2.Text:=IntToStr(k);
3: Edit3.Text:=IntToStr(k);
4: Edit4.Text:=IntToStr(k);
5: Edit5.Text:=IntToStr(k);
6: Edit6.Text:=IntToStr(k);
7: Edit7.Text:=IntToStr(k);
8: Edit8.Text:=IntToStr(k);
9: Edit9.Text:=IntToStr(k);
10: Edit10.Text:=IntToStr(k);
11: Edit11.Text:=IntToStr(k);
12: Edit12.Text:=IntToStr(k);
13: Edit13.Text:=IntToStr(k);
14: Edit14.Text:=IntToStr(k);
15: Edit15.Text:=IntToStr(k);
end;
end;
end;
end;
procedure TForm1.Panel1Resize(Sender: TObject);
begin
// panel1.Width:=form1.Width-10;
// panel1.Height:=form1.Height-200;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
GraphicDiagram1.Resize(TControl(panel1));
// panel1Resize(self);
PanelInstrumentResize(self);
end;
procedure TForm1.PanelInstrumentResize(Sender: TObject);
begin
PanelInstrument.Width:=form1.Width-10;
end;
procedure TForm1.ItemNewClick(Sender: TObject);
var n:integer;
begin
GraphicDiagram1.Clear;
ScrollBar1.Enabled:=false;
end;
procedure TForm1.PauseClick(Sender: TObject);
begin
if GraphicDiagram1.GetPointsCount<>1 then
begin
if SpeedButton4.Caption='Запуск' then
begin
Fileitem.Enabled:=false;
// Interpolation.Enabled:=false;
Options.Enabled:=false;
SpeedButton1.Enabled:=false;
SpeedButton2.Enabled:=false;
SpeedButton3.Enabled:=false;
SpeedButton4.Caption:='Зупинити';
StartLoad.Caption:='Зупинити';
Timer1.Interval:=GraphicDiagram1.NumMiliSec;
Timer1.Enabled:=True;
Pause.Enabled:=true;
SpeedButton5.Enabled:=true;
end else
begin
if GraphicDiagram1.GetPointsCount>GraphicDiagram1.DrawCount then
begin
ScrollBar1.Enabled:=true;
ScrollBar1.SetParams(GraphicDiagram1.GetPointsCount,0,GraphicDiagram1.GetPointsCount);
end;
Fileitem.Enabled:=true;
// Interpolation.Enabled:=true;
Options.Enabled:=true;
SpeedButton1.Enabled:=true;
SpeedButton2.Enabled:=true;
SpeedButton3.Enabled:=true;
SpeedButton4.Caption:='Запуск';
StartLoad.Caption:='Запуск';
Timer1.Enabled:=false;
Pause.Enabled:=false;
SpeedButton5.Enabled:=false;
//Stop;
end;
end
else
begin
ScrollBar1.Enabled:=false;
Pause.Enabled:=false;
SpeedButton5.Enabled:=false;
end;
end;
procedure TForm1.ClearClick(Sender: TObject);
begin
form1.ItemNewClick(self);
end;
procedure TForm1.Start;
var
n:TPoint;
begin
new(n);
n^:=Random(255);
GraphicDiagram1.AddValue(n);
ChangeTable(n^);
end;
procedure TForm1.LinesClick(Sender: TObject);
begin
if not(Lines.Checked)then
begin
GraphicDiagram1.TypeDiagram:=tdLine;
Lines.Checked:=true;
Pilar.Checked:=false;
end else
begin
GraphicDiagram1.TypeDiagram:=tdColumn;
Lines.Checked:=false;
Pilar.Checked:=true;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
inherited;
randomize;
Form1.Pause.Enabled:=false;
Form1.SpeedButton5.Enabled:=false;
ScrollBar1.Enabled:=false;
Edit1.Text:='0';
// SaveDialog1.Create(self);
end;
procedure TForm1.SavePictureClick(Sender: TObject);
var
k:integer;
t:String;
begin
if SavePictureDialog1.Execute then
begin
t:=SavePictureDialog1.FileName;
repaint;
k:=GraphicDiagram1.SavePicture(t);
if k=0 then MessageDlg('Помилка при записі файла '+t,mtError,[mbOk],0);
end;
end;
procedure TForm1.GeneratorClick(Sender: TObject);
begin
if not(Generator.Checked) then
begin
Generator.Checked:=true;
COMport.Checked:=false;
LPTport.Checked:=false;
end;
end;
procedure TForm1.LPTportClick(Sender: TObject);
begin
if not(LPTport.Checked)then
begin
Generator.Checked:=false;
COMport.Checked:=false;
LPTport.Checked:=true;
end;
end;
procedure TForm1.COMportClick(Sender: TObject);
begin
if not(COMport.Checked)then
begin
Generator.Checked:=false;
COMport.Checked:=true;
LPTport.Checked:=false;
end;
end;
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
if ScrollCode=scEndScroll then
begin
if (ScrollPos<>0) and (ScrollPos<>GraphicDiagram1.GetPointsCount) then
begin
GraphicDiagram1.DrawStart:=ScrollPos-1;
GraphicDiagram1.Invalidate;
end
else if ScrollPos=0 then
begin
GraphicDiagram1.DrawStart:=0;
GraphicDiagram1.Invalidate;
end else
begin
GraphicDiagram1.DrawStart:=ScrollPos-1;
GraphicDiagram1.Invalidate;
end;
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form3.Showmodal;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
//form2.Show;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
form3.Show;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
// form4.show;
end;
procedure TForm1.AboutClick(Sender: TObject);
begin
aboutbox.showmodal;
end;
procedure TForm1.newGraphicExecute(Sender: TObject);
begin
form1.ItemNewClick(self);
end;
procedure TForm1.ExitPrExecute(Sender: TObject);
begin
close;
end;
procedure TForm1.StartGrExecute(Sender: TObject);
begin
ScrollBar1.Enabled:=false;
Fileitem.Enabled:=false;
// Interpolation.Enabled:=false;
Options.Enabled:=false;
SpeedButton1.Enabled:=false;
SpeedButton2.Enabled:=false;
SpeedButton3.Enabled:=false;
Timer1.Interval:=GraphicDiagram1.NumMiliSec;
Timer1.Enabled:=True;
Pause.Enabled:=true;
SpeedButton5.Enabled:=true;
end;
procedure TForm1.StopGrExecute(Sender: TObject);
begin
if GraphicDiagram1.GetPointsCount>GraphicDiagram1.DrawCount then
begin
ScrollBar1.Enabled:=true;
ScrollBar1.SetParams(GraphicDiagram1.GetPointsCount,0,GraphicDiagram1.GetPointsCount);
end;
Fileitem.Enabled:=true;
// Interpolation.Enabled:=true;
Options.Enabled:=true;
SpeedButton1.Enabled:=true;
SpeedButton2.Enabled:=true;
SpeedButton3.Enabled:=true;
Timer1.Enabled:=false;
Pause.Enabled:=false;
end;
procedure TForm1.SaveGraphExecute(Sender: TObject);
begin
SavePictureClick(Sender);
end;
procedure TForm1.saveDataGrExecute(Sender: TObject);
begin
if SaveDialog1.Execute then
GraphicDiagram1.SaveData(SaveDialog1.FileName);
end;
procedure TForm1.HelpPrExecute(Sender: TObject);
begin
aboutBox.ShowModal;
end;
procedure TForm1.LoadDataGRExecute(Sender: TObject);
begin
if openDialog1.Execute then
begin
if fileExists (openDialog1.FileName) then
GraphicDiagram1.LoadData(openDialog1.FileName)
else messageDlg('Немає такого файлу!!',mtError,[mbOk],0);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
try
GraphicDiagram1.NumMiliSec:=StrToInt(Edit16.Text);
except MessageDlg('Число повинне бути цілим та додатнім!!!',mtError,[mbOk],0); end
end;
procedure TForm1.GeneratorOptionClick(Sender: TObject);
begin
Form4.showmodal;
end;
end.
Текст компонента GraphicDiagram
unit GraphicDiagram;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
const WM_MYMessage = WM_USER+1000;
const MAX_COUNT = 10000;
type
TTypeDiagram = (tdLine,tdColumn,tdUser);
TPoint = ^Longint;
TPointArray = TList;
TCount = 0..MAX_COUNT;
TnewMouseMoveEvent = procedure (Sender:TObject;Shift:TShiftState;x,y:integer;
var DoDefault:boolean) of Object;
TGraphicDiagram = class(TGraphicControl)
private
FTypeDiagram:TTypeDiagram;
FpointStart:Longint;//початок відображення точок на графіку
FPointDrawCount:Longint; //Кінець відображення точок на графіку
FNumSeccond,FNumMSeccond:word; // кількість мілісекунд, після яких добавляється точка
FPointYMax:Longint; //максимальна точка по Ігрик
FDrawX:Boolean;
FDrawY:Boolean;
FDRAWColor:TColor;
FDrawGridX:Boolean;
FDrawGridY:Boolean;
FDrawGridColor:TColor;
FPointsValue:TPointArray; // тільки додатні елементи
FDataStart,FDataStop:TDateTime;//початок відображення точок на графіку
FEnabled:Boolean;
FOnMouseMove:TnewMouseMoveEvent;
OurTime:longint;
MashtabX:real;
MashtabY:real;
FMashTab:Boolean; //маштаб якщо він змінився то true
// function GetValue(index:Longint): Longint; //читає точку
Procedure SetValue(index,value:Longint); //добавляє точку
procedure SetTypeDiagram(typeD:TTypeDiagram);
procedure SetMashtabX;
procedure SetMashtabY;
protected
procedure paint;override;
procedure WritePoints(stream:TStream);virtual;
procedure ReadPoints(stream:TStream);virtual;
procedure DefineProperties(Filer:TFiler);override;
procedure WMMouseMove(var Mes:TWMMouse); message WM_MOUSEMOVE;
procedure MyMouseMove(Shift:TShiftState;x,y:integer);dynamic;
Procedure WMMyMessage(var Mes:TMessage); message WM_MyMessage;
public
{ Public declarations }
constructor create(AOwner:TComponent);override;
destructor Destroy; override;
procedure AddValue(value:TPoint);overload;
function GetPointsCount:Longint; //читає точку
function getList:TPointArray;
function SaveData(filename:String):integer;
function LoadData(filename:String):integer;
function SavePicture(filename:String):integer;
procedure Start;
procedure Stop;
procedure Clear;
procedure Resize(Sender:TControl);
function GetValue(index:Longint): Longint; //читає точку
// procedure AddValue(value:longint);overload;
published
{ Published declarations }
property TypeDiagram:TTypeDiagram read FTypeDiagram write FTypeDiagram;
property DrawCount:integer read FPointDrawCount Write FPointDrawCount;
property DrawX:Boolean read FDrawX Write FDrawX;
property DrawY:Boolean read FDrawY Write FDrawY;
property DrawGridX:Boolean read FDrawGridX Write FDrawGridX;
property DrawGridY:Boolean read FDrawGridY Write FDrawGridY;
property DrawColor:TColor read FDrawColor Write FDrawColor;
property DrawGridColor:TColor read FDrawGridColor Write FDrawGridColor;
property DrawStart:integer read FPointStart Write FPointStart;
property NumSeccondShow:word read FNumSeccond write FNumSeccond stored false;
property NumMiliSec:word read FNumMSeccond write FNumMSeccond stored false;
property OnMouseMove:TnewMouseMoveEvent read FOnMouseMove write FOnMouseMove;
end;
procedure Register;
implementation
procedure TGraphicDiagram.Resize;
begin
Height:=Sender.Height-30;
Width:=Sender.Width-15;
invalidate;
end;
function TGraphicDiagram.getList:TPointArray;
begin
result:=FPointsValue;
end;
procedure TGraphicDiagram.Start;
begin
FDataStart:=now;
end;
procedure TGraphicDiagram.Stop;
begin
FDataStop:=now;
end;
destructor TGraphicDiagram.destroy;
begin
Self.clear;
inherited;
end;
procedure TGraphicDiagram.Clear;
var l:^Longint;
i:TPoint;
n:Longint;
begin
n:=FPointsValue.Count-1;
FPointsValue.clear;
FpointStart:=0;
new (i);
i^:=0;
AddValue(i);
invalidate;
end;
function TGraphicDiagram.LoadData;
var i:Longint;
n:^Longint;
f:textFile;
st:String;
begin
result:=-1;
FpointsValue.Clear;
FpointStart:=0;
if not FileExists(filename) then exit;
assignFile(f,filename);
reset(f);
while not eof(f) do
begin
readln(f,st);
i:=pos('|',st);
if i=0 then Exception.create('Неправильний формат файлу '+filename);
FDataStart:=StrToDateTime(copy(st,1,i-1));
new (n);
n^:= StrToInt(copy(st,i+1,10));
FpointsValue.add(n);
end;
closeFile(f);
invalidate;
result:=0;
end;
function TGraphicDiagram.SavePicture;
var tp:TBitMap;
st:TStream;
p:pointer;
rin:TRect;
begin
rin:=Rect(0,0,width,height);
//TCanvas
tp:= TBitmap.Create;
// p:=addr(self.canvas.pixels[0,0])
tp.width:=width;
tp.height:=height;
tp.canvas.CopyRect (rin, self.canvas,rin);
tp.SaveToFile (filename);
tp.free;
end;
function TGraphicDiagram.SaveData;
var i:Longint;
n:^Longint;
f:textFile;
begin
result:=-1;
assignFile(f,filename);
rewrite(f);
for i:=0 to FPointsValue.count-1 do
begin
n:=FpointsValue.items[i];
writeln(f,DateTimeToStr(FDataStart+(FDataStart-FDataStop)/FPointsValue.count),'|',n^);
end;
closeFile(f);
result:=0;
end;
function TGraphicDiagram.GetPointsCount:Longint; //
begin
result:=FPointsValue.Count;
end;
procedure TGraphicDiagram.SetTypeDiagram(typeD:TTypeDiagram);
begin
FTypeDiagram:=typeD;
invalidate;
end;
procedure TGraphicDiagram.WMMouseMove(var Mes:TWMMouse);
begin
inherited;
if not (csNoStdEvents in ControlStyle) then
with mes do MyMouseMove (KeysToShiftState(Keys),Xpos,YPos);
end;
procedure TGraphicDiagram.MyMouseMove(Shift:TShiftState;x,y:integer);
var def:Boolean;
begin
def:=true;
if Assigned(FOnMouseMove) then FOnMouseMove(Self,shift,x,y,def);
{if def then оброблювач по замовчуванню!!!}
end;
procedure TGraphicDiagram.WMMyMessage(var Mes:TMessage);
begin
Canvas.Pen.Color:= clRed;
inValidate;
end;
procedure TGraphicDiagram.DefineProperties(Filer:TFiler);
begin
inherited DefineProperties(Filer);
// Filer.DefineBinaryProperty('TypeDiagram',ReadType,WritePoints,true);
end;
procedure TGraphicDiagram.WritePoints(stream:TStream);
begin
// stream.WriteBuffer(FPointsValue,SizeOf(FPointsVAlue));
end;
procedure TGraphicDiagram.ReadPoints(stream:TStream);
begin
// stream.ReadBuffer(FPointsValue,SizeOf(FPointsVAlue));
end;
constructor TGraphicDiagram.create;
var i:integer;
n:TPoint;
begin
inherited create (AOwner);
FDrawColor:=clBlack;
FDrawGridColor:=clBlack;
FDrawX:=true;
FDrawY:=true;
FDrawGridX:=true;
FDrawGridY:=true;
FPointYMax:=1;
Height:=100;
Width:=200;
FNumSeccond:=20;
FNumMSeccond:=200;
FPointDrawCount:=(FNumSeccond*1000) div FNumMSeccond;
MashtabX:=Width/FPointDrawCount;
MashtabY:=(Height-30);
FTypeDiagram:= tdColumn;
FPointsValue:=TList.Create;
new (n);
n^:=0;
addValue(n);
FEnabled:=true;
FMashTab:=true; //маштаб по Ігрику
end;
function TGraphicDiagram.getValue;
begin
if index<FPointsValue.count then
Result:=Longint(FPointsValue.items[index])
else result:=0;
end;
procedure TGraphicDiagram.setValue;
var l:^Longint;
begin
if index<FPointsValue.count then
begin
l:=FPointsValue.Items[index];
if l<>nil then dispose(l);
FPointsValue.Items[index]:=@value;
if value>FPointYMax then begin
FPointYMax:=Value;
FMashtab:=true;
end;
invalidate;
end;
end;
procedure TGraphicDiagram.AddValue(value:TPoint);
var
knum:Longint;
begin
FPointsValue.Add(value);
knum:=FPointsValue.Count;
if ((knum-FPointStart)+3>FPointDrawCount) then FPointStart:=knum-FPointDrawCount+3;
if value^>FPointYMax then begin
FPointYMax:=Value^;
FMashtab:=true;
end;
invalidate;
end;
//Встановлення маштабу по Y
procedure TGraphicDiagram.SetMashtabY;
begin
try
MashtabY:=(Height-30)/FPointYMax;
except MashtabY:=(Height-30)/10 end;
end;
//Встановлення маштабу по X
procedure TGraphicDiagram.SetMashtabX;
begin
MashtabX:=(width-10)/FPointDrawCount;
end;
procedure TGraphicDiagram.paint;
var i:longint;
//Отримання координати Х точки у відповідності до маштабу по Х
function GetX(p:longint):integer;
begin
result:=10 + Round(p*MashtabX);
end;
//Отримання координати Y точки у відповідності до маштабу по Y
function GetY(p:longint):integer;
begin
result:=Height -10 - Round(p*MashtabY);
end;
procedure drawKoordinate;
var i:integer;
temp:TColor;
begin
with canvas do
begin
//Відобрахкння координатних осей
pen.Width:=2;
temp:=pen.Color;
pen.Color:=FDrawColor;
//Вісь Х
if FDrawX then begin
moveTo(10,height-10);
lineTo(width-5,height-10);
moveTo(width-5,height-10);
lineTo(width-15,height-15);
moveTo(width-5,height-10);
lineTo(width-15,height-5);
//Поділки на вісі Х
for i:=0 to 9 do
begin
moveTo(10+(width) div 10 *i,height-5);
lineTo(10+(width) div 10 *i,height-15);
end;
end;
//Вісь Y
if FDrawY then begin
moveTo(10,height-10);
lineTo(10,5);
moveTo(10,5);
lineTo(5,15);
moveTo(10,5);
lineTo(15,15);
//Поділки на вісі Y
for i:=0 to 9 do
begin
moveTo(5,height-10- height div 10*i);
lineTo(15,height-10- height div 10*i);
end;
end;
moveTo(10,height-10);
pen.Width:=1;
pen.Style:=psDot;
pen.Color:=FDrawGridColor;
//Відображення координатної сітки
if FDrawGridX then
begin
//Сітка по вісі Х
for i:=0 to 9 do
begin
moveTo(10+(width) div 10 *i,height-5);
lineTo(10+(width) div 10 *i,0);
end;
end;
if FDrawGridY then begin
//Сітка по вісі Y
for i:=0 to 9 do
begin
moveTo(5,height-10- height div 10*i);
lineTo(width,height-10- height div 10*i);
end;
end;
moveTo(10,height-10);
pen.style:=psSolid;
pen.Color:=temp;
end;
end;
var l:longint;
p:^Longint;
rx:longint;
ry:longint;
begin
if FMashtab then
begin
SetMashtabX;
SetMashtabY;
end;
if csDesigning in ComponentState then
inherited Canvas.pen.Style:= psDash
else
inherited Canvas.pen.Style:= psSolid;
l:=FPointsValue.Count-1;
with inherited Canvas do
begin
Brush.Style:=bsClear;
// Rectangle(0,0,Width,Height);
p:=FPointsValue.items[FPointStart];
moveTo(0,GetY(p^));
pen.Style:= psSolid;
pen.color:=clBlack;
DrawKoordinate;
if FTypeDiagram=tdLine then
for i:=FPointStart to l do
begin
p:=FPointsValue.items[i];
rx:=GetX(i-FPointStart);
ry:=GetY(p^);
LineTo(rx,ry)
end
else if FTypeDiagram=tdColumn then begin
Brush.Style:= bsSolid;
Brush.Color:= clBlue;
for i:=FPointStart to l do
begin
p:=FPointsValue.items[i];
rx:=GetX(i-FPointStart);
ry:=GetY(p^);
FillRect(Rect(rx,Height-10,rx+1,ry));
end;
end;
end;
end;
procedure Register;
begin
RegisterComponents('ActiveX', [TGraphicDiagram]);
end;
end.
Текст модуля Unit3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TForm3 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
RBX: TRadioButton;
RBY: TRadioButton;
RbXY: TRadioButton;
RBNone: TRadioButton;
GroupBox2: TGroupBox;
RBGX: TRadioButton;
RBGY: TRadioButton;
RBGXY: TRadioButton;
RBGNone: TRadioButton;
ColorBox1: TColorBox;
ColorBox2: TColorBox;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses MainForm;
{$R *.dfm}
procedure TForm3.FormShow(Sender: TObject);
begin
with Form1 do
if GraphicDiagram1.DrawX and GraphicDiagram1.DrawY then RBXY.Checked:=true else
if GraphicDiagram1.DrawX then RBX.Checked:=true else
if GraphicDiagram1.DrawY then RBY.Checked:=true else
RBNONe.Checked:=true;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
with Form1 do begin
//Перевірка для осей координат
if RBXY.Checked then begin GraphicDiagram1.DrawX:=true; GraphicDiagram1.DrawY:=true;end;
if RBY.Checked then begin GraphicDiagram1.DrawX:=false; GraphicDiagram1.DrawY:=true;end;
if RBX.Checked then begin GraphicDiagram1.DrawX:=true; GraphicDiagram1.DrawY:=false;end;
if RBNone.Checked then begin GraphicDiagram1.DrawX:=false; GraphicDiagram1.DrawY:=false;end;
//Перевірка для сітки
if RBGXY.Checked then begin GraphicDiagram1.DrawGridX:=true; GraphicDiagram1.DrawGridY:=true;end;
if RBGY.Checked then begin GraphicDiagram1.DrawGridX:=false; GraphicDiagram1.DrawGridY:=true;end;
if RBGX.Checked then begin GraphicDiagram1.DrawGridX:=true; GraphicDiagram1.DrawGridY:=false;end;
if RBGNone.Checked then begin GraphicDiagram1.DrawGridX:=false; GraphicDiagram1.DrawGridY:=false;end;
GraphicDiagram1.DrawColor:=ColorBox2.Selected;
GraphicDiagram1.DrawGridColor:=ColorBox1.Selected;
GraphicDiagram1.Invalidate;
end;
end;
end.
Подобные документы
Процес і результати проектування автоматизованої системи "Облік паспортних даних", призначеної для автоматизації обліку паспортних даних. Обґрунтування вибору методів та засобів обробки даних. Створення зручного графічного інтерфейсу користувача.
курсовая работа [1,8 M], добавлен 23.09.2010Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.
дипломная работа [4,7 M], добавлен 12.10.2015Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.
курсовая работа [4,5 M], добавлен 03.01.2014Розробка бази даних в середовищі Microsoft SQL Server 2008 для обліку послуг фітнес-клубу. Таблиці для баз даних, їх властивості. Аналіз сукупності вхідних і вихідних параметрів, опис інформаційної бази, розробка логічної і фізичної моделі даних в ІС.
курсовая работа [449,9 K], добавлен 09.05.2016Розробка бази даних для обробки інформації про діяльність туристичного агентства. Визначення предметної області, вхідних та вихідних даних, їх організації. Генерація схеми бази даних. Реалізація функціональних вимог. Інструкція з експлуатації системи.
курсовая работа [5,3 M], добавлен 12.05.2015Сутність та характеристика обліку касових операцій. Програмування та алгоритмічні мови, його основи сутність та основні особливості. Технічні характеристики. Визначення структури вхідних та вихідних даних. Вимоги до технічних засобів. Опис алгоритмів.
курсовая работа [357,5 K], добавлен 13.02.2009Представлення типів даних при роботі нейронними мережами. Корисні вхідні змінні, їх тестування методом спроб та помилок. Генетичний алгоритм відбору вхідних даних. Нелінійне пониження розмірності, пропущені значення. Створення нового набору даних.
реферат [1,1 M], добавлен 09.07.2011Розробка програми для управління навчальним процесом студентської групи вищого навчального закладу. Об’єктно-орієнтоване проектування об’єктів групи. Створення мови програмування Java. Побудова графічного інтерфейсу. Робота з невеликими базами даних.
курсовая работа [935,3 K], добавлен 21.12.2013Проектування бази даних предметної області "Магазин будівельних матеріалів". Аналіз сукупності вхідних і вихідних даних, шляхи удосконалення інформаційної системи обліку товару. Організація інформаційної бази, розробка логічної і фізичної моделі.
курсовая работа [559,2 K], добавлен 09.05.2016Методи первинної обробки даних - згладжування та характеристика сплайнів. Загальна характеристика об'єктно-орієнтованої мови Java. Принципи побудови графічного інтерфейсу. Розробка алгоритму програми та інтерфейсу користувача програмного продукту.
дипломная работа [3,3 M], добавлен 10.10.2013