3385
.pdfcase 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;