Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 2060

.pdf
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
4.73 Mб
Скачать

case mbRight: if(Frec>=-4.3)

{

Sshkala(); Frec-=0.01; Sshkala();

}

break;

}

Application->ProcessMessages();

// GenDdeSItem->Text=FloatToStr(fabs(Frec- 1.570796327)*210/5.8800023359*exp((HInstImg2-21)*log(10)));

/* GenDdeSItem->Lines->Clear(); float Period=1/(fabs(Frec-

1.570796327)*210/5.8800023359*exp((HInstImg2-21)*log(10))); for(int time=0;time<=300;time++)

GenDdeSItem->Lines- >Add(FloatToStr((Amplitude+Delta+1)*2/Kmul*sin(time*Period/(300*6.283185307 *Period))));

*/

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y)

{

MbFlag2=false; if(fOnOff) DDEServOut();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=1; if(fOnOff)

{

Smove(0.005,2.75,1);

}

Kmul=1;

spos=2.75;

Delta=0.005;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=2; if(fOnOff)

{

Smove(0.005,1.525,(float)1/3*10);

}

Kmul=(float)1/3*10;

spos=1.525;

Delta=0.005;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=3; if(fOnOff)

{

Smove(0.002,1.175,10);

}

Kmul=10;

spos=1.175;

Delta=0.002;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton4Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=4; if(fOnOff)

{

Smove(0.0005,1.0525,(float)1/3*100);

}

Kmul=(float)1/3*100;

spos=1.0525;

Delta=0.0005;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton5Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=5; if(fOnOff)

{

Smove(0.0005,1.0175,100);

}

Kmul=100;

spos=1.0175;

Delta=0.0005;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton6Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=6;

if(fOnOff)

{

Smove(0.00008,1.00525,(float)1/3*1000);

}

Kmul=(float)1/3*1000;

spos=1.00525;

Delta=0.00008;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton7Click(TObject *Sender)

{

if(!fNoAct)

{

switch(ButNum)

{

case 1: SpeedButton1->Down=true; return; case 2: SpeedButton2->Down=true; return; case 3: SpeedButton3->Down=true; return; case 4: SpeedButton4->Down=true; return; case 5: SpeedButton5->Down=true; return; case 6: SpeedButton6->Down=true; return; case 7: SpeedButton7->Down=true; return;

}

}

else ButNum=7; if(fOnOff)

{

Smove(0.00004,1.00175,1000);

}

Kmul=1000;

spos=1.00175;

Delta=0.00004;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)

{

Image1->Canvas->Brush->Color=clBtnFace; Image2->Canvas->Brush->Color=clBtnFace; Image3->Canvas->Brush->Color=clBtnFace; Image4->Canvas->Brush->Color=clBtnFace; Image5->Canvas->Brush->Color=clBtnFace; Image7->Canvas->Brush->Color=clBtnFace;

TRect rect(0,0,250,250); Graphics::TBitmap *BitMap; BitMap=new Graphics::TBitmap;

BitMap->LoadFromResourceID((int)HInstance,11); Image1->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); BitMap->LoadFromResourceID((int)HInstance,12); Image2->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); BitMap->LoadFromResourceID((int)HInstance,21); Image3->Canvas->FillRect(rect); Image3->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); BitMap->LoadFromResourceID((int)HInstance,31); Image4->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); BitMap->LoadFromResourceID((int)HInstance,42); Image5->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); Image6->Picture->Bitmap->LoadFromResourceID((int)HInstance,51); BitMap->LoadFromResourceID((int)HInstance,61); Image7->Canvas->BrushCopy(rect,BitMap,rect,(TColor)0x00FFC0C0); delete BitMap;

Image4->Canvas->Pen->Color=clGray; Image4->Canvas->Brush->Color=clWhite; Image4->Canvas->Ellipse((int)24-16*cos(Amplitude),(int)31-

16*sin(Amplitude), (int)28-16*cos(Amplitude),(int)35-16*sin(Amplitude));

Image2->Canvas->Pen->Color=clBlack; Image2->Canvas->Arc(7,37,193,223,180,0,17,0); for(float i=0.35;i<1.3;i+=0.05) {

Image2->Canvas->MoveTo((int)100-97*cos(i*1.85),(int)130- 97*sin(i*1.85));

Image2->Canvas->LineTo((int)100-93*cos(i*1.85),(int)130- 93*sin(i*1.85));

}

for(float i=0.35;i<1.366;i+=0.0635) { Image2->Canvas->MoveTo((int)100-92*cos(i*1.85),(int)130-

92*sin(i*1.85)); Image2->Canvas->LineTo((int)100-88*cos(i*1.85),(int)130-

88*sin(i*1.85));

}

Image2->Canvas->Pen->Width=2; Image2->Canvas->Brush->Color=clWhite; for(int i=0;i<11;i+=1) {

Image2->Canvas->MoveTo((int)100-100*cos((i*0.1+0.35)*1.85),(int)130- 100*sin((i*0.1+0.35)*1.85));

Image2->Canvas->LineTo((int)100-93*cos((i*0.1+0.35)*1.85),(int)130- 93*sin((i*0.1+0.35)*1.85));

if(i!=0 && i!=10 && i%2==0) Image2->Canvas->TextOutA((int)96-115*cos((i*0.1+0.35)*1.85),(int)130-

115*sin((i*0.1+0.35)*1.85),IntToStr(i));

}

for(int i=0;i<4;i+=1) { Image2->Canvas->MoveTo((int)100-

92*cos((i*0.3175+0.35)*1.85),(int)130-92*sin((i*0.3175+0.35)*1.85)); Image2->Canvas->LineTo((int)100-85*cos((i*0.3175+0.35)*1.85),(int)130-

85*sin((i*0.3175+0.35)*1.85)); Image2->Canvas->TextOutA((int)96-

83*cos((i*0.3175+0.35)*1.85),(int)130-83*sin((i*0.3175+0.35)*1.85),IntToStr(i));

}

Image2->Canvas->Pen->Width=1; Image2->Canvas->Pen->Mode=pmNotXor; Image2->Canvas->MoveTo((int)100-

30*cos((Amplitude+spos)*sklim*Kmul),108); Image2->Canvas->LineTo((int)100-

88*cos((Amplitude+spos)*sklim*Kmul),(int)13088*sin((Amplitude+spos)*sklim*Kmul));

Image1->Canvas->Brush->Color=clWhite; Sshkala();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::GenDdeSItemPokeData(TObject *Sender)

{

MessageBeep(MB_OK);

//GenDdeSItem->Lines->Clear();

//GenDdeSItem->Text="False";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

GenDdeSItem->Text="genclose"; SendMessage(FindWindow("TFExp" , "Менеджер

устройств"),WM_GenClose,0,0); Application->ProcessMessages(); Sleep(500);

}

//---------------------------------------------------------------------------

Файл реализации программы ВИК

//---------------------------------------------------------------------------

#include <vcl.h> #pragma hdrstop

#include "ExpDevice.h" #include "ABox.h"

//---------------------------------------------------------------------------

#pragma package(smart_init) #pragma resource "*.dfm" TFExp *FExp;

//---------------------------------------------------------------------------

__fastcall TFExp::TFExp(TComponent* Owner) : TForm(Owner)

{

tagosc=false;

taggen=false;

}

//---------------------------------------------------------------------------

void __fastcall TFExp::MyOnOsc()

{

if (!tagosc)

{

int i=WinExec("Devices\\oscioloscop.exe",SW_RESTORE); if (i<32)

{

ShowMessage("Код ошибки"+IntToStr(i)); Abort();

}

tagosc=true;

return;

}

if (tagosc)

{

SendMessage(FindWindow("TFC167","C1-67"),WM_CLOSE,0,0); tagosc=false;

return;

}

}

//---------------------------------------------------------------------------

void __fastcall TFExp::MyOnGen()

{

if (!taggen)

{

int i=WinExec("Devices\\generate.exe",SW_RESTORE); if (i<32)

{

ShowMessage("Код ошибки"+IntToStr(i)); Abort();

}

taggen=true;

return;

}

if (taggen)

{

SendMessage(FindWindow("TForm1",

"Генератор сигналов низкочастотный Г3-102"),WM_CLOSE,0,0); taggen=false;

return;

}

}

//---------------------------------------------------------------------------

void __fastcall TFExp::FormCreate(TObject *Sender)

{

LBox1->Items->Add("Генератор НЧ сигналов Г3-102"); LBox1->Items->Add("Осциллограф С1-67");

}

//---------------------------------------------------------------------------

void __fastcall TFExp::Button1Click(TObject *Sender)

{

for (int i=0;i < LBox1->Items->Count ;i++)

{

if ((LBox1->Items->Strings[i]=="Осциллограф С1-67")&&(LBox1->Selected[i]))

{

MyOnOsc(); LBox2->Items->Add(LBox1->Items->Strings[i]);

}

if ((LBox1->Items->Strings[i]=="Генератор НЧ сигналов Г3-102")&&(LBox1- >Selected[i]))

{

MyOnGen(); LBox2->Items->Add(LBox1->Items->Strings[i]);

}

if (LBox1->Selected[i]) LBox1->Items->Delete(i);

}

if (LBox1->Items->Count==0) Button1->Enabled=false; else Button1->Enabled=true;

if (LBox2->Items->Count==0) Button2->Enabled=false; else Button2->Enabled=true;

}

//---------------------------------------------------------------------------

void __fastcall TFExp::Button2Click(TObject *Sender)

{

bootclic=true;

for (int i=0;i<LBox2->Items->Count;i++)

{

if ((LBox2->Items->Strings[i]=="Осциллограф С1-67")&&(LBox2->Selected[i]))

{

MyOnOsc(); LBox1->Items->Add(LBox2->Items->Strings[i]);

}

if ((LBox2->Items->Strings[i]=="Генератор НЧ сигналов Г3-102")&&(LBox2- >Selected[i]))

{

MyOnGen(); LBox1->Items->Add(LBox2->Items->Strings[i]);

}

if (LBox2->Selected[i]) LBox2->Items->Delete(i);

}

if (LBox2->Items->Count==0) Button2->Enabled=false; else Button2->Enabled=true;

if (LBox1->Items->Count==0) Button1->Enabled=false; else Button1->Enabled=true;

bootclic=false;

}

//---------------------------------------------------------------------------

void __fastcall TFExp::GenClose(TMessage& a)

{

if (bootclic) return;

for (int i=0;i<LBox2->Items->Count;i++)

if (LBox2->Items->Strings[i]=="Генератор НЧ сигналов Г3-102")

{

LBox1->Items->Add(LBox2->Items->Strings[i]); LBox2->Items->Delete(i);

taggen=false;