請問edit問題 |
答題得分者是:sos_admin
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
有一個Expense.ini
[expense]
a_money=600
b_money=1500
c_money=5000 Edit1.Text:=IniFile.readString('expense','a_money','');
Edit2.Text:=IniFile.readString('expense','b_money','');
Edit3.Text:=IniFile.readString('expense','c_money',''); 取出後如在edit show時 1,500 or 5,000
save時 1500 or 5000
使用edit可行嗎? 或有其它元件可行
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
|
kakene
一般會員 發表:22 回覆:52 積分:19 註冊:2003-01-07 發送簡訊給我 |
取出時用:
Edit1.Text := FormatFloat('#,###,###',StrToInt(lt_Load.Values['a_money']));
儲存時:
var txt1 : String; txt1:= edit1.text;
While pos(',',txt1)>1 do
begin
txt1 := copy(txt1,1,pos(',',txt1)-1)
copy(txt1,pos(',',txt1) 1,length(txt1));
end;
lt_Save.Add('a_money=' txt1); 土法煉鋼,參考一下... 發表人 - kakene 於 2003/07/31 15:06:01
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
写个函数改你:
TYPE
FMODE=(SET_TEXT,GET_TEXT); FUNCTION STR(STR:STRING;MODE:FMODE):STRING ;
VAR
I,STRLEN,STRLEN1,STRLEN2:INTEGER;
TMP,TMP1,INSTR:STRING;
BEGIN INSTR:=',';
TMP:=TRIM(STR);
STRLEN:=LENGTH(TMP); CASE MODE OF
SET_TEXT:BEGIN
STRLEN1:=Pos('.',TMP);
IF (STRLEN1>0) THEN
BEGIN
TMP1:=COPY(TMP,STRLEN1,STRLEN-STRLEN1+1);
TMP:=COPY(TMP,1,STRLEN1-1);
STRLEN:=LENGTH(TMP);
END; I:=2;
WHILE STRLEN>I DO
BEGIN
IF STRLEN<>(I+1) THEN Insert(INSTR,TMP,STRLEN-I);
I:=I+3;
END; END;
GET_TEXT:BEGIN
STRLEN2:=Pos(',',TMP);
WHILE STRLEN2>0 DO
BEGIN
Delete(TMP,STRLEN2,1);
STRLEN2:=Pos(',',TMP);
END;
END;
END;
RESULT:=TMP+TMP1;
END; //使用
procedure TForm1.Button1Click(Sender: TObject);
begin
//添加","
EDIT1.Text:=STR('1950000000.00000',SET_TEXT);
//去除","
EDIT1.Text:=STR('1,950,000,000.00000',GET_TEXT);
end; 见图
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
可以这个只有当这个控件失去焦点的时候做最好的!!!!
procedure TForm1.Edit4Exit(Sender: TObject);
begin
if Sender is tedit then
begin
(Sender as tedit).Text:=STR((Sender as tedit).Text ,get_TEXT);
(Sender as tedit).Text:=STR((Sender as tedit).Text ,set_TEXT);
end;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |