forked from KolibriOS/kolibrios
HTMLv 0.75: new futures and bags.
git-svn-id: svn://kolibrios.org@2413 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a6898aa575
commit
823a0a9a8f
@ -2,17 +2,16 @@
|
|||||||
//Copyright 2007-2009 by Veliant & Leency
|
//Copyright 2007-2009 by Veliant & Leency
|
||||||
//Asper, Lrz, Nable, lev.
|
//Asper, Lrz, Nable, lev.
|
||||||
|
|
||||||
#include "../lib/kolibri.h--"
|
#include "..\lib\kolibri.h--"
|
||||||
#include "../lib/file_system.h--"
|
#include "..\lib\file_system.h--"
|
||||||
#include "include/some_code.h--"
|
#include "img\toolbar_icons.c"
|
||||||
#include "img/toolbar_icons.c--"
|
#include "img\URLgoto.txt";
|
||||||
#include "img/URLgoto.txt";
|
|
||||||
//Asper
|
//Asper
|
||||||
#include "../lib/mem.h--"
|
#include "..\lib\mem.h--"
|
||||||
#include "../lib/libio_lib.h--"
|
#include "..\lib\libio_lib.h--"
|
||||||
#include "../lib/libimg_lib.h--"
|
#include "..\lib\libimg_lib.h--"
|
||||||
#include "../lib/edit_box_lib.h--"
|
#include "..\lib\edit_box_lib.h--"
|
||||||
#include "../lib/dll.h--"
|
#include "..\lib\dll.h--"
|
||||||
|
|
||||||
//ïåğåìåííûå
|
//ïåğåìåííûå
|
||||||
char URL[4096]="/sys/index.htm",
|
char URL[4096]="/sys/index.htm",
|
||||||
@ -30,12 +29,12 @@ int za_kadrom,
|
|||||||
|
|
||||||
edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19};
|
edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19};
|
||||||
|
|
||||||
|
|
||||||
#include "TWB.h--"
|
|
||||||
|
|
||||||
proc_info Form;
|
proc_info Form;
|
||||||
|
|
||||||
|
|
||||||
|
#include "TWB.h"
|
||||||
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
mouse m;
|
mouse m;
|
||||||
@ -91,10 +90,14 @@ void main()
|
|||||||
IF (btn<>za_kadrom) WB1.ParseHTML(buf, filesize); //÷òîá ëèøíèé ğàç íå ïåğåğèñîâûâàòü
|
IF (btn<>za_kadrom) WB1.ParseHTML(buf, filesize); //÷òîá ëèøíèé ğàç íå ïåğåğèñîâûâàòü
|
||||||
m.get();
|
m.get();
|
||||||
}
|
}
|
||||||
BREAK;
|
break;
|
||||||
case evButton:
|
case evButton:
|
||||||
btn=GetButtonID();
|
btn=GetButtonID();
|
||||||
IF (btn==1) ExitProcess();
|
IF (btn==1)
|
||||||
|
{
|
||||||
|
KillProcess(downloader_id);
|
||||||
|
ExitProcess();
|
||||||
|
}
|
||||||
ELSE
|
ELSE
|
||||||
{
|
{
|
||||||
WB1.Scan(btn);
|
WB1.Scan(btn);
|
||||||
@ -117,9 +120,7 @@ void main()
|
|||||||
|
|
||||||
void Draw_Window()
|
void Draw_Window()
|
||||||
{
|
{
|
||||||
WindowRedrawStatus(1);
|
|
||||||
DefineAndDrawWindow(215,100,640,480,0x73,0x00E4DFE1,0,0,0);
|
DefineAndDrawWindow(215,100,640,480,0x73,0x00E4DFE1,0,0,0);
|
||||||
WindowRedrawStatus(2);
|
|
||||||
|
|
||||||
GetProcessInfo(#Form, SelfInfo);
|
GetProcessInfo(#Form, SelfInfo);
|
||||||
IF (Form.height==GetSkinWidth()+3) //åñëè ñâåğíóòî â çàãîëîâîê, íè÷åãî íå ğèñóåì
|
IF (Form.height==GetSkinWidth()+3) //åñëè ñâåğíóòî â çàãîëîâîê, íè÷åãî íå ğèñóåì
|
||||||
@ -131,6 +132,8 @@ void Draw_Window()
|
|||||||
IF (Form.width<280) MoveSize(OLD,OLD,280,OLD);
|
IF (Form.width<280) MoveSize(OLD,OLD,280,OLD);
|
||||||
|
|
||||||
PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
|
PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
|
||||||
|
if (GetProcessSlot(downloader_id)<>0) PutImage(#stop_btn,24,24,88,10);
|
||||||
|
|
||||||
DrawBar(200,0,onLeft(200,9),43,0xE4DFE1); //çàêğàøèâàåì ôîí ïîä òóëáàğîì
|
DrawBar(200,0,onLeft(200,9),43,0xE4DFE1); //çàêğàøèâàåì ôîí ïîä òóëáàğîì
|
||||||
DrawBar(0,42,onLeft(5,4),1,0xE2DBDC); //âûïóêëîñòü
|
DrawBar(0,42,onLeft(5,4),1,0xE2DBDC); //âûïóêëîñòü
|
||||||
DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //âûïóêëîñòü
|
DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //âûïóêëîñòü
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
24.02.12 -- v0.72 -- 11.? Ęá
|
27.02.12 -- v0.75 -- 11.? Кб
|
||||||
|
- при закрытии HTMLv, downloader тоже завершается;
|
||||||
|
- невозможно запустить больше одного downloader'a;
|
||||||
|
- отображение процесса загрузки страницы из Интернета через кнопочку "остановить", надпись "Loading...", возможность прервать процесс;
|
||||||
|
- обновление страницы из Интернета приводит к её повторной загрузке.
|
||||||
|
|
||||||
|
|
||||||
|
24.02.12 -- v0.71 -- 11.? Кб
|
||||||
- просто починил эти самые интернеты.
|
- просто починил эти самые интернеты.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,27 +1,22 @@
|
|||||||
==О программе HTMLv==
|
==О программе HTMLv==
|
||||||
HTMLv - это текстовый браузер, а так же просмотровщик веб-страниц. Пока что
|
HTMLv - это текстовый браузер, а так же просмотровщик веб-страниц. Пока что
|
||||||
поддерживает только форматирование текста с некоторыми вложеными параметрами.
|
поддерживает только форматирование текста с некоторыми вложеными параметрами.
|
||||||
Программа написана на языке... среднего уровня C--. Обсуждение программы здесь:
|
Программа написана на языке C--. В нём можно писать программы, как на Си, так и на асме, притом их там удобно совмещать.
|
||||||
|
Обсуждение программы здесь:
|
||||||
http://board.kolibrios.org/viewtopic.php?f=9&t=1075
|
http://board.kolibrios.org/viewtopic.php?f=9&t=1075
|
||||||
Для поиска нужно в адресную строку ввести запрос, нажать Ctrl+Enter (или кнопку).
|
|
||||||
|
|
||||||
|
|
||||||
==Установка==
|
==Установка==
|
||||||
Сама программа может быть запущена откуда угодно.
|
Сама программа может быть запущена откуда угодно. Для работы с Интернетом необходим downloader.
|
||||||
|
|
||||||
|
|
||||||
==Интернет==
|
==Интернет==
|
||||||
Если ваша сетевая карта не поддерживается Колибри нативно - не беда.
|
Если ваша сетевая карта не поддерживается Колибри нативно - не беда:
|
||||||
Она поддерживается в Qemu и VirtualBox :)
|
она поддерживается в Qemu и VirtualBox.
|
||||||
|
|
||||||
|
|
||||||
==Проблемы==
|
==Проблемы==
|
||||||
1. Связаны со строкой адреса.
|
Отписывайтесь в теме, если что-то не так. Ссылка выше.
|
||||||
box_lib.obj следует положить в /sys/lib/
|
|
||||||
2. Страницы из Интернета не хотят загружаться.
|
|
||||||
ZEROCONF.INI [настройки сети для Qemu и VBox] положить в /sys/network/
|
|
||||||
downloader положить в /sys/
|
|
||||||
|
|
||||||
|
|
||||||
==Авторы==
|
==Авторы==
|
||||||
Leency - разработка, дизайн.
|
Leency - разработка, дизайн.
|
||||||
@ -30,6 +25,4 @@ Veliant -
|
|||||||
Barsuk - программа downloader, код работы с ней.
|
Barsuk - программа downloader, код работы с ней.
|
||||||
Lrz - компонент EditBox.
|
Lrz - компонент EditBox.
|
||||||
Nable - оптимизации.
|
Nable - оптимизации.
|
||||||
lev - оптимизации, некоторые доработки.
|
lev - оптимизации, некоторые доработки.
|
||||||
|
|
||||||
Спасибо за использование :)
|
|
@ -4,6 +4,10 @@
|
|||||||
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
|
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
|
||||||
//ol - öèôåðêè
|
//ol - öèôåðêè
|
||||||
|
|
||||||
|
//èç õòòï-ëîàä â ðåàäõòìë
|
||||||
|
|
||||||
|
//BrowserHistory.AddUrl(); -> ïðîâåðêà íå = ëè íîâûé àäðåñ ñòàðîìó è äîáàâèòü ïîóìîë÷àíèþ âåçäå
|
||||||
|
|
||||||
int downloader_id;
|
int downloader_id;
|
||||||
|
|
||||||
dword j,
|
dword j,
|
||||||
@ -15,7 +19,7 @@ dword j,
|
|||||||
char download_path[]="/rd/1/.download";
|
char download_path[]="/rd/1/.download";
|
||||||
//char search_path[]="http://nova.rambler.ru/search?words=";
|
//char search_path[]="http://nova.rambler.ru/search?words=";
|
||||||
char search_path[]="http://nigma.ru/index.php?s=";
|
char search_path[]="http://nigma.ru/index.php?s=";
|
||||||
char version[]=" Text-based Browser 0.71";
|
char version[]=" Text-based Browser 0.75";
|
||||||
|
|
||||||
|
|
||||||
struct TWebBrowser {
|
struct TWebBrowser {
|
||||||
@ -50,29 +54,29 @@ char line[330],
|
|||||||
options[1000];
|
options[1000];
|
||||||
|
|
||||||
|
|
||||||
#include "include\history.h--"
|
#include "include\history.h"
|
||||||
#include "include\colors.h--"
|
#include "include\colors.h"
|
||||||
#include "include\unicode_tags.h--"
|
#include "include\unicode_tags.h"
|
||||||
|
#include "include\some_code.h"
|
||||||
|
|
||||||
|
|
||||||
void TWebBrowser::Scan(dword id) {
|
void TWebBrowser::Scan(dword id) {
|
||||||
if (id > 399)
|
if (id > 399)
|
||||||
{
|
{
|
||||||
j = 0;
|
|
||||||
FOR(i = 0; i <= id - 401; i++) {
|
|
||||||
do j++;
|
|
||||||
while (page_links[j] <>'|');
|
|
||||||
}
|
|
||||||
page_links[j] = 0x00;
|
|
||||||
copystr(#page_links[find_symbol(#page_links, '|')], #URL);
|
|
||||||
|
|
||||||
//Lee 21.02 {
|
//Lee 21.02 {
|
||||||
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
|
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
|
||||||
copystr(#editURL, #URL);
|
copystr(#editURL, #URL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü)
|
|
||||||
|
|
||||||
|
GetURLfromPageLinks(id);
|
||||||
|
|
||||||
|
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü)
|
||||||
|
|
||||||
GetNewUrl();
|
GetNewUrl();
|
||||||
|
|
||||||
|
BrowserHistory.AddUrl();
|
||||||
|
|
||||||
|
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
||||||
//Lee 21.02 }
|
//Lee 21.02 }
|
||||||
@ -101,8 +105,16 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
case 054: //F5
|
case 054: //F5
|
||||||
IF(edit1.flags == 66) break;
|
IF(edit1.flags == 66) break;
|
||||||
case REFRESH:
|
case REFRESH:
|
||||||
|
if (GetProcessSlot(downloader_id)<>0)
|
||||||
|
{
|
||||||
|
KillProcess(downloader_id);
|
||||||
|
Pause(20);
|
||||||
|
Draw_Window();
|
||||||
|
return;
|
||||||
|
}
|
||||||
copystr(#URL, #editURL);
|
copystr(#URL, #editURL);
|
||||||
Draw_Window();
|
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
||||||
|
ShowPage(#URL);
|
||||||
return;
|
return;
|
||||||
case 014: //Ctrl+N íîâîå îêíî
|
case 014: //Ctrl+N íîâîå îêíî
|
||||||
case 020: //Ctrl+T íîâàÿ âêëàäêà
|
case 020: //Ctrl+T íîâàÿ âêëàäêà
|
||||||
@ -165,6 +177,7 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
|
|
||||||
void GetNewUrl(){
|
void GetNewUrl(){
|
||||||
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+1,#URL);
|
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+1,#URL);
|
||||||
|
|
||||||
//IF (!strcmp(get_URL_part(3),"../"))
|
//IF (!strcmp(get_URL_part(3),"../"))
|
||||||
//{
|
//{
|
||||||
// //DrawTitle(#URL+7);
|
// //DrawTitle(#URL+7);
|
||||||
@ -185,12 +198,19 @@ void GetNewUrl(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void HttpLoad()
|
void HttpLoad()
|
||||||
{
|
{
|
||||||
|
za_kadrom = 0;
|
||||||
|
copystr(#URL, #editURL);
|
||||||
|
|
||||||
|
|
||||||
|
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
||||||
DeleteFile(#download_path);
|
DeleteFile(#download_path);
|
||||||
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
||||||
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
||||||
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable.");
|
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable.");
|
||||||
|
Draw_Window();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -202,7 +222,7 @@ void ReadHtml()
|
|||||||
file_size stdcall (#URL);
|
file_size stdcall (#URL);
|
||||||
|
|
||||||
filesize = EBX;
|
filesize = EBX;
|
||||||
if (!filesize) /*{Pause(200); ReadHtml();}*/ return; //Lee 22.09
|
if (!filesize) /*{Pause(200); ReadHtml();}*/ return;
|
||||||
mem_Free(buf);
|
mem_Free(buf);
|
||||||
buf = mem_Alloc(filesize);
|
buf = mem_Alloc(filesize);
|
||||||
if (!strcmp(get_URL_part(5),"http:")))
|
if (!strcmp(get_URL_part(5),"http:")))
|
||||||
@ -217,31 +237,28 @@ void TWebBrowser::ShowPage(dword adress) {
|
|||||||
max_kolvo_stolbcov = width - 30 / 6;
|
max_kolvo_stolbcov = width - 30 / 6;
|
||||||
max_kolvo_strok = height - 3 / 10 - 2;
|
max_kolvo_strok = height - 3 / 10 - 2;
|
||||||
copystr(#version, #header);
|
copystr(#version, #header);
|
||||||
IF (!WindowRePaint) {
|
|
||||||
za_kadrom = 0;
|
|
||||||
copystr(#URL, #editURL);
|
|
||||||
BrowserHistory.AddUrl();
|
|
||||||
}
|
|
||||||
edit1.size = edit1.pos = strlen(#editURL);
|
edit1.size = edit1.pos = strlen(#editURL);
|
||||||
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
||||||
|
|
||||||
//LETS_LOAD
|
//LETS_LOAD
|
||||||
ReadHtml();
|
ReadHtml();
|
||||||
|
|
||||||
IF (!filesize) return; //Lee 22.09
|
if (!filesize)
|
||||||
|
{
|
||||||
wintodos(buf);
|
DrawBar(left, top, width+2, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó
|
||||||
ParseHTML(buf, filesize);
|
if (GetProcessSlot(downloader_id)<>0) WriteText(left + 10, top + 18, 0x80, 0, "Loading...", 0);
|
||||||
IF(!strlen(buf)) {
|
else
|
||||||
IF (strcmp(get_URL_part(5),"http:")==0)
|
|
||||||
{
|
{
|
||||||
PutImage(#stop_btn, 24, 24, 88, 10);
|
|
||||||
WriteText(left + 10, top + 18, 0x80, 0, "Loading...", 0);
|
|
||||||
}
|
|
||||||
ELSE
|
|
||||||
WriteText(left + 10, top + 18, 0x80, 0, "Page not found. May be, URL contains some errors.", 0);
|
WriteText(left + 10, top + 18, 0x80, 0, "Page not found. May be, URL contains some errors.", 0);
|
||||||
|
if (!strcmp(get_URL_part(5),"http:"))) WriteText(left + 10, top + 32, 0x80, 0, "Or Internet unavilable for your configuration.", 0);
|
||||||
|
}
|
||||||
|
DrawTitle(#version); //?
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DrawBar(left, top, width-15, 15, 0xFFFFFF); //çàêðàøèâàåì ïåðâóþ ñòðîêó
|
||||||
|
wintodos(buf);
|
||||||
|
ParseHTML(buf, filesize);
|
||||||
IF (!strcmp(#version, #header)) DrawTitle(#header);
|
IF (!strcmp(#version, #header)) DrawTitle(#header);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -263,7 +280,6 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
|
|||||||
IF(!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1; //çà÷¸òíîå îòîáðàæåíèå òåêñòà
|
IF(!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1; //çà÷¸òíîå îòîáðàæåíèå òåêñòà
|
||||||
//IF(!strcmp(#URL + strlen(#URL) - 4, ".rtf")) pre_text = 1;
|
//IF(!strcmp(#URL + strlen(#URL) - 4, ".rtf")) pre_text = 1;
|
||||||
IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
|
IF(!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
|
||||||
IF(za_kadrom == 0) || (WindowRePaint) DrawBar(left, top, width - 15, 15, 0xFFFFFF); //çàêðàøèâàåì ïåðâóþ ñòðîêó
|
|
||||||
for (; buf + fsize > bword; bword++;) {
|
for (; buf + fsize > bword; bword++;) {
|
||||||
bukva = ESBYTE[bword];
|
bukva = ESBYTE[bword];
|
||||||
switch (bukva) {
|
switch (bukva) {
|
||||||
@ -688,6 +704,10 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
img_draw stdcall (image,left1-5,top1+10,w, h,0,img_za_kadrom);
|
img_draw stdcall (image,left1-5,top1+10,w, h,0,img_za_kadrom);
|
||||||
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, 0xFFFFFF);
|
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, 0xFFFFFF);
|
||||||
}
|
}
|
||||||
|
/*else
|
||||||
|
{
|
||||||
|
IF (strcmp(#parametr,"alt=")==0) copystr(#options,#line+strlen(#line));
|
||||||
|
}*/
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -740,7 +760,7 @@ void TWebBrowser::DrawScroller() {
|
|||||||
DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18");
|
DrawFlatButton(left + width - 15, top, 16, 16, ID1, 0xE4DFE1, "\x18");
|
||||||
|
|
||||||
IF(count <= max_kolvo_strok) {
|
IF(count <= max_kolvo_strok) {
|
||||||
DrawBar(left + width - 14, top + 17, 16, height - 34, 0xCED0D0);
|
DrawBar(left + width - 14, top, 16, height - 17, 0xCED0D0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -2,4 +2,4 @@
|
|||||||
del HTMLv
|
del HTMLv
|
||||||
rename HTMLv.com HTMLv
|
rename HTMLv.com HTMLv
|
||||||
..\C--\kpack HTMLv
|
..\C--\kpack HTMLv
|
||||||
pause
|
rem pause
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
int GetTime()
|
|
||||||
{
|
|
||||||
$mov eax, 26;
|
|
||||||
$mov ebx, 9;
|
|
||||||
$int 0x40;
|
|
||||||
return EAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
ÔÓÍÊÖÈß ÎÏÐÅÄÅËÅÍÈß FPS
|
|
||||||
x,y - êîîðäèíàòû âûâîäà FPS íà îêíî
|
|
||||||
âîçâðàùàåò âðåìÿ â ñîòûõ äîëÿõ ñåêóíäû çàòðà÷èâàåìîå íà 1 öèêë
|
|
||||||
*/
|
|
||||||
|
|
||||||
int time1=0;
|
|
||||||
int time2=0;
|
|
||||||
int fps1=0;
|
|
||||||
int timerend=0;
|
|
||||||
|
|
||||||
int FPS()
|
|
||||||
{
|
|
||||||
int tr;
|
|
||||||
|
|
||||||
time1=GetTime();
|
|
||||||
|
|
||||||
if (timerend==0)
|
|
||||||
{
|
|
||||||
time2=time1;
|
|
||||||
timerend=time1;
|
|
||||||
}
|
|
||||||
|
|
||||||
tr = time1 - timerend;
|
|
||||||
|
|
||||||
if (time1 - time2 < 100) //åñëè ïðîøëî ìåíåå 1 ñåêóíäû
|
|
||||||
{ //óâåëè÷èâàåì ñ÷åò÷èê fps
|
|
||||||
fps1++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//âûâîäèì ÷èñëî fps
|
|
||||||
DrawTitle(IntToStr(fps1));
|
|
||||||
fps1=0;
|
|
||||||
time2=time1;
|
|
||||||
}
|
|
||||||
|
|
||||||
timerend=time1;
|
|
||||||
|
|
||||||
return tr;
|
|
||||||
}
|
|
||||||
//******************************************************************************
|
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
struct UrlsHistory {
|
struct UrlsHistory {
|
||||||
byte UrlHistory[6000];
|
byte UrlHistory[6000];
|
||||||
void AddUrl();
|
void AddUrl();
|
||||||
@ -10,6 +9,9 @@ UrlsHistory BrowserHistory;
|
|||||||
|
|
||||||
void UrlsHistory::GoBack()
|
void UrlsHistory::GoBack()
|
||||||
{
|
{
|
||||||
|
//WriteDebug(#UrlHistory);
|
||||||
|
|
||||||
|
|
||||||
j = strlen(#UrlHistory);
|
j = strlen(#UrlHistory);
|
||||||
WHILE(UrlHistory[j] <>'|') && (j > 0) j--;
|
WHILE(UrlHistory[j] <>'|') && (j > 0) j--;
|
||||||
IF (j > 0) UrlHistory[j] = 0x00;
|
IF (j > 0) UrlHistory[j] = 0x00;
|
||||||
@ -28,10 +30,7 @@ void UrlsHistory::AddUrl()
|
|||||||
copystr(#URL, #UrlHistory + strlen(#UrlHistory));
|
copystr(#URL, #UrlHistory + strlen(#UrlHistory));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dword UrlsHistory::CurrentUrl()
|
dword UrlsHistory::CurrentUrl()
|
||||||
{
|
{
|
||||||
EAX=#UrlHistory + find_symbol(#UrlHistory, '|');
|
EAX=#UrlHistory + find_symbol(#UrlHistory, '|');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,3 +56,15 @@ shift=-2;
|
|||||||
}
|
}
|
||||||
mem_Free(italic_buf);
|
mem_Free(italic_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GetURLfromPageLinks(int id) //столько бреда, потому что нельзя создать массив стрингов
|
||||||
|
{
|
||||||
|
j = 0;
|
||||||
|
for (i = 0; i <= id - 401; i++)
|
||||||
|
{
|
||||||
|
do j++;
|
||||||
|
while (page_links[j] <>'|');
|
||||||
|
}
|
||||||
|
page_links[j] = 0x00;
|
||||||
|
copystr(#page_links[find_symbol(#page_links, '|')], #URL);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user