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

Вниз

Мастера, помогите еще раз. В моей проге...   Найти похожие ветки 

 
ProtoSoft   (2002-11-27 23:11) [0]

Мастера, помогите еще раз. В моей проге куча TStringList аж 15 штук и еще просит больше. Что посоветуете придумать вместо них, мне главное надо хранить набор строк, допустим я могу написать на ASMe такую штуку: {Формат данных}
{Длинна поля} - 1 байт (мне больше #FF не надо)
{Строка} - ее длинна определяется в первом поле


Все остальные будут NumZ*(1+Len(Длина поля)) вроде.

Это понятно, но это что - работать с файлом, а мне нуно, чтоб быстрее работало. Ну если там файл более 10 мб. Весь его подгружать фигня, в буфер по 2 кило, тоже не очень.


 
ProtoSoft   (2002-11-27 23:51) [1]

Ну че никто не знает?


 
False_Delirium   (2002-11-28 00:30) [2]

быстрее - BD...

а так...

фиксированный размер данных в строке ... лучше типизированный файл по Record`у ...
а там - seek ...
если с файлами... для максимально бытрой работы сделай файл индексов адресации для поиска....


 
ProtoSoft   (2002-11-28 23:43) [3]

False_Delirium

//для максимально бытрой работы сделай файл индексов адресации для поиска....
Это как, по первой букве? Всмысле на букву А - Смещение такое, на Б - такое на Я такое, я вроде так понял.

////// Но вот почему меня и
быстрее - BD...а так...фиксированный размер данных в строке ... лучше типизированный файл по Record`у ...
а там - seek ...
Но тут вот в чем весь трабл, размер моей базы будет расти как на дрожжах, т.к. у меня данные в записи могут быть от 0 до бесконечности, в среднем где-то получаеться от 200 б до 1 кб, поэтому пришлось поизвращаться, зато файл и размеры имеет хорошие!


 
Fantasist   (2002-11-30 02:55) [4]

А по какому параметру не устраивает TStringList?


 
ProtoSoft   (2002-12-03 10:11) [5]

//А по какому параметру не устраивает TStringList?

Все устраивеат, но когда их много, то ресурсов для проги частенько не хватает, у меня по крайней мере все глючило.
Сейчас немного оптимизировал код, поуберал где мог TStringList стало работать лучше, глюков нет. Но нужно более конкретное решение!


 
Наезжалкин   (2002-12-03 10:47) [6]

Переписывать TStringList на ассемблер -- пустая потеря времени. Нужно придумать более эффективный способ хранения данных, чем TStringList. Готового рецепта здесь нет. Думать, думать, ДУМАТЬ!...


 
ProtoSoft   (2002-12-05 01:24) [7]

//Наезжалкин
Я тут немного придумал с оптимизацией, а на асме лабанить это не так уж и сложно и не так уж и долго. Я имел ввиду, что файл в TStringList грузиться полностью, и иза этого частенько страдают ресурсы програмки. Бывают глюки. Я тут наваял пару процедурок, которые типа TStringList, только файл не подгружают полностью в массив, а читают его нужными частями + индексный файл, работает в 5 раз быстрее. Уже лучше! Но тут опять-так фигня в том, что база растет просто на глазах! Нет смысла в этом, т.к. я уже писал, запись в поле у меня может быть размером от 5 байт и до бесконечности, ну хотя бы - до 500-600 байт. Я тут добавил такую штуку, Поля короткие определенной длинны. 20 байт. Туда записывается строка, и если она не помещаеться, то добавляется новая запись, а в предыдущую строку записываеться указатель на продолжение. База уменьшилась в 5 раз! Уже лучше! Посмотрим, что будет дальше!


А теперь може кто расскажет, как организовать вот такие вещи:

1. Поиск в TWebBrowsere (в загруженном тексте)
2. Как мне взять из поля адрес всех загруженных IE, а также текст из IE!
3. Как узнать, на какой стадии загрузка страницы в IE!



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

Форум: "WinAPI";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
14-62787
spb
2002-12-31 07:37
2003.01.20
Всем, кто в этот день на работе


7-62865
Senator
2002-11-08 14:41
2003.01.20
список файлов


1-62457
Артём К
2003-01-10 04:53
2003.01.20
Запись и чтение файла из определённого места


14-62792
nick-from
2002-12-27 01:32
2003.01.20
пОтОлстение и похудение


1-62572
diks
2003-01-11 15:38
2003.01.20
re-enter: пароль





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский