//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //-------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { i=1; T=0; Image1->Canvas->MoveTo(0,400); //ペンの位置を初期化 Image1->Canvas->LineTo(0,0); //四角形を書いた Image1->Canvas->LineTo(400,0); Image1->Canvas->LineTo(400,400); Image1->Canvas->LineTo(0,400); Timer1->Enabled=true; Timer1->Interval=100; //Intervalは1000で1秒、100で0.1秒 //"ture"になった時点で、 //関数”Timer1Timer”が0.1秒ごとに //実行される if (fp == NULL) //ファイルがオープンされてない場合 { //タイマーストップ Timer1->Enabled=false; ShowMessage(AnsiString("ファイルが見つかりません。--- データファイルを開いてください")); } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Label4->Caption=0; val=1; //テキストファイルをオープンする。 if (OpenDialog1->Execute()) { fp=fopen(OpenDialog1->FileName.c_str(),"r"); } } //--------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { fscanf( fp,"%d",&val);//ファイルのデータを読み込む if(val==0) //データの値が、0になったら終了 { Timer1->Enabled=false; fclose( fp ); ShowMessage(AnsiString("グラフ書き終わり ")); } if(val!=0) { dt=3; Label4->Caption=val; T=i * dt; //Tは横軸 i++; F=400-val*4; //Fは縦軸 Image1->Canvas->LineTo(T,F); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { if(SavePictureDialog1->Execute()) //画像としてグラフを保存 //保存可能な画像フォーマットはビットマップとJPEG { //bmpとして保存するためのコマンド /* Image1->Picture->SaveToFile(SavePictureDialog1->FileName); */ // JPEGとして保存するためのコマンド TJPEGImage *jp; jp = new TJPEGImage(); try { jp->Assign(Image1->Picture->Bitmap); jp->SaveToFile(SavePictureDialog1->FileName); } __finally { delete jp; } } } //--------------------------------------------------------------------------- //ここから下の関数は、メニューバーのコマンドの設定。 // void __fastcall TForm1::Exit1Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::SaveAs1Click(TObject *Sender) { if(SavePictureDialog1->Execute()) //画像としてグラフを保存 { // Image1->Picture->SaveToFile(SavePictureDialog1->FileName); // 下のように書くとビットマップをJpegに変換できる。 // TImage1->Picture->Bitmapはビットマップ形式だが // Assighを使ってそれをTJPEGImage *jp に代入すると、 // ファイル内容がJpegになる TJPEGImage *jp = new TJPEGImage(); try { jp->Assign(Image1->Picture->Bitmap); jp->SaveToFile(SavePictureDialog1->FileName); } __finally { delete jp; } } } //--------------------------------------------------------------------------- void __fastcall TForm1::Open1Click(TObject *Sender) { if (OpenDialog1->Execute()) //データファイルを開く { fp=fopen(OpenDialog1->FileName.c_str(),"r"); } } //--------------------------------------------------------------------------- void __fastcall TForm1::N3Click(TObject *Sender) { Clipboard()->Assign( Image1->Picture ); } // Image1->Pictureの内容(絵)を、クリップボードへコピー //---------------------------------------------------------------------------