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

Вниз

Проблемы с TXT   Найти похожие ветки 

 
visnuk ©   (2003-01-31 16:07) [0]

Такой вопрос как мне произвести чтение из TXT файла по определенной последовательности.
Например:
строка 1
строка 120
строка 2
ну и так далее
Знаю что можно ReadLn файла сделать, но мне необходимо произвести перебор в файле.

Затем занос в базу данных Paradox
Пример я использовал из книги код ниже
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Grids, DBGrids;

type
TForm1 = class(TForm)
btnReadCapitals: TButton;
tbCapitals: TTable;
dsCapitals: TDataSource;
dbgCapitals: TDBGrid;
procedure btnReadCapitalsClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnReadCapitalsClick(Sender: TObject);
var
F: TextFile;
StateName:String[120];
CapitalName:String[100];
begin
tbCapitals.Open;
Assignfile(F, "alex.txt"); //чтение из файла и занос в переменную
Reset(F); //
try
While not Eof(F) do
begin
ReadLn(F, StateName, CapitalName); // чтение самого файла
tbCapitals.Insert; // создание в таблице
tbCapitals["State_Name"] := StateName; // графа
tbCapitals["Capital_Name"] := CapitalName; // графа
tbCapitals.Post; //занести
end;
finally
CloseFile(F); // закрытие файла
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
tbCapitals.EmptyTable;
end;

end.
Так вот в чем проблема установил базе что Название граф Alhpa и длинна 120 символов, а он не хочет заносить параметры говорит ошибка:
Minimum validity check failed Field: State_Name
Что - бы это моголо значить.
Просьба ответить кто сможет


 
MsGuns ©   (2003-01-31 17:23) [1]

А не проще объявить TStringList, и в него одной строкой:

var
List: TStringList;
.....

List := TStringList.Create;
List.LoadFromFile("TextFile.txt"); прочитать весь файл
.....

Table1.FieldByName("Fld1").AsString := List[119];
Table1.FieldByName("Fld17").AsString := List[101];

и т.д.

try
List.Free;
finally
end;

Кстати, от формата Парадокс это, ИМХО, совершенно не зависит, просто ты не указал св-во AsXXXXXX для чтения



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-52995
Дмитрий К.К.
2003-02-10 14:22
2003.02.17
Создание компонента в run-time


3-52746
Dimich1978
2003-01-30 16:00
2003.02.17
Помогите не пойму в чем дело с БД творится?


1-53073
Split_
2003-02-06 18:30
2003.02.17
Help! Нужна помощь со строками!


14-53261
sniknik
2003-02-01 18:56
2003.02.17
Для тех у кого MSSQL! Важно. the Slammer (W32.slammer) virus.


3-52768
Explorer
2003-01-30 13:32
2003.02.17
Ado или БДЕ?