Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
ВнизИз .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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c