史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2005-08-24, 09:56 PM   #1
魔術王子
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2001小時 | 升級還需:20小時級別:42 | 在線時長:2001小時 | 升級還需:20小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3017
精華: 0
現金: 15080 金幣
資產: 2678710 金幣
預設 [C++ Builder]小時鐘

這程式原本是設計成螢幕保護程式的
現在改成一般程式,大家若有興趣可自行修改(原來部分小王子只是remake而已)
語法:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "math.h"
#include "stdlib.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int GX=0,GY=0;
int hr,min,sec;
int hr1,min1,sec1;
int x=Screen->Width/2;
int y=Screen->Height/2+10;
int r=Screen->Height/2-30;
float j;
/*
Graphics::TBitmap* Bmp0=new Graphics::TBitmap;
Graphics::TBitmap* Bmp1=new Graphics::TBitmap;
Graphics::TBitmap* Bmp2=new Graphics::TBitmap;
Graphics::TBitmap* Bmp3=new Graphics::TBitmap;
Graphics::TBitmap* Bmp4=new Graphics::TBitmap;
Graphics::TBitmap* Bmp5=new Graphics::TBitmap;
Graphics::TBitmap* Bmp6=new Graphics::TBitmap;
Graphics::TBitmap* Bmp7=new Graphics::TBitmap;
Graphics::TBitmap* Bmp8=new Graphics::TBitmap;
Graphics::TBitmap* Bmp9=new Graphics::TBitmap;
Graphics::TBitmap* Bmpc=new Graphics::TBitmap;   */
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
/*    if((GX==0)&&(GY==0))
     {GX=X;GY=Y;}
    if((GX!=X)||(GY!=Y))
        Close();        */
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    Close();    
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
    Close();    
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
/*
    Bmp0->Handle=LoadBitmap(HInstance,"bmp0");
    Bmp1->Handle=LoadBitmap(HInstance,"bmp1");
    Bmp2->Handle=LoadBitmap(HInstance,"bmp2");
    Bmp3->Handle=LoadBitmap(HInstance,"bmp3");
    Bmp4->Handle=LoadBitmap(HInstance,"bmp4");
    Bmp5->Handle=LoadBitmap(HInstance,"bmp5");
    Bmp6->Handle=LoadBitmap(HInstance,"bmp6");
    Bmp7->Handle=LoadBitmap(HInstance,"bmp7");
    Bmp8->Handle=LoadBitmap(HInstance,"bmp8");
    Bmp9->Handle=LoadBitmap(HInstance,"bmp9");
    Bmpc->Handle=LoadBitmap(HInstance,"bmpc");  */
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
/*    ShowCursor(true);
    delete Bmp0;
    delete Bmp1;
    delete Bmp2;
    delete Bmp3;
    delete Bmp4;
    delete Bmp5;
    delete Bmp6;
    delete Bmp7;
    delete Bmp8;
    delete Bmp9;
    delete Bmpc;
 */
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
/*    String d=DateToStr(Date());
    int y1=d.SubString(1,4).ToInt()-1911;
    Canvas->Draw(x-150,3,Day);
    DrawBmp(x-27,8,IntToStr(y1).SubString(1,1).ToInt());
    DrawBmp(x-10,8,IntToStr(y1).SubString(2,1).ToInt());
    if(d.SubString(7,1)!="\/"){
        DrawBmp(x+33,8,1);
        DrawBmp(x+50,8,d.SubString(7,1).ToInt());
    } else {
        DrawBmp(x+33,8,0);
        DrawBmp(x+50,8,d.SubString(6,1).ToInt());
    }
    if(d.SubString(d.Length()-1,1)!="\/"){
        DrawBmp(x+90,8,d.SubString(d.Length()-1,1).ToInt());
        DrawBmp(x+107,8,d.SubString(d.Length(),1).ToInt());
    } else {
        DrawBmp(x+90,8,0);
        DrawBmp(x+107,8,d.SubString(d.Length(),1).ToInt());
    }       */
    Canvas->Pen->Color=clWhite;
    Canvas->Pen->Width=1;
    Canvas->Ellipse(x-r,y-r,x+r,y+r);
    j=-1.57+3.14*0/30;
    Canvas->Pen->Width=2;
    Canvas->MoveTo(x+cos(j)*(r-50),y+sin(j)*(r-50));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*5/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*10/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*15/30;
    Canvas->Pen->Width=2;
    Canvas->MoveTo(x+cos(j)*(r-50),y+sin(j)*(r-50));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*20/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*25/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*30/30;
    Canvas->Pen->Width=2;
    Canvas->MoveTo(x+cos(j)*(r-50),y+sin(j)*(r-50));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*35/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*40/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*45/30;
    Canvas->Pen->Width=2;
    Canvas->MoveTo(x+cos(j)*(r-50),y+sin(j)*(r-50));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*50/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
    j=-1.57+3.14*55/30;
    Canvas->Pen->Width=1;
    Canvas->MoveTo(x+cos(j)*(r-30),y+sin(j)*(r-30));
    Canvas->LineTo(x+cos(j)*(r-10),y+sin(j)*(r-10));
}
//---------------------------------------------------------------------------
void TForm1::DrawBmp(int x,int y,int n)
{
/*    switch(n)
    {
        case 0:
            Canvas->Draw(x,y,Bmp0);
            break;
        case 1:
            Canvas->Draw(x,y,Bmp1);
            break;
        case 2:
            Canvas->Draw(x,y,Bmp2);
            break;
        case 3:
            Canvas->Draw(x,y,Bmp3);
            break;
        case 4:
            Canvas->Draw(x,y,Bmp4);
            break;
        case 5:
            Canvas->Draw(x,y,Bmp5);
            break;
        case 6:
            Canvas->Draw(x,y,Bmp6);
            break;
        case 7:
            Canvas->Draw(x,y,Bmp7);
            break;
        case 8:
            Canvas->Draw(x,y,Bmp8);
            break;
        case 9:
            Canvas->Draw(x,y,Bmp9);
            break;
        case 10:
            Canvas->Draw(x,y,Bmpc);
            break;
    }    */
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
//    ShowCursor(false);
}
//---------------------------------------------------------------------------
魔術王子 目前離線  
送花文章: 1536, 收花文章: 1560 篇, 收花: 3905 次
回覆時引用此帖
舊 2005-08-24, 09:57 PM   #2 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2001小時 | 升級還需:20小時級別:42 | 在線時長:2001小時 | 升級還需:20小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3017
精華: 0
現金: 15080 金幣
資產: 2678710 金幣
預設

語法:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    Canvas->Pen->Color=clBlack;
    j=-1.57+3.14*hr1/6+(3.14/360*min);
    Canvas->Pen->Width=15;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-200),y+sin(j)*(r-200));
    j=-1.57+3.14*min1/30;
    Canvas->Pen->Width=9;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-150),y+sin(j)*(r-150));
    j=-1.57+3.14*sec1/30;
    Canvas->Pen->Width=3;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-100),y+sin(j)*(r-100));
//    ShowMessage(TimeToStr(Time()).SubString(6,5));
/*    DrawBmp((Screen->Width-114)/2,Screen->Height-100,TimeToStr(Time()).SubString(6,1).ToInt());
    DrawBmp((Screen->Width-82)/2,Screen->Height-100,TimeToStr(Time()).SubString(7,1).ToInt());
    DrawBmp((Screen->Width-50)/2,Screen->Height-100,10);
    DrawBmp((Screen->Width-32)/2,Screen->Height-100,TimeToStr(Time()).SubString(9,1).ToInt());
    DrawBmp(Screen->Width/2,Screen->Height-100,TimeToStr(Time()).SubString(10,1).ToInt());
    DrawBmp((Screen->Width+32)/2,Screen->Height-100,10);
    DrawBmp((Screen->Width+50)/2,Screen->Height-100,TimeToStr(Time()).SubString(12,1).ToInt());
    DrawBmp((Screen->Width+82)/2,Screen->Height-100,TimeToStr(Time()).SubString(13,1).ToInt()); */
    Canvas->Pen->Color=clYellow;
    sec=TimeToStr(Time()).SubString(12,2).ToInt();
    j=-1.57+3.14*sec/30;
    Canvas->Pen->Width=3;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-100),y+sin(j)*(r-100));
    min=TimeToStr(Time()).SubString(9,2).ToInt();
    j=-1.57+3.14*min/30;
    Canvas->Pen->Width=9;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-150),y+sin(j)*(r-150));
    hr=TimeToStr(Time()).SubString(6,2).ToInt();
    j=-1.57+3.14*hr/6+(3.14/360*min);
    Canvas->Pen->Width=15;
    Canvas->MoveTo(x,y);
    Canvas->LineTo(x+cos(j)*(r-200),y+sin(j)*(r-200));

    hr1=hr;
    sec1=sec;
    min1=min;
}
//---------------------------------------------------------------------------
魔術王子 目前離線  
送花文章: 1536, 收花文章: 1560 篇, 收花: 3905 次
回覆時引用此帖
舊 2005-08-24, 09:59 PM   #3 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2001小時 | 升級還需:20小時級別:42 | 在線時長:2001小時 | 升級還需:20小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3017
精華: 0
現金: 15080 金幣
資產: 2678710 金幣
預設

語法:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
    TTimer *Timer1;
    void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
    void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift);
    void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
    void __fastcall FormActivate(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall FormPaint(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall Timer1Timer(TObject *Sender);
private:	// User declarations
    void TForm1:: DrawBmp(int x,int y,int n);
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
魔術王子 目前離線  
送花文章: 1536, 收花文章: 1560 篇, 收花: 3905 次
回覆時引用此帖
舊 2005-08-24, 10:00 PM   #4 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2001小時 | 升級還需:20小時級別:42 | 在線時長:2001小時 | 升級還需:20小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3017
精華: 0
現金: 15080 金幣
資產: 2678710 金幣
預設

語法:
object Form1: TForm1
  Left = 195
  Top = 107
  BorderStyle = bsNone
  Caption = 'TimeScr'
  ClientHeight = 453
  ClientWidth = 688
  Color = clBlack
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  WindowState = wsMaximized
  OnActivate = FormActivate
  OnClose = FormClose
  OnCreate = FormCreate
  OnKeyDown = FormKeyDown
  OnMouseDown = FormMouseDown
  OnMouseMove = FormMouseMove
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
  object Timer1: TTimer
    OnTimer = Timer1Timer
    Left = 80
    Top = 96
  end
end
魔術王子 目前離線  
送花文章: 1536, 收花文章: 1560 篇, 收花: 3905 次
回覆時引用此帖
舊 2005-08-24, 10:03 PM   #5 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2001小時 | 升級還需:20小時級別:42 | 在線時長:2001小時 | 升級還需:20小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3017
精華: 0
現金: 15080 金幣
資產: 2678710 金幣
預設

Bmp0->Handle=LoadBitmap(HInstance,"bmp0"); //0
Bmp1->Handle=LoadBitmap(HInstance,"bmp1"); //1
Bmp2->Handle=LoadBitmap(HInstance,"bmp2"); //2
Bmp3->Handle=LoadBitmap(HInstance,"bmp3"); //3
Bmp4->Handle=LoadBitmap(HInstance,"bmp4"); //4
Bmp5->Handle=LoadBitmap(HInstance,"bmp5"); //5
Bmp6->Handle=LoadBitmap(HInstance,"bmp6"); //6
Bmp7->Handle=LoadBitmap(HInstance,"bmp7"); //7
Bmp8->Handle=LoadBitmap(HInstance,"bmp8"); //8
Bmp9->Handle=LoadBitmap(HInstance,"bmp9"); //9
Bmpc->Handle=LoadBitmap(HInstance,"bmpc"); //:
這幾行顯示數位式時間
您必須要有圖示才可以使用
魔術王子 目前離線  
送花文章: 1536, 收花文章: 1560 篇, 收花: 3905 次
回覆時引用此帖
舊 2005-08-27, 08:52 PM   #6 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

好利害 ㄋ
__________________
在「專業主討論區」中的問題解決後,要記得按一下 http://forum.slime.com.tw/images/stamps/is_solved.gif 按鈕喔,
這是一種禮貌動作。

一樣是在「專業主討論區」中發問,不管問題解決與否,都要回應別人的回答文喔。
不然搞 [斷頭文],只看不回應,下次被別人列入黑名單就不要怪人喔。

天線寶寶說再見啦~ ... 天線寶寶說再見啦~

迪西:「再見~ 再見~」

Otaku Culture Party 關心您 ...
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 05:59 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1