unit1.cpp

来自「用bcb所撰寫的kohonen程式,優雅的網狀伸張分佈,將任意維度的input 」· C++ 代码 · 共 102 行

CPP
102
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   ImageClear();
   index=0;
   Stop=0;
}
//---------------------------------------------------------------------------
 void TForm1::DrawLine(TPoint TopLeft,TPoint BottomRight,TPenMode AMode)
{
 Image1->Canvas->Pen->Mode=AMode;
 Image1->Canvas->Pen->Width=3;
 Image1->Canvas->MoveTo(TopLeft.x,TopLeft.y);
 Image1->Canvas->LineTo(BottomRight.x,BottomRight.y);

}
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
 char msg[64];
 float x,y;
 if(Stop>0) return;

 x=X/400.0;
 y=(0-(Y-400))/400.0;
 //陪ボ畒夹
 Form1->Edit1->Text="( "+FormatFloat("0.00",x)+" , "
                   +FormatFloat("0.00",y)+" )";
 }
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{

 float x,y;
 if(index>10000) return;
 if(Stop>0) return;
 x=X/400.0;
 y=(0-(Y-400))/400.0;
 Form1->Edit1->Text="( "+FormatFloat("0.00",x)+" , "
                   +FormatFloat("0.00",y)+" )";

 if(start!=1) return ;
 Image1->Canvas->Brush->Style=bsSolid;
 Image1->Canvas->Ellipse(X+5,Y+5,X-5,Y-5);

 Form1->ListBox1->Font->Color=ColorDialog1->Color;
 Form1->ListBox1->Items->Add("( "+FormatFloat("0.00",x)
                    +" , "+FormatFloat("0.00",y)+" )");
 E1[index]=x;
 E2[index]=y;
 index+=1;
 }
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(ColorDialog1->Execute())
   {
    Image1->Canvas->Pen->Color=ColorDialog1->Color;
    Image1->Canvas->Brush->Color = ColorDialog1->Color;
    start=1;
   }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 int temp;
 int i,j,k,total,Output_R,Output_C;

 if(Stop==3)
   Form1->Close();

 if(Stop==0)
 {
   start=0;
   Output_R=StrToInt(Form1->Edit2->Text);
   Output_C=StrToInt(Form1->Edit3->Text);
   temp=Output_R*Output_C;
   W2=new float[temp];
   W1=new float[temp];

   randomize();
    for(i=0;i<Output_R;i++)  //睹计倒舦

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?