用while做99乘法表 |
答題得分者是:elva349
|
f9315409
一般會員 發表:1 回覆:0 積分:0 註冊:2007-10-28 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code cpp] //--------------------------------------------------------------------------- #ifndef fMainH #define fMainH //--------------------------------------------------------------------------- #include #include #include #include <Forms.hpp><br />//--------------------------------------------------------------------------- class TMyLabel : public TLabel { protected: void __fastcall Paint(); public: __fastcall TMyLabel(TComponent* Owner); }; //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: public: __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif [/code] [code cpp] //--------------------------------------------------------------------------- #include #pragma hdrstop #include "fMain.h" #include "Math.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" //--------------------------------------------------------------------------- TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TMyLabel::TMyLabel(TComponent* Owner) : TLabel(Owner) { Caption=""; AutoSize=false; Transparent=false; Color=clRed; Canvas->Font->Name="ARIAL"; Canvas->Brush->Style=bsClear; } //--------------------------------------------------------------------------- void __fastcall TMyLabel::Paint() { TRect rect; AnsiString S, T; S="%d x %d = %d "; int fw=ClientHeight/29; int fh=ClientWidth*2/(S.Length()*3); Canvas->Font->Height=(fw int w=Canvas->TextWidth(S); int h=Canvas->TextHeight("9"); int c=0, r, a; while(c<3){ r=0; while(r<3){ a=c*3 r 1; rect=Rect(w*c,h*10*r,w*(c 1),(h*10)*(r 1)); for(int k=1;k<10;k ){ T.sprintf(S.c_str(),a,k,a*k); DrawText(Canvas->Handle,T.c_str(),T.Length(),&rect,DT_LEFT); OffsetRect(&rect,0,h); } r ; } c ; } } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { TMyLabel *lbl = new TMyLabel(this); lbl->Parent=this; lbl->Align=alClient; } //--------------------------------------------------------------------------- [/code] |
elva349
一般會員 發表:15 回覆:21 積分:17 註冊:2007-04-17 發送簡訊給我 |
如你需要的
BUTTON1 [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { a=1; b=1; index=1; aint=StrToInt(a); bint=StrToInt(b); while (bint<10) { while (aint<10) { aint=StrToInt(a); INS=a " x " b " = " a*b; if (INS.Length()==10) // 字數對太齊反而顯示會有問題,所以 在這邊 要做修正. {L=1;} STR=STR " "; //先加上一大段空格 STR.Insert(INS,index); //從哪裡開始放入 STR=STR.Trim(); //把空白消掉 index=index 15; if (L==1) {index--; L=0;} aint=aint 1; a=AnsiString(aint); } STR=STR "\n"; index=STR.LastDelimiter("\n"); index=index 1; aint=1; a=AnsiString(aint); bint=bint 1; b=AnsiString(bint); } Label1->Caption=STR; } [/code] 之前請記得宣告 AnsiString a ; AnsiString b ; AnsiString INS ; int index; int bint; int aint; AnsiString STR; bool L; 看你要宣告在哪.... |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
原程式稍作修改就可以了... ^_^
程式碼下載: http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=91023 [code cpp] //--------------------------------------------------------------------------- #ifndef fMainH #define fMainH //--------------------------------------------------------------------------- #include #include #include #include <Forms.hpp><br />//--------------------------------------------------------------------------- class TMyLabel : public TLabel { protected: void __fastcall Paint(); public: __fastcall TMyLabel(TComponent* Owner); }; //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: TButton *Button1; void __fastcall Button1Click(TObject *Sender); public: TMyLabel *lbl; __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif [/code] [code c#] //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if(lbl==NULL){ lbl = new TMyLabel(this); lbl->Parent=this; lbl->Align=alClient; } } //--------------------------------------------------------------------------- [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |