Візуальний облік вхідних даних інтерфейсу 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.