全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2269
推到 Plurk!
推到 Facebook!

用while做99乘法表

答題得分者是:elva349
f9315409
一般會員


發表:1
回覆:0
積分:0
註冊:2007-10-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-28 16:08:19 IP:219.81.xxx.xxx 訂閱
如題是要在label上顯現的!!
jow感謝你..
但是我是要按BUTTON顯現在LABEL上的...我沒說清楚= =”
編輯記錄
f9315409 重新編輯於 2007-10-29 10:28:38, 註解 無‧
taishyang 重新編輯於 2007-10-29 11:04:31, 註解 將[求救]字樣拿掉‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-29 02:38:34 IP:123.193.xxx.xxx 訂閱

[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 if(Canvas->Font->Height<1)Canvas->Font->Height=1;
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]

編輯記錄
jow 重新編輯於 2007-10-29 02:39:20, 註解 無‧
jow 重新編輯於 2007-10-29 02:48:58, 註解 無‧
elva349
一般會員


發表:15
回覆:21
積分:17
註冊:2007-04-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-29 15:04:28 IP:61.30.xxx.xxx 訂閱
如你需要的 
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;
看你要宣告在哪....
編輯記錄
elva349 重新編輯於 2007-10-29 15:19:17, 註解 無‧
elva349 重新編輯於 2007-10-29 15:20:27, 註解 重新對齊...‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-29 15:37:44 IP:210.66.xxx.xxx 訂閱
原程式稍作修改就可以了... ^_^

程式碼下載: 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]
編輯記錄
jow 重新編輯於 2007-10-29 15:41:43, 註解 無‧
jow 重新編輯於 2007-10-29 15:47:09, 註解 無‧
jow 重新編輯於 2007-10-29 15:55:30, 註解 無‧
系統時間:2017-11-19 22:16:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!