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

誰可以幫忙把Delphy 翻成BCB的語法

尚未結案
zoezoe
一般會員


發表:10
回覆:25
積分:12
註冊:2009-04-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-28 14:58:02 IP:60.248.xxx.xxx 訂閱
小弟剛開始從Delphy 轉BCB ,這程式是我之前寫的,請懂Delphy 也熟悉BCB 的老師們幫我把以下程式轉成BCB的格式

[code delphi]
procedure TForm1.bit_tClick(Sender: TObject);
var
TF:TEXTFILE;
STR,tmp_cno,tmp_wd,tmp_file:STRING;
a:integer;
begin
tmp_file:=FileListBox1.FileName;
tmp_file:=ExtractFileExt(tmp_file);
if (ExtractFileExt(TMP_FILE) <> '.TXT') then
begin
showmessage('所選擇的檔案不是TXT文字檔');
bit_c.Click;
abort;
end;
bit_t.Enabled:=false;
bit_s.Enabled:=true;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from reqinvm where rvm_cno=:rvm_cno');
adoquery1.Parameters.ParamByName('rvm_cno').Value:='zzzz';
adoquery1.ExecSQL;
adoquery1.Open;
cds1.Open;
memo1.Lines.Clear;
assignFile(TF,FileListBox1. FileName);
reset(TF);
while not eof(TF) do
begin
cds1.Append;
cds1.Edit;
readln(TF,str);
if trim(str) <> '' then
begin
a:=0;
Memo1.Lines.Add(str);
if copy(str,1,8)='廠商代號' then tmp_cno:=copy(str,11,4)
else
begin
cds1['rvm_cno']:=tmp_cno;
cds1['rvm_day']:=copy(str,1,8);
cds1['rvm_po']:=copy(str,10,8);
cds1['rvm_ino']:=copy(str,22,10);
cds1['rvm_inm']:=copy(str,33,20);
cds1['rvm_unit']:=trim(copy(str,54,4));
tmp_wd:=copy(str,59,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_tqty']:=strtofloat(trim(tmp_wd));
tmp_wd:=copy(str,68,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_iqty']:=strtofloat(trim(tmp_wd));
tmp_wd:=copy(str,77,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_mqty']:=strtofloat(trim(tmp_wd));
end;
end;
end;
closefile(TF);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery1.Close;
cds1.Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Lines.Clear;
bit_s.Enabled:=false;
end;
procedure TForm1.bit_sClick(Sender: TObject);
begin
if messagedlg('您確定要存檔嗎?',mtinformation,[mbyes,mbno],0)=mryes then
cds1.ApplyUpdates(-1);
bit_c.Click;
end;
procedure TForm1.bit_cClick(Sender: TObject);
begin
adoquery1.Close;
cds1.Close;
dbgrid1.Refresh;
bit_s.Enabled:=false;
bit_t.Enabled:=true;
memo1.Lines.Clear;
end;
end.
[/code]
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-28 15:03:31 IP:118.169.xxx.xxx 訂閱
先嘗試自己轉看看吧,有問題的地方在PO出來讓前輩們幫您看看問題再哪

Delphi? Delphy? 傻傻分不清楚?
zoezoe
一般會員


發表:10
回覆:25
積分:12
註冊:2009-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-04-28 15:09:57 IP:60.248.xxx.xxx 訂閱
哈哈~真是抱歉,真的打錯了XD
嗯嗯~我已經在試著轉了,因為才剛學第三天~"~
只看得懂一些基本語法~就剩下Bit_click觸發的事件了
就剩下這一些,因為有些語法BCB跟Delphi 不同
以下程式碼給您看看~謝謝指導^^

[code delphi]
procedure TForm1.bit_tClick(Sender: TObject);
var
TF:TEXTFILE;
STR,tmp_cno,tmp_wd,tmp_file:STRING;
a:integer;
begin
tmp_file:=FileListBox1.FileName;
tmp_file:=ExtractFileExt(tmp_file);
if (ExtractFileExt(TMP_FILE) <> '.TXT') then
begin
showmessage('所選擇的檔案不是TXT文字檔');
bit_c.Click;
abort;
end;
bit_t.Enabled:=false;
bit_s.Enabled:=true;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from reqinvm where rvm_cno=:rvm_cno');
adoquery1.Parameters.ParamByName('rvm_cno').Value:='zzzz';
adoquery1.ExecSQL;
adoquery1.Open;
cds1.Open;
memo1.Lines.Clear;
assignFile(TF,FileListBox1. FileName);
reset(TF);
while not eof(TF) do
begin
cds1.Append;
cds1.Edit;
readln(TF,str);
if trim(str) <> '' then
begin
a:=0;
Memo1.Lines.Add(str);
if copy(str,1,8)='廠商代號' then tmp_cno:=copy(str,11,4)
else
begin
cds1['rvm_cno']:=tmp_cno;
cds1['rvm_day']:=copy(str,1,8);
cds1['rvm_po']:=copy(str,10,8);
cds1['rvm_ino']:=copy(str,22,10);
cds1['rvm_inm']:=copy(str,33,20);
cds1['rvm_unit']:=trim(copy(str,54,4));
tmp_wd:=copy(str,59,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_tqty']:=strtofloat(trim(tmp_wd));
tmp_wd:=copy(str,68,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_iqty']:=strtofloat(trim(tmp_wd));
tmp_wd:=copy(str,77,8);
if copy(tmp_wd,3,1)=',' then
begin
tmp_wd:=copy(tmp_wd,1,2) copy(tmp_wd,4,5);
end;
cds1['rvm_mqty']:=strtofloat(trim(tmp_wd));
end;
end;
end;
closefile(TF);
end;
[/code]

===================引 用 taishyang 文 章===================
先嘗試自己轉看看吧,有問題的地方在PO出來讓前輩們幫您看看問題再哪

Delphi? Delphy? 傻傻分不清楚?
zoezoe
一般會員


發表:10
回覆:25
積分:12
註冊:2009-04-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-04-28 15:12:02 IP:60.248.xxx.xxx 訂閱
像類似AssignFile ,  Reset  裡面等等的一些都跟C++的不一樣呢

我訂的兩本書還要一天才到ˊˋ
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-04-28 15:20:45 IP:118.169.xxx.xxx 訂閱
你提到的這兩個function應該是自訂的function

===================引 用 zoezoe 文 章===================
像類似AssignFile , Reset 裡面等等的一些都跟C 的不一樣呢

我訂的兩本書還要一天才到ˊˋ
zoezoe
一般會員


發表:10
回覆:25
積分:12
註冊:2009-04-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-04-28 15:27:16 IP:60.248.xxx.xxx 訂閱
因為在Delphi是可以直接下的,C++的話好像就要自訂了沒錯!因為不能直接下語法

沒有書在身邊真的有夠難搞的= ="

就剩下中間那邊轉檔入Table 的語法了!~我的天啊
===================引 用 taishyang 文 章===================
你提到的這兩個function應該是自訂的function

===================引 用 zoezoe 文 章===================
像類似AssignFile , Reset 裡面等等的一些都跟C 的不一樣呢

我訂的兩本書還要一天才到ˊˋ
zoezoe
一般會員


發表:10
回覆:25
積分:12
註冊:2009-04-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-04-29 06:34:03 IP:118.232.xxx.xxx 訂閱
剩下這些可否請前輩們賜教了~因為主要還是While not 那一段迴圈
C 好像也沒有readln,後面複製字串寫入每個Table好像也不一樣~拜託各位大大了
編輯記錄
zoezoe 重新編輯於 2009-04-29 06:35:57, 註解 無‧
zoezoe 重新編輯於 2009-04-29 06:38:57, 註解 無‧
zoezoe 重新編輯於 2009-04-29 06:39:38, 註解 無‧
zoezoe 重新編輯於 2009-04-29 06:40:20, 註解 無‧
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-07-11 03:34:46 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

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