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

關於迴圈問題

答題得分者是:老大仔
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-07-05 10:21:12 IP:60.248.xxx.xxx 訂閱
各位大大好,小弟目前有分文字檔資料想轉進Excel及資料庫
他有一個規則如下:
===============================
編號:123 名稱:456 使用者:789
單位:321 價格:654 經銷價:987
庫存:231 圖表:564 達成率:897
===============================
他就是每三行所有資料這樣子,總資料大概有不下上千筆
想請問的是如果判斷讓他進入迴圈每三行三行的擷取資料並放入資料庫的欄位中呢?!
因為我的欄位就是一行而已,希望他變成下面這樣
===========================================
編號 名稱 使用者 單位 價格 經銷價 庫存 圖表 達成率
123 456 789 321 654 987 231 564 897
===========================================
編輯記錄
sssp116 重新編輯於 2010-07-05 11:25:13, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-07-05 13:30:46 IP:59.120.xxx.xxx 未訂閱
可以在先載入TMemo
然後在每行讀取時
再判斷該行是不是可以被三整除
假如可以的話
就代表往下一筆資料是第二筆資料~

===================引 用 sssp116 文 章===================
各位大大好,小弟目前有分文字檔資料想轉進Excel及資料庫
他有一個規則如下:
===============================
編號:123 名稱:456 使用者:789
單位:321 價格:654 經銷價:987
庫存:231 圖表:564 達成率:897
===============================
他就是每三行所有資料這樣子,總資料大概有不下上千筆
想請問的是如果判斷讓他進入迴圈每三行三行的擷取資料並放入資料庫的欄位中呢?!
因為我的欄位就是一行而已,希望他變成下面這樣
===========================================
編號? 名稱? 使用者? 單位? 價格? 經銷價? 庫存? 圖表? 達成率
123?? 456?? 789 ?? 321?? 654?? 987 ?? 231?? 564?? 897
===========================================
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-07-05 16:21:52 IP:60.248.xxx.xxx 訂閱
不好意思小弟愚昧,以下是我真實的程式碼
真正的資料應該是五行為一筆才對
我的判斷式應該是要寫在一開始if copy(str,1,8,):='物料代號'; 之後這邊吧?!
[code delphi]
procedure TForm1.Bit_t5Click(Sender: TObject);
var
TF10:TEXTFILE;
str,sum,model,st,shape,wd:STRING;
i,j:integer;
begin
bit_t5.Enabled:=false;
bit_s5.Enabled:=true;
s2.Enabled:= true;
adoquery5.Open;
cds5.Open;
memo5.Lines.Clear;
assignFile(TF10,'C:\TF9.txt');
reset(TF10);
while not eof(TF10) do
begin
cds5.Append;
cds5.Edit;
readln(TF10,str);
if trim(str) <> '' then
begin
Memo5.Lines.Add(str);
if copy(str,1,8)='物料代號' then
begin
sum:=copy(str,11,10);
model:=copy(str,43,40);
end;
if copy(str,1,8)='品名規格' then
begin
st:=copy(str,11,20);
shape:=copy(str,43,5);
wd:=copy(str,68,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_sell']:=strtofloat(trim(wd));
end;
if copy(str,1,8)='單 位' then
begin
cds5['pqc_unit']:=copy(str,11,4);
cds5['pqc_cate']:=copy(str,43,5);
wd:=copy(str,68,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_pri']:=strtofloat(trim(wd));
end;
if copy(str,1,8)='工程圖號' then
begin
cds5['pqc_pnm']:=copy(str,11,4);
wd:=copy(str,43,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_safe']:=strtofloat(trim(wd));
wd:=copy(str,68,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_fact']:=strtofloat(trim(wd));
end;
if copy(str,1,8)='備 註' then
begin
cds5['pqc_rem']:=copy(str,11,20);
wd:=copy(str,43,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_high']:=strtofloat(trim(wd));
wd:=copy(str,68,9);
if copy(wd,4,1)=',' then
begin
wd:=copy(wd,1,3) copy(wd,5,5);
end;
cds5['pqc_nat']:=strtofloat(trim(wd));
end;
end;
cds5['pqc_sum']:=sum;
cds5['pqc_model']:=model;
cds5['pqc_st']:=st;
cds5['pqc_shape']:=shape;
end;
closefile(TF10);
end;請在此區域輸入程式碼

[/code]

===================引 用 老大仔 文 章===================
可以在先載入TMemo
然後在每行讀取時
再判斷該行是不是可以被三整除
假如可以的話
就代表往下一筆資料是第二筆資料~

===================引 用 sssp116 文 章===================
各位大大好,小弟目前有分文字檔資料想轉進Excel及資料庫
他有一個規則如下:
===============================
編號:123 名稱:456 使用者:789
單位:321 價格:654 經銷價:987
庫存:231 圖表:564 達成率:897
===============================
他就是每三行所有資料這樣子,總資料大概有不下上千筆
想請問的是如果判斷讓他進入迴圈每三行三行的擷取資料並放入資料庫的欄位中呢?!
因為我的欄位就是一行而已,希望他變成下面這樣
===========================================
編號? 名稱? 使用者? 單位? 價格? 經銷價? 庫存? 圖表? 達成率
123?? 456?? 789 ?? 321?? 654?? 987 ?? 231?? 564?? 897
===========================================
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-07-06 10:20:03 IP:60.248.xxx.xxx 訂閱
不好意思小弟利用您的做法,雖然已經可以把所有資料都放進各個欄位中了
可是卻變成一筆資料變成五筆輸入呢?!怎麼會這樣呢~><
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-07-06 13:14:38 IP:60.248.xxx.xxx 訂閱
不好意思小弟試出來了,這裡貼上程式碼給大家參考一下囉
也非常感謝您不吝賜教。

[code delphi]
procedure TForm1.Bit_t5Click(Sender: TObject);
var
TF10:TEXTFILE;
str,sum,model,st,shape,unin,cate,pnm,rem:STRING;
s,q,w,e,r,t:STRING;
i:integer;
begin
i:=0;
bit_t5.Enabled:=false;
bit_s5.Enabled:=true;
s2.Enabled:= true;
adoquery5.Open;
cds5.Open;
memo5.Lines.Clear;
assignFile(TF10,'C:\TF9.txt');
reset(TF10);
while not eof(TF10) do
begin
i:=i 1;
cds5.Append;
cds5.Edit;
readln(TF10,str);
if trim(str) <> '' then
begin
Memo5.Lines.Add(str);
if copy(str,1,8)='物料代號' then
begin
sum:=copy(str,11,10);
model:=copy(str,43,40);
end;
if copy(str,1,8)='品名規格' then
begin
st:=copy(str,11,20);
shape:=copy(str,43,5);
s:=copy(str,68,9);
if copy(s,4,1)=',' then
begin
s:=copy(s,1,3) copy(s,5,5);
end;
end;
if copy(str,1,8)='單 位' then
begin
unin:=copy(str,11,4);
cate:=copy(str,43,5);
q:=copy(str,68,9);
if copy(q,4,1)=',' then
begin
q:=copy(q,1,3) copy(q,5,5);
end;
end;
if copy(str,1,8)='工程圖號' then
begin
pnm:=copy(str,11,20);
w:=copy(str,43,9);
if copy(w,4,1)=',' then
begin
w:=copy(w,1,3) copy(w,5,5);
end;
e:=copy(str,68,9);
if copy(e,4,1)=',' then
begin
e:=copy(e,1,3) copy(e,5,5);
end;
end;
if copy(str,1,8)='備 註' then
begin
rem:=copy(str,11,20);
r:=copy(str,43,9);
if copy(r,4,1)=',' then
begin
r:=copy(r,1,3) copy(r,5,5);
end;
t:=copy(str,68,9);
if copy(t,4,1)=',' then
begin
t:=copy(t,1,3) copy(t,5,5);
end;
end;
end;
if i=5 then
begin
cds5['pqc_sum']:=sum;
cds5['pqc_model']:=model;
cds5['pqc_st']:=st;
cds5['pqc_shape']:=shape;
cds5['pqc_unit']:=unin;
cds5['pqc_cate']:=cate;
cds5['pqc_pnm']:=trim(pnm);
cds5['pqc_rem']:=rem;
cds5['pqc_sell']:=strtofloat(trim(s));
cds5['pqc_pri']:=strtofloat(trim(q));
cds5['pqc_safe']:=strtofloat(trim(w));
cds5['pqc_fact']:=strtofloat(trim(e));
cds5['pqc_high']:=strtofloat(trim(r));
cds5['pqc_nat']:=strtofloat(trim(t));
i:=0;
end;
end;
closefile(TF10);
end;

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