線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1273
推到 Plurk!
推到 Facebook!

如何讓輸入的資料記憶,並能做修改、顯示?

答題得分者是:herbert2
needhelp
一般會員


發表:1
回覆:1
積分:0
註冊:2008-12-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-20 23:43:17 IP:219.71.xxx.xxx 訂閱
初學C++Builder 6,很多功能不知道該怎麼用

來這請教各位,懇請各位的幫忙


有五筆資料是自行輸入的,要如何讓他新增後記憶住?

之後還能修改、顯示在Memo上

印象中似乎要用陣列的觀念

如何在輸入第一筆資料後,輸入資料的地方通通清空

輸入過的資料會被記憶住,之後按下button會顯示在memo

我的設計畫面在上傳的檔案中

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

AnsiString St_Name[10];
int St_No[10];
float St_Ch[10], St_En[10],St_Ma[10];
int Count;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Count= StrToInt(Edit1->Text);

St_Name[Count]=Edit2->Text;
St_No[Count]= StrToInt(Edit3->Text);
St_Ch[Count]= StrToFloat(Edit4->Text);
St_En[Count]= StrToFloat(Edit5->Text);
St_Ma[Count]= StrToFloat(Edit6->Text);

Count ;
Edit1->Text=Count;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Memo1->Lines->Add()
}
//---------------------------------------------------------------------------
附加檔案:494d12956ac88_test.jpg
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-25 23:49:20 IP:211.72.xxx.xxx 訂閱

===================引 用 needhelp 文 章===================
有五筆資料是自行輸入的,要如何讓他新增後記憶住?
之後還能修改、顯示在Memo上
Ans: 記錄於文件元件(例如您採用的 TMemo, 程式結束便消失),
記錄於文件檔 *.txt(程式結束後仍存在磁碟上),
記錄於資料檔-Prodox, Acess ...等(程式結束後仍存在磁碟上),
記錄於資料庫(Oracle, MS SQL Server, Sybase, MySQL ...等)的資料檔
(程式結束後仍存在資料庫內).

印象中似乎要用陣列的觀念
Ans: 用資料結構(Structure)較恰當, 陣列各元素只能用同一 Type.

如何在輸入第一筆資料後,輸入資料的地方通通清空
輸入過的資料會被記憶住,之後按下button會顯示在memo
Ans: 視您採用的元件而定. 填空白字串或執行其 Clear() Method,
若用 DBWare 則執行 Insert 或 Append 功能便清空.

要顯示於 TMemo 元件, 請看 Help 之 TMemo 說明.

以下就您的程式碼修正錯誤, 但不表示程式應如此寫. 記錄儲存方式不同, 程式寫法就不同.

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

AnsiString St_Name[10];
int St_No[10];
float St_Ch[10], St_En[10],St_Ma[10];
int Count;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Count= StrToInt(Edit1->Text);

St_Name[Count]=Edit2->Text;
St_No[Count]= StrToInt(Edit3->Text);
St_Ch[Count]= StrToFloat(Edit4->Text);
St_En[Count]= StrToFloat(Edit5->Text);
St_Ma[Count]= StrToFloat(Edit6->Text);

Count ; // Edit1 初值應填 "0", 且設 ReadOnly = true 不准由 User Key-In.
Edit1->Text=Count;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Memo1->Lines->Add("要填入之字串"); // 要補 ; 做結束, 詳細用法參見 Help
}
//---------------------------------------------------------------------------

補充: 其實就您的程式而言, 只要一個 TMemo 元件就夠了, 根本不需要一堆 Edit、Button、Array.
要從 TMemo 存到文字檔, 或從文字檔載入至 TMemo,
TMemo 本身就有 Method 可用.
AnsiString <-> Int, Float 間之轉換, 您也已會使用相關函式.
編輯記錄
herbert2 重新編輯於 2008-12-25 23:56:46, 註解 無‧
needhelp
一般會員


發表:1
回覆:1
積分:0
註冊:2008-12-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-26 11:57:07 IP:219.71.xxx.xxx 訂閱
我是要記錄於文件元件

只要在程式執行時,能將當時輸入的資料作處理就行

感謝您的回答,讓我知道接下去該怎麼寫了

非常謝謝!
系統時間:2024-05-20 11:56:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!