
27.06.2008, 01:16
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
С нами:
9905879
Репутация:
337
|
|
A2GIL
Блин...ты сам разберись!!!
Код:
type
TStr = array[0..1024] of Char;
LngStr = ^TStr;
var
Buffer: LngStr;
При таком объявлении память будет выделена ТОЛЬКО ПОД УКАЗАТЕЛЬ (Buffer) (всего 1 байт).
В адресную ячейку (Buffer) в которую можно записать 1024 символа и записывается считанная строка.
Какие там 1024 символа под строку?!?!?! (и даже не 1024, а 1025)
Ты где такое видел??? =)
В твое примере ты выделил память под 1025 символов!!!!
К ним так buffer^ не обращаются!!! У тебя это и не откомпилируется...
Там циклом все делается...
for i:=0 to 1024 do
begin
read(f, buffer^[i])
end;
Это динамически формируемые массивы...
|
|
|

27.06.2008, 15:04
|
|
Познающий
Регистрация: 14.02.2008
Сообщений: 62
С нами:
9599589
Репутация:
4
|
|
Вопрос такой! Я гружу в memo большие обьемы текста как сделать чтоб ProgressBar отоброжал процесс выполнения заливки?
Думаю вопрос вы поняли.
|
|
|

27.06.2008, 15:40
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
С нами:
10058786
Репутация:
4589
|
|
Сообщение от /Boom\
Вопрос такой! Я гружу в memo большие обьемы текста как сделать чтоб ProgressBar отоброжал процесс выполнения заливки?
Думаю вопрос вы поняли.
"Как сделать ну вот это, там еще такая штучка, ну вы поняли" ... откуда грузишь? каг грузишь? мы те экстрасенсы?
|
|
|

28.06.2008, 14:57
|
|
Новичок
Регистрация: 26.06.2008
Сообщений: 15
С нами:
9407911
Репутация:
13
|
|
Сообщение от /Boom\
Вопрос такой! Я гружу в memo большие обьемы текста как сделать чтоб ProgressBar отоброжал процесс выполнения заливки?
Думаю вопрос вы поняли.
Имхо, тогда надо использовать на LoadFromFile, а буферизованное чтение из файла, скажем, блоками по 4к, макс прогрессбара установить в размер файла (в кб, скажем) и увеличивать при каждой n-ой итерации (на 4 в данном случае). И не забывать про processmessages после каждого обновления значения.
|
|
|

27.06.2008, 15:47
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
С нами:
9489537
Репутация:
136
|
|
Легче статически сделать, выполнение загрузки путем увеличения с паузой.
Код:
procedure Tform1.Step;
var
i: Integer;
begin
ProgressBar1.StepIt;
Sleep(12);
ProgressBar1.StepBy(12);
ProgressBar1.Max:=100;
end;
Загрузка текстового файла
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
if OpenDialog1.Execute then
begin
if FileExists(OpenDialog1.FileName) then
begin
Step;
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
ProgressBar1.Position:=0;
end;
end;
end;
|
|
|

28.06.2008, 17:44
|
|
Новичок
Регистрация: 23.06.2007
Сообщений: 6
С нами:
9938884
Репутация:
2
|
|
С помощью idHttp и CookieManager я авторизуюсь на сайте N, затем запросом http.get("N.ru/нужная страница"); загружаю исходный код запрашиваемой HTML'ки. С этим все отлично.
Вопрос: подскажите пожалуйста в каком направлении копать на пути парсинга загруженной HTML страницы, без TWebBrowser. В частности как получать данные из таблиц с id и class например
Код HTML:
<table id="mess">
<tr id="qwerty">
<td class="main">...</td>
</tr>
</table>
То бишь, надо выдернуть данные (текст) из содержащих эти классы/айди тегов.
Насколько я понял,нужный парсинг лежит в огороде DOM, а парсить путем Pos("") не особо хочется
По DOM'у, в исходниках везде идет представление WebBrowser.Document как IHTMLDocument2, но можно и без WebBrowser.Document, для этого надо что-то перегонять в IHTMLDocument2, а вот что - без понятия 
|
|
|

29.06.2008, 02:59
|
|
Новичок
Регистрация: 26.06.2008
Сообщений: 15
С нами:
9407911
Репутация:
13
|
|
gh-62, советую погуглить на тему htmlpars.pas или THTMLParser.
|
|
|

30.06.2008, 16:58
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
Ребят, глупый вопрос конечно, но хотелось бы разобратсья...
В общем я с оперативной памятью на делфи не работал никогда просьба не смеяться...
Допустим взять любую программу, запускаем её, потом через ArtMoney ищем определённое значение, высвечивается скажем так адрес 02BA3118 и его тип текст 9 байт (адрес меняется каждый раз если перезапустить прогу).
Вот собственно как мне получить это самое значение???
Это типа трейнера я так понимаю, можно поковырять исходники конешн, но в исходниках трейнеров у них адрес постоянный уже найденный и он имеет другой вид, а не 02BA3118.
Если не сложно объясните как найти точное значение и написать команду для постоянного получения текста с этого адреса...
|
|
|

30.06.2008, 17:28
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
С нами:
10058786
Репутация:
4589
|
|
Сообщение от Nightmarе
Ребят, глупый вопрос конечно, но хотелось бы разобратсья...
В общем я с оперативной памятью на делфи не работал никогда просьба не смеяться...
Допустим взять любую программу, запускаем её, потом через ArtMoney ищем определённое значение, высвечивается скажем так адрес 02BA3118 и его тип текст 9 байт (адрес меняется каждый раз если перезапустить прогу).
Вот собственно как мне получить это самое значение???
Это типа трейнера я так понимаю, можно поковырять исходники конешн, но в исходниках трейнеров у них адрес постоянный уже найденный и он имеет другой вид, а не 02BA3118.
Если не сложно объясните как найти точное значение и написать команду для постоянного получения текста с этого адреса...
http://sources.codenet.ru/download/477/FinderMem.html
Незаконченная прога типа ArtMoney.Хотелось бы услышать оценку по данной проге,и стоит ли продолжать ее писать.Коментарии и предложения можно направлять по адресу vitaly2003s@list.ru
|
|
|

30.06.2008, 22:41
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
С нами:
9489537
Репутация:
136
|
|
Nightmarе, тут не так все просто, когда ты нашел адрес скажем 02BA3118, то по нему допустим распологается
То есть увеличения допустим чего либо или уменьшение, это DMA игры, то есть игры с Динамическим Расспределением Памяти, с каждым перезапуском программы новый адрес, почитать по теме нахождения реальных адресов можно здесь
http://team-x.ru/info.php?article=trainermaking/13
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|