Seaward.ru

Здравствуйте, гость ( Вход | Регистрация )

> Программисты на Дельфи или С++, Нужна помощь: разработать оболочку типа веб-браузера, но с перехватом
ALexusB
сообщение Jun 25 2009, 12:32
Сообщение #1


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Нужно разработать оболочку типа веб-браузера, но с перехватом ссылок (обращений в инет) и управлениям скаченными файлами (картинки и прочие ресы), типа своего кеша. Файлы хранить в папке, где .ехе лежит. Файлы могут периодически тереться.

Сам браузер не имеет кнопок управления, только запустить и закрыть, ну может еще на весь экран или окно. Остальное все прописывается в коде. Браузер должен уметь показывать Флаш и перехват ссылок именно от флаша.

Кто в теме и хочет помочь, более детальное ТЗ по ЛС дам.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
3 страниц V  1 2 3 >  
Reply to this topicStart new topic
Ответов(1 - 19)
ALexusB
сообщение Aug 4 2009, 16:49
Сообщение #2


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Все еще актуально. Реально это тема для начинающего изучать среду и язык (например, Дельфи). Вместо бесцельного создания тест-примеров по книжке, можно создать реально нужную простую программу, получить хорошие навыки и сделать полезное для игры.

Со своей стороны готов просуппортить на уровне идей и даже готовых методов. Очевидно, я могу эту программу сделать сам (все для этого есть, токо нет дельфи на компе smile.gif), но не все нужно делать мной одним, если что-то подъемное для других. У меня есть другие задачи, которые пока могу поднять только я.

Соответсвенно, перефразирую:
Нужно сделать простую программку, уровня курсовой работы первого курса технического ВУЗа (1-2 вечера) при активном участии тьютора (меня). На выходе - уверенные знания в области Веб-контролек борланда и вера в себя "я могу и умею".

В качестве референса спросите Warshipa, как он теперь "не знает" флаш smile.gif Главное, желаение сделать хорошее дело себе и нашей игре.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 08:55
Сообщение #3


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



А может на C#? Я тут глянул, можно сделать на движке IE нормально все, с перехватами и прочим. Ну не прёт меня делфи smile.gif на с++ это сильно сложнее. Хотя и под делфи есть идеи как это сделать, но C# значительно проще.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение Aug 6 2009, 09:11
Сообщение #4


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Ну, я думаю, особой разницу нету, на чем. Главное, чтобы работало и потом это можно было поддерживать smile.gif Хотя, это скорее вопрос к Алексу...

Но вот на двиге IE... Хз, как там в C#, но на VCL C++ Билдера такое не получится точно (пытался, обжегся, т.к. "сильно не то"): компонента TWebBrowser - это IE в прямом смысле этого слова, она тянет все настройки из системы, включая и папку для кэша.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 09:38
Сообщение #5


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Дело не в папке, а в наличие нужных прерываний. То, что стандартные дельфевыые (билдеровые - не суть, они просто на шаг старее идут) управляют ИЕ, это как раз гут
А подменять нужно ссылки, а не кеш ИЕ. Лезет страница (флашка) в инет, смотрим куда, есть ли файл, оп-а, есть, заменяем ссылку на локальный файл и все, пусть лезет. То есть сама страница (флашка), работает штатно.

на чем делать пофиг, Дельфи назван, как наиболее простой путь + мне понятное для поддержки и развития.
Если все это проще в С#, то можно и в нем. Но есть один минус С-шарпа, это потребность .НЕТ. Казалось бы, качаешь ты клиента на 500Кб, а чтоб его запустить нужно еще 100мб sad.gif

на Дельфи есть галочка, компилять с библиотеками. Ехе пухнет на 1-2мб, но более ничего не просит.

В ЛС написали уже несколько человек - спасибо всем, кто хочет помочь.

Если у кого-то нет времени или желания делать всю прогу, поможет идея и кусок кода (наводка на нужный метод), как именно подменять запрашиваемый файл на свой.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 09:49
Сообщение #6


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Хз, я в делфи глянул, там вроде нет возможности подставлять документ в компоненту, в этом плане у с# все ок. По поводу фреймворка.. у 99.99% уже есть он. Тем более в висте уже идет с системой.
Вобщем, Алекс, кинь мне на мыло задание, желательно с готовыми флешками, чтобы знать как они себя ведут, потому что одно дело прерывания браузера отслеживать, другое дело чисто флеша...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 09:57
Сообщение #7


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Ну, для примера все есть. Тут напишу.

тестить можно на
http://online.seaward.ru/files/dice.swf - она грузит другую флашку, ее можно кэшировать.

И на
http://online.seaward.ru/files/ABC/talker.swf

Эта грузит ХМЛ файлы, картинку и мр3

Кульминацией работы должна стать работа через прогу с сетевыми кубиками
http://online.seaward.ru/index.php?page=Game,DiceOnline
Тут несколько переходов через текстовые старницы в флашки и редиректы между страницами. Влючая авторизацию на сайте.

ТЗ если свести к краткости.
Программа-браузер, заточенная на конкретный сайт, умеет хранить кэш и, главное, управлять им - проверять его актуальность спец запросом (в ХМЛ) на предмет даты устаревания и тереть содержимое.

Похожа на пауков, делающих офлайн копию сайта, но пропускает все обращения не к статичным файлам, то есть к .php
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 13:26
Сообщение #8


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Вобщем посмотрел я еще разок smile.gif просто так не выйдет перехватывать. Фактически тут не столько браузер нужен (хотя если нужно показывать хтмл, то нужен браузерный компонент. Кстати, в дельфи твебконтрол не показывает флеш вообще никак smile.gif) сколько обычный флеш плеер с возможностью закачивать флеш из инета вручную. Короче не совсем внятно, но как-то так выходит. smile.gif
Далее.
Переходим ближе к телу. Стандартный способ играть флешку на форме это использование АктивХ компонента. Все бы хорошо, но просто так, его ивенты не перехватывают (точнее вообще не перехватываются, кроме тех, для которых есть интерфейс) Поэтому надо этот интерфейс прикручивать изнутри флеша. Это можно, вот пример http://www.codeproject.com/KB/audio-video/...xternalapi.aspx. Вот как-то пока так.

ЗЫ: Если будет нормальный интерфейс к событиям флешки. то реализовать кэш не проблема... оно у меня даже уже почти есть smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 14:12
Сообщение #9


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



WebBrowser1.Navigate('http://.......swf');
работает и грузит флашку.
Проверял - Хомо делал рабочий пример.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 14:26
Сообщение #10


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Хз, у меня в 2006 студии не работает, вылетает в глупую какую-то ошибку. Но не в этом суть. Флеш никому ни о чем не говорит, когда что-то делает. Надо делать все, что должно перехватываться вот таким образом
on(click) {
fscommand("sendCmd", 1);
}
т.к. писать свой контрол для флеша нереальн, а поиск по гуглу выдает только использование АктивХ компонента. smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 14:30
Сообщение #11


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Вот это тоже инфа
http://www.kansoftware.ru/?did=97

Там есть про перехват ссылок.
Но, если перехват не работает для флашки, то да, задача анрил.
Нужно это подтвердить или опровергнуть.
Изменять флашку под прогу - не вариант. Интересно именно перехватить ее обращения.

Не стоит у мя дельфи... сча буду качать турбо 2006
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 14:46
Сообщение #12


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Хз, покопаю еще, но я не нашел такого пока. Т.е. это искать компонент сторонний скорее всего придется. Но в стандартном АктивХ событий очень мало передается.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение Aug 6 2009, 15:47
Сообщение #13


матрос
***


Группа: форумчанин
Сообщений: 88
Регистрация: 23-May 05
Из: Украина, Донецк
Пользователь №: 771



У TWebBrowser есть обработчик событий на начало закачки файла и окончание, осталось только подумать, как этот файл подменить и как перехватить переход на него из флаш.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 15:55
Сообщение #14


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Цитата
У TWebBrowser есть обработчик событий на начало закачки файла и окончание, осталось только подумать, как этот файл подменить и как перехватить переход на него из флаш.

Блин, ну вы бы попробовали сначала, а уж потом бы говорили biggrin.gif Да он есть, но он работает только для НАВИГАЦИИ. Flash это делает по своему. Т.е. если первая флешка грузит вторую, то нифига уже не перехватывается.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 16:32
Сообщение #15


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



нашел портабл турбо дельфи - скомпилял простой пример, который раньше работал без проблем (сам видел!) - не работает в WebBrowser .swf - ошибка лезет, причем Иешная, он ее как строку читает и ругается на символы.
Ясности нет почему так, может раньше был плааер 9, сча 10, но не понятно. На форумах по дельфям пишут, должна работать по умолчанию без проблем.

С перехватом обращений из флашки (если заработает) нужно это тестить, если нельзя, то и вопрос тогда отпадет до "технической возможности"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 6 2009, 17:01
Сообщение #16


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



У меня есть подозрение, что эта ошибка связана с версие IE. С перехватом пока ищу инфу и варианты.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 6 2009, 17:04
Сообщение #17


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



может! у мя и ИЕ обновлялся до 8
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 7 2009, 06:54
Сообщение #18


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Просто у дельфи есть неприятная особенность (кроме некоторых других еще smile.gif) Ее компоненты сильно завязаны на версиях файлов ОС. Т.к. ребята пишущие их в большинстве случаев просто малограмотные. Я смотрел исходники Инди, я плакал. Честное слово.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Aug 7 2009, 08:49
Сообщение #19


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 15,484
Регистрация: 2-November 04
Пользователь №: 3



Вот она тестовая загадка

Дома на вин ХР сп3 не работает
На работе на виста ульт сп2 х64 работает

да, с таким подходом завязки на че-то внутри ОС, дельфи не канает.


Прикрепленные файлы
Прикрепленный файл  Project1.rar ( 176.25 килобайт ) Кол-во скачиваний: 435
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 7 2009, 09:00
Сообщение #20


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,960
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Алекс, а как мувик второй грузится из флеша? Я это о чем, попробовал даже сделать новый класс, производный от Flash AX, все равно там не нашел ничего интересного... хотя некоторые функции и методы еще поковырять можно.

Кстати, а почему все же не сделать интеграцию со своим клиентом? Так будет более логично, если ты хочешь именно отдельным клиентом это все показывать, а не стандартными браузерами.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

3 страниц V  1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27th October 2021 - 02:52
Яндекс цитирования Rambler's Top100
Rambler's Top100