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

用Button

尚未結案
cokoadsl
一般會員


發表:1
回覆:1
積分:0
註冊:2012-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-03-30 18:08:30 IP:125.226.xxx.xxx 訂閱
C Builder,用Button做上一筆和下一筆
編輯記錄
cokoadsl 重新編輯於 2012-04-08 09:53:17, 註解 無‧
cokoadsl 重新編輯於 2012-04-08 10:03:54, 註解 無‧
s92405054
高階會員


發表:7
回覆:49
積分:101
註冊:2009-04-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-04-03 09:12:26 IP:60.248.xxx.xxx 訂閱
上、下一筆可透過另一個全域變數來當作目前所在的index,
上一筆就減一,下一筆就加一最多不能加超過你目前的Cur_Num,
至於刪除就直接把當前index上的結構初始化,並將所有資料搬移,
Cur_Num-- 就好了,修改就利用Std[index]來修改就好囉~
建議~利用指標來指向結構陣列比較好一點(個人建議並非絕對^^")
===================引 用 cokoadsl 文 章===================
想寫一個能輸入成績資料
功能有新增(最多10筆)、顯示、修改、刪除(最少0筆)、調閱資料上一筆和下一筆
目前新增和顯示寫出來了,都正確喔!
各位大大幫個忙= =''研究好久了!
感激不盡^^~

以下是我寫的程式碼
-------------------------------------------------------------------------
Std=Student (簡略)
標頭檔的部份
#define MAX_STD_NUM 10
struct STUDENT_INFO {
int No;
String Name, Adr, Memo;
float Chi, Eng, Math; };
public區的部份
void Initial(); //變數初始
void ShowData(); //顯示資料
void AddData(); //新增資料
void ModifyData();//修改資料
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Initial(); //將變數初始
}
//---------------------------------------------------------------------------
void TForm1::Initial()
{
Cur_Num=0;
for(int i=0;i
{
Std[i].No=i 1;
Std[i].Name="無名氏";
Std[i].Chi=0;
Std[i].Eng=0;
Std[i].Math=0;
Std[i].Adr="新北市";
Std[i].Memo="無";
}
}
//-------------------------------------------------------------
void TForm1::ShowData()
{
for(int i=0;i< Cur_Num;i )
{
Memo1->Lines->Add("學號:" IntToStr(Std[i].No));
Memo1->Lines->Add("姓名:" Std[i].Name);
Memo1->Lines->Add("國文:" FloatToStr(Std[i].Chi));
Memo1->Lines->Add("英文:" FloatToStr(Std[i].Eng));
Memo1->Lines->Add("數學:" FloatToStr(Std[i].Math));
Memo1->Lines->Add("住址:" Std[i].Adr);
Memo1->Lines->Add("備註:" Std[i].Memo);
Memo1->Lines->Add("====================");
}
}
//--------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
ShowData();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AddData();
}
//---------------------------------------------------------------------------
void TForm1::AddData()
{
if ((Cur_Num 1)>=MAX_STD_NUM )
{
ShowMessage("超過最大資料筆數");
return;
}
Std[Cur_Num].Name=Edit2->Text;
Std[Cur_Num].Adr=Edit6->Text;
Std[Cur_Num].Memo=Edit7->Text;
Std[Cur_Num].Chi=StrToFloat(Edit3->Text);
Std[Cur_Num].Eng=StrToFloat(Edit4->Text);
Std[Cur_Num].Math=StrToFloat(Edit5->Text);
Cur_Num ;
}
//-----------------------------------------------------------
目前就修改和刪除以及上一筆和下一筆卡關了~"~
cokoadsl
一般會員


發表:1
回覆:1
積分:0
註冊:2012-03-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-04-04 23:28:26 IP:125.226.xxx.xxx 訂閱
這位大哥,真的很謝謝您!

我發了好多論壇~"~只有你肯指點一下,謝謝感恩。
===================引 用 s92405054 文 章===================
上、下一筆可透過另一個全域變數來當作目前所在的index,
上一筆就減一,下一筆就加一最多不能加超過你目前的Cur_Num,
至於刪除就直接把當前index上的結構初始化,並將所有資料搬移,
Cur_Num-- 就好了,修改就利用Std[index]來修改就好囉~
建議~利用指標來指向結構陣列比較好一點(個人建議並非絕對^^")
===================引 用 cokoadsl 文 章===================
想寫一個能輸入成績資料
功能有新增(最多10筆)、顯示、修改、刪除(最少0筆)、調閱資料上一筆和下一筆
目前新增和顯示寫出來了,都正確喔!
各位大大幫個忙= =''研究好久了!
感激不盡^^~

以下是我寫的程式碼
-------------------------------------------------------------------------
Std=Student (簡略)
標頭檔的部份
#define MAX_STD_NUM 10
struct STUDENT_INFO {
int No;
String Name, Adr, Memo;
float Chi, Eng, Math; };
public區的部份
void Initial(); //變數初始
void ShowData(); //顯示資料
void AddData(); //新增資料
void ModifyData();//修改資料
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Initial(); //將變數初始
}
//---------------------------------------------------------------------------
void TForm1::Initial()
{
Cur_Num=0;
for(int i=0;i
{
Std[i].No=i 1;
Std[i].Name="無名氏";
Std[i].Chi=0;
Std[i].Eng=0;
Std[i].Math=0;
Std[i].Adr="新北市";
Std[i].Memo="無";
}
}
//-------------------------------------------------------------
void TForm1::ShowData()
{
for(int i=0;i< Cur_Num;i )
{
Memo1->Lines->Add("學號:" IntToStr(Std[i].No));
Memo1->Lines->Add("姓名:" Std[i].Name);
Memo1->Lines->Add("國文:" FloatToStr(Std[i].Chi));
Memo1->Lines->Add("英文:" FloatToStr(Std[i].Eng));
Memo1->Lines->Add("數學:" FloatToStr(Std[i].Math));
Memo1->Lines->Add("住址:" Std[i].Adr);
Memo1->Lines->Add("備註:" Std[i].Memo);
Memo1->Lines->Add("====================");
}
}
//--------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
ShowData();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AddData();
}
//---------------------------------------------------------------------------
void TForm1::AddData()
{
if ((Cur_Num 1)>=MAX_STD_NUM )
{
ShowMessage("超過最大資料筆數");
return;
}
Std[Cur_Num].Name=Edit2->Text;
Std[Cur_Num].Adr=Edit6->Text;
Std[Cur_Num].Memo=Edit7->Text;
Std[Cur_Num].Chi=StrToFloat(Edit3->Text);
Std[Cur_Num].Eng=StrToFloat(Edit4->Text);
Std[Cur_Num].Math=StrToFloat(Edit5->Text);
Cur_Num ;
}
//-----------------------------------------------------------
目前就修改和刪除以及上一筆和下一筆卡關了~"~
系統時間:2017-12-13 7:21:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!