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

讀取 TXT檔案 將數直在擺到2個Edit中

尚未結案
zxcvb8057
一般會員


發表:6
回覆:3
積分:1
註冊:2011-09-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-03-26 23:01:33 IP:114.36.xxx.xxx 訂閱
請各位高手 
我有一個 TXT 檔 裡面 如下
X0.01 Z-0.00005
X0.02 Z-0.00020
X0.03 Z-0.00045
X0.04 Z-0.00080
X0.05 Z-0.00125
X0.06 Z-0.00180
X0.07 Z-0.00245
X0.08 Z-0.00320
X0.09 Z-0.00405
X0.1 Z-0.00500
請問我要怎作才可以
將 X跟Z數值分別 擺到 不同 Edit中
一個擺x的數值 一個擺y數值

謝謝
老大仔
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-03-27 08:46:38 IP:59.120.xxx.xxx 未訂閱
只需要用到 POS、COPY
元件頂多就用個 TMemo 或 TStringList 應該就可以達成了吧...
===================引 用 zxcvb8057 文 章===================
請各位高手
我有一個 TXT 檔 裡面 如下
X0.01 Z-0.00005
X0.02 Z-0.00020
X0.03 Z-0.00045
X0.04 Z-0.00080
X0.05 Z-0.00125
X0.06 Z-0.00180
X0.07 Z-0.00245
X0.08 Z-0.00320
X0.09 Z-0.00405
X0.1 Z-0.00500
請問我要怎作才可以
將 X跟Z數值分別 擺到 不同 Edit中
一個擺x的數值 一個擺y數值

謝謝
zxcvb8057
一般會員


發表:6
回覆:3
積分:1
註冊:2011-09-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-03-27 20:19:49 IP:111.248.xxx.xxx 訂閱
恩 我會叫出 擺放到 ListBox1中 但是就不知道 怎使用 讓他 到 EDIT中
老大仔
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-03-28 10:05:51 IP:59.120.xxx.xxx 未訂閱
請翻書、爬文
Pos和Copy已算是很基本的東西了...

===================引 用 zxcvb8057 文 章===================
恩 我會叫出 擺放到 ListBox1中 但是就不知道 怎使用 讓他 到 EDIT中
zxcvb8057
一般會員


發表:6
回覆:3
積分:1
註冊:2011-09-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-03-28 13:51:34 IP:163.21.xxx.xxx 訂閱
我是使用這方式 可以達到我想要的 謝謝了
float a;
String S =Edit1->Text;
Edit7->Text = S.SubString(2,5);
Edit8->Text = S.SubString(9,18);

請問一下 如果 TXT檔案 要排列 是要存檔就先排整齊嗎?
因為使用我這方式呼叫檔案 如果沒有都對齊 就會呼叫錯誤
例如 這地方就會出現 bug

X0.97 Z-0.0047045
X0.98 Z-0.0048020
X0.99 Z-0.0049005 換下一行會出現錯誤
X1 Z-0.0050000
X1.01 Z-0.0051005
編輯記錄
zxcvb8057 重新編輯於 2012-03-27 23:52:18, 註解 無‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-03-31 00:53:47 IP:123.193.xxx.xxx 未訂閱

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
L,M: TStringList;
begin
if not FileExists('D:\TEST.TXT') then EXIT;
M := TStringList.Create;
L := TStringList.Create;
try
M.Delimiter := #$20;
L.LoadFromFile('D:\TEST.TXT');
for I := 0 to L.Count-1 do
begin
M.DelimitedText := L[I];
if M.Count=2 then
begin
ListBox1.Items.Add(Copy(M[0],2,Length(M[0])));
ListBox2.Items.Add(Copy(M[1],3,Length(M[1])));
end;
end;
finally
FreeAndNil(L);
FreeAndNil(M);
end;
end;
[/code]

^_^
編輯記錄
jow 重新編輯於 2012-03-30 10:55:22, 註解 無‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-03-31 01:14:14 IP:123.193.xxx.xxx 未訂閱

[code cpp]
//手邊沒有BCB,手寫程式,僅供參考
if (!FileExists("D:\\TEST.TXT") return;
TStringList *M = new TStringList();
TStringList *L = new TStringList();
try{
M->Delimiter := (Char)0x20;
L->LoadFromFile("D:\\TEST.TXT");
for(int i=0; iCount; i ){
M->DelimitedText := L[I];
if(M->Count==2){
ListBox1.Items.Add(M[0].SubString(2,M[0].Length));
ListBox2.Items.Add(M[1].SubString(3,M[1].Length));
}
}
finally{
delete L;
delete M;
}
[/code]
系統時間:2024-04-27 10:20:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!