Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизРабота с текстом... Найти похожие ветки
← →
PaR (2004-03-16 14:50) [0]вопрос вот какой :
Мне нужно загрузить из текстового файла
записи для последующего анализа,
разделенные между собой построчно
вобщем мой код выглядит такProcedure LoadDet(FileName:string) ;
var
DetFile:TextFile;
CurStr:string;
I:integer;
Code:integer;
begin
I:=0 ;
SetLength(Details,1);
AssignFile(DetFile,FileName);
Reset(DetFile);
while not SeekEoF(DetFile) do
begin
Readln(DetFile,CurStr);
If CurStr[1]<>"Í" then
begin
Details[i].Phone := StrToInt64(Trim(LeftStr(CurStr,11)));
<........>
Details[i]._Type := Trim(MidStr(CurStr,126,14));
Details[i].SVC_type := Trim(MidStr(CurStr,141,30));
SetLength(Details,I+2) ;
I:=I+1;
end;
end;
CloseFile(DetFile) ;
В массив всё ложиться как положено(Details - это массив записей)
type
Det=Record
Phone:int64;
Date:String;
_Time:string;
RealTime:String;
RoundTime:String;
Price:real;
TelIn:String;
TelOut:String;
Dir:String;
Chanel:String;
_Type:String;
SVC_type:String;
end;
Var
Details:array of Det;
затем
я объявляю рекордсет и добавляю ему поля соответсвующие
так вот при попытке сделать .CreateRecordset или .Open ОНО мне пишет что-то вроже "Can"t load Midas.dll" либо , если файл чуть поменьше, "...raised ..NotEnoughMemory"
если файл маленький то всё ОК однако в моём варианте размер файла порядка 3,5 мб и будет расти ...
подскажите плз что делать
я посмотрел в таск манагере остется ок 10 мб оперативной памяти , а файл подкачки не используется вообще ,
может ключи какие надо в компиляторе прописать
и есчо вопрос :как видно грузится всё вутри цикла ,так вот как сделать так чтоб во время выполнения программа не создавала впечатление "зависшей"
← →
ss (2004-03-16 14:57) [1]а почему нельзя использовать базу данных?
← →
KSergey © (2004-03-16 14:58) [2]А если читать строки и сразу писать их в БД?
> как сделать так чтоб во время выполнения программа не создавала
> впечатление "зависшей"
Application.ProcessMessages
← →
KSergey © (2004-03-16 15:00) [3]> KSergey © (16.03.04 14:58) [2]
> А если читать строки и сразу писать их в БД?
В смысле без промежуточного складирования в массиве?
← →
Max_Ivanych © (2004-03-16 15:02) [4]Брате! Зачем так сложно?
Загрузи содержимое в StringList.LoadFromFile, а потом построчно, с проверочкой в цикле гони в свою базу...
← →
Anatoly Podgoretsky © (2004-03-16 15:09) [5]В начале идет обращение к пустому массиву.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c