Гуру, помогите с Оперой
Во-первых, загвоздка в том, что я просто не могу разобраться в какой последовательности, чего и сколько считывать из файла.
А, во вторых, если я пытаюсь просто файл считать, то загрузка при его размере 1,7МБ происходит ОЧЕНЬ долго... в чем трабла?
int handle;
char ch;hex
AnsiString c;
AnsiString tmp;
int count=0;
if ((handle = open("C:\\Program Files\\Opera\\Profile\\cache4\\dcache4.ini", O_RDONLY | O_BINARY, S_IWRITE | S_IREAD))>0)
{
stop =false;
do
{
if (stop) break;
read(handle, &ch, 1);
c = ch;
if (c == "\n")
{
if (tmp.AnsiPos("htm") >= 0)
{
SG1->Cells[0][count] = tmp;
count++;
SG1->RowCount = count;
Application->ProcessMessages();
// suda->Add(tmp);
};
tmp = "";
}
else
{
tmp = tmp+c;
int g = 0;
};
} while (!eof(handle));
}
close(handle);
Идёт загрузка проца на 100% минуты на 2... а ведь должно быть быстро.
так я его через LoadFromFile вообще не могу загрузить почему-то... приходится извращаться... и почему Билдер так долго файл читает?
А по поводу формата данных - не разобрался??? может поможешь, у меня после праздников башка в инглише вообще путается, а тут решил прогру для просмотра кэша Оперы сделать (чего нашел в сети - не пашет нормально с 9-кой да и хоца самому и функций по-больше) и понеслась...
вот я и прошу помощи с разбором формата этого dcache4.url ...
знать бы хоть структуру и с тэгами разобраться...
а дальше я сам разберусь...
а по ссылке тама чего-то написано, а вот как выплыть из него?
я просил помочь разобраться с описанием по ссылке в 1 посте. всё что вы мне посоветовали я сделал в первую очередь, а потом ужо сюда вопрос написал.
если не можете помочь разобраться с этим так и скажите и не надо меня посылать в hex тама уже был.
лучше посмотрите ссылочку и скажите хоть чего-нибудь по этому вопросу.
А разве класс TIniFile уже не рулит?
А в самом файлике находятся структуры с тэгами и они описаны на сайте Оперы по ссылке: http://www.opera.com/docs/fileformats/ - вот здесь-то для меня загадка и кроется, я не могу разобраться в данном описании формата.... а именно: названия тегов, их тип, длина, порядок и количество.
а вторая проблема в том, что файл размером чуть меньше 2МБ читается от 2 и более минут. Уважаемый kosfiz правильно подметил, что нужно читать в каком-то порядке и тогда скорость должна быть амного быстрее - вот и собственно сабж - структура файла!
А в самом файлике находятся структуры с тэгами и они описаны на сайте Оперы по ссылке: http://www.opera.com/docs/fileformats/ - вот здесь-то для меня загадка и кроется, я не могу разобраться в данном описании формата.... а именно: названия тегов, их тип, длина, порядок и количество.
а вторая проблема в том, что файл размером чуть меньше 2МБ читается от 2 и более минут. Уважаемый kosfiz правильно подметил, что нужно читать в каком-то порядке и тогда скорость должна быть амного быстрее - вот и собственно сабж - структура файла!
В очередной раз объясняю - здесь не форум переводчиков. Здесь не толкование документации. Здесь задаются КОНКРЕТНЫЕ вопросы по программированию - и на них - при заинтересованности общественности - даются ответы.
Поэтому - если вы не в состоянии понять в какой последовательности и как читать из файла - есть только один вариант - обратитьсь непосредственно к разработчикам - разъяснят.
По второму вопросу - такое кол-во проверок в цикле затормозит кого угодно. Для начала вычитаете весь (или необходимый фрагмент) файл, а затем уж проводите необходимые проверки. При этом лучше использовать классы с буферизацией ввода-вывода.
Поэтому - если вы не в состоянии понять в какой последовательности и как читать из файла - есть только один вариант - обратитьсь непосредственно к разработчикам - разъяснят.
По второму вопросу - такое кол-во проверок в цикле затормозит кого угодно. Для начала вычитаете весь (или необходимый фрагмент) файл, а затем уж проводите необходимые проверки. При этом лучше использовать классы с буферизацией ввода-вывода.
1. был приведен код и никто толком не сказал, почему же файл размером 2 мега так долго обрабатывается
2. я в состоянии, но там свои типы данных и не понятно со структурой - хоть намек дали бы...
3. какое количество? Два if`а??? затормозят так сильно?
4. а если мне нужно последовательно весь файл читать? от начала и до конца? и почему тогда LoadFromFile не работает???
5. а можно примерчик класса или направление где его искать