![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
непонятки с памятью [D6, XP]
Marat © (2007-01-05 13:42:00)В проекте считываю текстовый файл. Если, файл весит 7 МБ, то все происходит нормально. А если файл весит 14 МБ, то вылетает ошибка "Out of Memory". Это проблема с памятью компьютера или связано с какой-нибудь заморочкой в Delphi?
Marat (2007-01-08 06:44:00) [1]всем спасибо. получилось через массив
Джо (2007-01-05 16:09:00) [2]> [7] Marat © (05.01.07 14:14)
> ну сначала:
> OpenDialog1.Execute;
> File_name:=OpenDialog1.FileName;
if OpenDialog1.Execute then
begin
File_name:=OpenDialog1.FileName;
...
end;
Хоть к теме непосредственно отношения не имеет...
tesseract (2007-01-05 15:58:00) [3]StringGrid для таких объёмов не предназначен, реализуй лучше свой механизм отображения. Да и отображаемые файлы никто не отменял.
Marat (2007-01-05 14:14:00) [4]> Сразу в SG, без каких либо списков.
ну да
ну сначала:
OpenDialog1.Execute;
File_name:=OpenDialog1.FileName;
Marat (2007-01-05 14:13:00) [5]кусок файла:
Sun Sep 3 00:00:11 2006
User-Name = "а"
NAS-Port = 209201
...
Timestamp = 1157220011
Sun Sep 3 00:00:26 2006
User-Name = "с"
NAS-Port = 209201
...
Timestamp = 1157220026
Anatoly Podgoretsky (2007-01-05 14:12:00) [6]> Marat (05.01.2007 14:10:04) [4]
Сразу в SG, без каких либо списков.
Marat (2007-01-05 14:10:00) [7]а как надо?
я хочу считать текстовый файл в SG, посчитать кое-чего, и слить результат в MS SQL.
Desdechado (2007-01-05 14:06:00) [8]как минимум 3 копии одного и того же: List, TempList и (непонятный) SG
зачем так мусорить?
Marat (2007-01-05 13:59:00) [9]считываю вот так:
var List, TempList: TStringList; ...
List := TStringList.Create;
TempList := TStringList.Create;
List.LoadFromfile(File_name);
SG.RowCount := List.Count;
for i := 0 to List.Count - 1 do begin
s := List[i];
OemToCharBuff(PChar(s), PChar(s), Length(s));
TempList.CommaText := s;
if SG.ColCount < TempList.Count then
SG.ColCount := TempList.Count;
SG.Rows[i].Assign(TempList);
end;
List.Free;
TempList.Free;
если необходимо, могу показать "кусок" файла
Anatoly Podgoretsky (2007-01-05 13:46:00) [10]> Marat (05.01.2007 13:42:00) [0]
Это проблема в твоей программе.