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

請問如何從一個 Unicode 的 txt 檔,把資料匯入資料庫, 我用delphi5

 
joana
一般會員


發表:35
回覆:70
積分:21
註冊:2005-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-09-18 22:56:58 IP:61.230.xxx.xxx 訂閱

txt file 如下

A001#当大多数80后还处于懵懂和幻想阶段的时候#112臺北市公館路60號5樓#02-23241156#北區
A002#緯士資訊公司#806高雄市大安路一段22號#07-7644321#南區
A003#電通科技公司#100新竹市中山北路二段115號11樓之#302-23445731#北區

程式碼如下

procedure TForm1.BitBtn6Click(Sender: TObject);

var F : textFile ;
str : string;

begin

AssignFile(F,datafile);
Reset(F);

while not EOF(F) do begin

Readln(F,str);

.

.

end;

當程式執行到 Readln(F,str)時, str變數 叫出來看資料就不對, 請問該怎麼做, 教教我吧!

不勝感激

ckwong2002
一般會員


發表:6
回覆:11
積分:3
註冊:2006-07-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-09-19 02:35:20 IP:219.79.xxx.xxx 未訂閱
請問用什麼資料庫, 我試過匯入mysql 5.0 沒有問題
joana
一般會員


發表:35
回覆:70
積分:21
註冊:2005-09-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-09-19 16:41:49 IP:61.230.xxx.xxx 訂閱

我用的是DBMaker 類似MS SQL , 你是用一個byte一個byte抓的嗎?

程式執行到 reset(f,str)這一行 ,str變數不會變亂碼嗎?

joana
一般會員


發表:35
回覆:70
積分:21
註冊:2005-09-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-09-19 20:50:18 IP:61.230.xxx.xxx 訂閱

我用的是DBMaker,沒聽過吧, 是台灣的產品,類似 MS SQL, DELPHI 是不支援 Unicode , 你是如何讀Unicode txt 檔?

請幫我試試以下之程式 .程式執行完後, stringGrid的資料已是亂碼

不好意思,麻煩了.

txt file(編碼是Unicode)

A001#当大多数80后还处于懵懂和幻想阶段的时候#112臺北市公館路60號5樓#02-23241156#北區
A002#幻想阶段的时候#806高雄市大安路一段22號#07-7644321#南區
A003#当大多数80后还处于#100新竹市中山北路二段115號11樓之#302-23445731#北區

Const datafile : String = 'customer3.txt';

procedure TForm1.BitBtn6Click(Sender: TObject);
var
i, count : Integer;
F : textFile ;
str : string;
ans : array[1..5] of string;
row : Integer;
begin
StringGrid1.RowCount := 2;
StringGrid1.Cells[0,0] := '編號';
StringGrid1.ColWidths[0] := 50;
StringGrid1.Cells[1,0] := '公司名稱';
StringGrid1.ColWidths[1] := 100;
StringGrid1.Cells[2,0] := '地址';
StringGrid1.ColWidths[2] := 250;
StringGrid1.Cells[3,0] := '電話';
StringGrid1.ColWidths[3] := 100;
StringGrid1.Cells[4,0] := '地區';
StringGrid1.ColWidths[0] := 40;
//
if FileExists(datafile) then
begin
AssignFile(F,datafile);
Reset(F);
row := 1;
try
while not EOF(F) do
begin
Readln(F,str);

count := 1;
for i := 1 to 5 do ans[i] := '';
for i := 1 to length(str) do
if str[i] <> '#' then
ans[count] := ans[count] str[i]
else
count := count 1 ;
StringGrid1.Cells[0,row] := ans[1];
StringGrid1.Cells[1,row] := ans[2];
StringGrid1.Cells[2,row] := ans[3];
StringGrid1.Cells[3,row] := ans[4];
StringGrid1.Cells[4,row] := ans[5];
Inc(row);
StringGrid1.RowCount := row;
end;
finally
CloseFile(F);
end;
end;
end;

sssp116
一般會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-04-28 11:17:26 IP:60.248.xxx.xxx 訂閱
請問一下以上程式碼要是改成BCB的格式要怎麼修改

看是看得懂,最近想學BCB來做做看!但是有些語法不相同不能用

像是AssignFile 等等的,可以請哪位大大翻成BCB 語法嗎?!感謝~
系統時間:2024-04-24 6:52:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!