線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1667
推到 Plurk!
推到 Facebook!

關於Memo轉文字檔進資料庫的問題

尚未結案
sssp116
一般會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-25 11:34:10 IP:60.248.xxx.xxx 未訂閱
各位大大好,小弟現在有個文字檔想要轉進資料庫
文字檔基本規格如下:
物料代號: 8177614 型 號:
品名規格: ATC 供應型態: 1零件 經 銷 價: 320.0
單 位: 支 加工類別: 1採購 定 價: 320.0
工程圖號: 96/52 安全存量: 0.0 實際成本: 264.0
備 註: 1支6米成本 最高存量: 0.0 標準成本: 264.0

小弟現在已經可以轉進資料庫了,但是他變成一列就存一筆
資料庫的欄位就變成以下的圖片了,有沒有辦法就是說這五行資料存成一筆入資料庫這樣子
我的程式碼如下:

[code delphi]
procedure TForm1.Bit_t5Click(Sender: TObject);
var
TF10:TEXTFILE;
str,wd:STRING;
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
cds5['pqc_sum']:=copy(str,11,10);
cds5['pqc_model']:=copy(str,43,40);
end;
if copy(str,1,8)='品名規格' then
begin
cds5['pqc_st']:=copy(str,11,20);
cds5['pqc_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;
end;
closefile(TF10);
end;
[/code]

謝謝各位大大。
附加檔案:4c2423b227813_BUG.png
編輯記錄
sssp116 重新編輯於 2010-06-25 12:00:53, 註解 無‧
sssp116 重新編輯於 2010-06-29 08:54:58, 註解 無‧
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-06-25 20:28:05 IP:118.160.xxx.xxx 未訂閱
建議你使用TMemo的元件, 就如你標題所提的, 不要用readln方式來讀取, 
或者使用TStringList 也可以, 搜尋一下本站太多討論內容

TMemo提供了 savetofile 函式, 直接就可以存入 txt 檔案
編輯記錄
P.D. 重新編輯於 2010-06-25 20:28:53, 註解 無‧
sssp116
一般會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-06-29 08:42:31 IP:60.248.xxx.xxx 未訂閱
P.D. 版大您好,關於使用TMemo元件作存取的動作這部分我了解了~又學到一個可存入txt的方法了,就類似記事本的方式去寫
但是小弟現在所面臨的問題是存入資料庫以後會變成我圖片裡面的那樣子呢
跟資料txt的存取是沒有太大的關係,因為我是依原本txt裡面的格式一列一列的讀,一列一列的寫
就變成圖片那樣子了,是想說可否讓他讀取寫入之後不要留有空值這樣呢,小弟也還在嘗試中~
一有解決方法會馬上PO上來的,請各位大大也不吝賜教囉^^"

===================引 用 P.D. 文 章===================
建議你使用TMemo的元件, 就如你標題所提的, 不要用readln方式來讀取,
或者使用TStringList 也可以, 搜尋一下本站太多討論內容

TMemo提供了 savetofile 函式, 直接就可以存入 txt 檔案
編輯記錄
sssp116 重新編輯於 2010-06-29 08:54:41, 註解 無‧
sssp116 重新編輯於 2010-06-29 08:57:18, 註解 無‧
sssp116 重新編輯於 2010-06-29 10:26:11, 註解 無‧
系統時間:2017-10-19 9:52:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!