Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Вниз

Out of memory   Найти похожие ветки 

 
pirate ©   (2006-05-06 16:36) [0]

Здраствуйте, уважаемые!
Суть проблемы такова:
есть типы:


type TWord=record
wrd:shortString;
descr:AnsiString
end;

type TDict=record
count:longint;
words:array of TWord;
end;

var Dahl:TDict;

.......
в цикле происходит следующее:
Dahl.count:=Dahl.count+1;
         SetLength(Dahl.words,Dahl.count);
         Dahl.words[Dahl.count-1].wrd:=s2;
         Dahl.words[Dahl.count-1].descr:=s3;

.......

Что я хотел сделать:
Я хотел загрузить толковый словарь Даля в переменную Dahl из файла, представляющую собой динамический массив.

.wrd - это само слово
.descr - это его смысловое значение (следует отметить, весьма объемное, иногда достигает ~500 байт)

По обработке ~8400 слов выдается "Access denied...***###$%...Out of memory...&%**&(("

Вот так вот.


 
Сергей М. ©   (2006-05-06 16:40) [1]


> хотел загрузить толковый словарь Даля


Серьезная заява)

А нафига ?
Можно поинтересоваться ?
Далев "словобукварь" - серьезное и весьма информационноемкое творение. вряд ли оно уместится в  два далеко не полных Гб, отведенных для твоего программного творчества под Win32 ..


 
han_malign ©   (2006-05-06 16:58) [2]

убери shortString - поднимешь количество раза в 2/3, за счет уменьшения фрагментации...

Но, самое простое, с минимальной фрагментацией - загрузить файл целиком в память(если влезет), проставить #0 в конце "Статей", и заполнить массив PChar-ов (размер которого узнали на этапе проставления нулей)(если хватило места под него) указателями на начало "Слов"... Слова от Статей отделять динамически(для уменьшения использования памяти)...

А лучше, все таки, заполнить массив "Слов" и смещений соответствующей "Статьи" в файле, и подчитывать статью динамически(500 мс максимум - если винчестер подыхает)...


 
pirate ©   (2006-05-06 17:09) [3]


> вряд ли оно уместится

16.5 MB в текстовом файле.. Вот оно как.

> заполнить массив "Слов" и смещений соответствующей "Статьи"
> в файле, и подчитывать статью динамически

- а это ты тему подсказал! Решение достойное профессионала!
Спасибо!


 
han_malign ©   (2006-05-06 17:09) [4]


> Далев "словобукварь" - серьезное и весьма информационноемкое творение.

http://lib.km.ru/?id=2871
~18Мб
- не вопрос


 
TUser ©   (2006-05-08 12:15) [5]

Все равно в памяти это хранить не нужно.



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

Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
2-1149170875
Fer
2006-06-01 18:07
2006.06.18
незадача с RadioButton


2-1148980350
duncat
2006-05-30 13:12
2006.06.18
Распечатать текст из Memo


2-1148888726
Ironman83
2006-05-29 11:45
2006.06.18
dxTreeList


2-1149159277
koha
2006-06-01 14:54
2006.06.18
CreateProcess


15-1148574620
Nic
2006-05-25 20:30
2006.06.18
P4 TITAN GA-8LD533 Series Intel 845GL - проблемы :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский