Главная страница
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.012 c
3-52767
Соловьев
2003-01-29 18:12
2003.02.17
При добавлении записи не срабатывает тригер?


3-52705
Wizard
2003-01-28 16:41
2003.02.17
Отчеты


6-53153
Toxa
2002-12-26 20:11
2003.02.17
TWebBrowser&JavaScript


14-53285
pochtamt
2003-02-01 12:13
2003.02.17
Как открыть проект в , если сделан он в D6?


3-52766
AALLEEXX
2003-01-23 07:48
2003.02.17
DB TREEVIEW