如何讓輸入的資料記憶,並能做修改、顯示? |
答題得分者是:herbert2
|
needhelp
一般會員 發表:1 回覆:1 積分:0 註冊:2008-12-20 發送簡訊給我 |
初學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() } //--------------------------------------------------------------------------- |
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
===================引 用 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |