Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

Из .txt в .db или представление базы ввиде TXT   Найти похожие ветки 

 
Ahmad K   (2003-01-05 03:10) [0]

Уважаемые Мастера!
Не хочу быть назойливым и, наверное, вопрос избитый и вполне достоей автора(т.е. чайника).
Хотелось бы узнать каким убразом считывать текст из текстешника и заносить его в таблицу, например текст:
Иванов*Иван*Иванович*20.01.1967г.
Надо данный текст представить ввиде таблицы и разложить слова по колонкам, чтобы в колонке "Фамилия" было: Иванов и т.д.
Заранее спасибо!


 
Наталия ©   (2003-01-05 06:03) [1]

считывать - readln
разбивать на части - pos,delete,copy
записать в таблицу -
table1.append
table1.fieldbyname("fam").asstring:=...;
table1.post;


 
Alek Aaz ©   (2003-01-05 06:10) [2]

Что ж ты вообще то умеешь?

AssignFile(textf,"название_твоего_файла.txt");
Repeat
readln(textf,s);
Fam:=Copy(s,1,pos("*",s)-1);
Delete(s,1,pos("*",s));
Name2:=...
Name3:=... {анналогично}
Data:=s;
Fields[1].asString:=Fam;
Fields[2].asString:=Name1;
Fields[3].asString:=Name2;
Fields[4].asString:=Data;
Append;
Until eof(textf);


За точность не ручаюсь. Но смысл понятен?


 
sniknik ©   (2003-01-05 08:18) [3]

Лутше привести текст к формату *.csv (разделитель запятые/точка с запятой)
"Иванов";"Иван";"Иванович";20.01.1967
и читать/писать стандартными средствами (выбрать),
например через ADO + Jet. запись/чтение выльется в простой запрос.
Если текст не "стандартизируется" см. up.


 
VAleksey ©   (2003-01-05 08:56) [4]

Если я не ошибаюсь, то BDE (и соответственно TTable) могут читать таблицу из структурированного текстового файла.


 
Gennadye   (2003-01-05 10:19) [5]

Можно так:
var
F: TextFile;
StateName: String[20];
CapitalName: String[20];
begin
tblCapitals.Open;
// Assign the file to the columnar text file.
AssignFile(F, "USCAPS.TXT");
// Open the file for read access.
Reset(F);
try
while not Eof(F) do
begin
{ Read a line of the file into the two strings each of whose length
matches the number of characters that make up the column. }
Readln(F, StateName, CapitalName);
// Now store both strings into separate columns in a Paradox table
tblCapitals.Insert;
tblCapitals["State_Name"] := StateName;
tblCapitals["State_Capital"] := CapitalName;
tblCapitals.Post;
end;
finally
CloseFile(F); // Close the file when finished.
end;
end;


 
kolesya ©   (2003-01-05 13:08) [6]

А рабочий пример с TTable для упорядоченого текстового файла кто-то может бросить? Сам сейчас копаю перегон из ТХТ в БД, но путь нашёл только один:
1. Разбиваешь строку на "поля"
2. Записываешь в БД
Может я чегото не допонял с TTable


 
Ahmad K   (2003-01-06 05:21) [7]


>var textf: TextFile;
>fam, s, name1, name2, data: String;
>begin
>AssignFile(textf,"название_твоего_файла.txt");
> Repeat
> readln(textf,s);
> Fam:=Copy(s,1,pos("*",s)-1);
> Delete(s,1,pos("*",s));
> Name2:=Copy(s,1,pos("*",s)-1);
> Delete(s,1,pos("*",s));
> Name3:=Copy(s,1,pos("*",s)-1);
> Delete(s,1,pos("*",s)); {анналогично}
> Data:=s;
> Fields[1].asString:=Fam;
> Fields[2].asString:=Name1;
> Fields[3].asString:=Name2;
> Fields[4].asString:=Data;
> Append(textf);
> Until eof(textf);

На такое мне выдают Ошибку: "Error: I/O error 104"
Как от нее избавиться, и что это вообще такое.


 
Big_Rom ©   (2003-01-06 05:41) [8]

>AssignFile(textf,"название_твоего_файла.txt");
Reset(textf);
дальше все также


 
Kair   (2003-01-06 06:07) [9]

procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var textf: TextFile;
fam,s,name1,name2,name3,data: String;
begin
AssignFile(textf,"название_твоего_файла.txt");
reset(textf);
repeat
readln(textf,s);
Fam:=Copy(s,1,pos("*",s)-1);
Delete(s,1,pos("*",s));
Name2:=Copy(s,1,pos("*",s)-1);
Delete(s,1,pos("*",s));
Name3:=Copy(s,1,pos("*",s)-1);
Delete(s,1,pos("*",s));
Data:=s;
StringGrid1.Cells[1,i]:=Fam;
StringGrid1.Cells[2,i]:=Name2;
StringGrid1.Cells[3,i]:=Name3;
StringGrid1.Cells[4,i]:=Data;
i:=i+1;
until EOF(textf)
end;

{ Перед циклом написать reset(textf);
Убрать Append(textf);
И небудет "Error: I/O error 104"}


 
Карелин Артем ©   (2003-01-06 12:23) [10]

В комплекте с дельфиной есть TextDataSet. Лежит в виде компонента в примерах. Требует установки.


 
Сергєєв Володимир ©   (2003-01-06 18:16) [11]

А на фиг тебе экспорт из текстового файла ? Хочешь сказать, что есть готовая набитая база, а тебе надо ее переконвертить ?

Возьми M$ Excel и открой файл через Файл/Открыть/Все файлы, а потом сохрани его в виде *.DB или *.DBF


 
Ahmad K   (2003-01-08 02:44) [12]


> А на фиг тебе экспорт из текстового файла ? Хочешь сказать,
> что есть готовая набитая база, а тебе надо ее переконвертить
> ?

Нет. Вся проблема в том что мне надо сделать базу ввиде текстешника и представлять ее в ввиде таблицы в проге в ввиде таблицы. Т.к. если сделать ее ввиде базы .db то она не идет на компах где не установлен BDE.


 
VAleksey ©   (2003-01-08 07:21) [13]

Во так :))
А BDE нельзя установить клиенту ?


 
Anatoly Podgoretsky ©   (2003-01-08 07:41) [14]

http://www.kylecordes.com/bag/index.html


 
Карелин Артем ©   (2003-01-08 11:33) [15]

Так проблема именно в BDE?? Дык есть множество компонентов, работающих без BDE и воовще не требующих внешних библиотек.



Страницы: 1 вся ветка

Текущий архив: 2003.01.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
6-87001
Maksss
2002-11-28 21:20
2003.01.27
Пример Чата из Delphi5


3-86643
E_dimon
2003-01-03 22:49
2003.01.27
TUtil32.dll Исправление ошибок-Paradox


1-86942
Игорь
2003-01-15 02:50
2003.01.27
Какой компонент подойдёт для чтения doc файла?


1-86756
Antosya
2003-01-17 16:00
2003.01.27
Мастера, помогите, очень надо, плиииииз...!!!! Как работать...


6-86996
KoluChi
2002-11-29 14:42
2003.01.27
TWebBrowser. Документ с закладками. Как перейти?