Просмотр полной версии : Помогите организовать javascript в delphi
Собственно сабж. есть javascript результат которого записывается в переменную. мне надо чтобы программа коннектилась к серверу и выводила результат переменой в мемо. Помогите пожалуйста! как это организовать ??
Перепиши JS на делфи, в чем проблема?
alexey-m
11.02.2010, 15:43
Выкладывай код
Jingo Bo
11.02.2010, 15:56
Парсишь и к примеру в TWebBrowser или берешь допусим какой нить движок(SpiderMonkey например)
Jingo Bo
11.02.2010, 16:03
Вот архив, в нём портированные модули для SpiderMonkey на делфи. Вещь очень интересная, реализация супер, но там с отладчиком траблы и что бы к своему приложению прикрепить, нужно добавить ещё достаточно большой функционал(реализовать полноценные классы document, window и т.д.)
http://slil.ru/28631277
вот значит сам скрипт:
<script type="text/javascript">
window.init_dec_hash = function() {
window.decoded_hashes = {};
var dec_hash = function(hash) {
(function(_){window.decoded_hashes[_]=(function(__){var ___=ge?'':'___';for(____=0;____<__.length;++____)___+=__.charAt(__.length-____-1);return geByClass?___:'___';})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);
}
window.decodehash = function(hash) {
dec_hash(hash);
return window.decoded_hashes[hash];
}
}
</script>
я так понял что основная фича в этих строках
(function(_){window.decoded_hashes[_]=(function(__){var ___=ge?'':'___';for(____=0;____<__.length;++____)___+=__.charAt(__.length-____-1);return geByClass?___:'___';})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);
их и надо на дельфи переложить!
Jingo Bo спасиибо за ответ! буду пытаться!! но там заморочек много очень в этом движке... Проще переписать javascript на дельфи
Jingo Bo
11.02.2010, 16:51
Перевел, переводится как оказалось на раз-два:)
function dec_hash(hash : String) : String;
Var i : Integer;
Begin
result := hash;
Delete(result, 1, Length(result)-5);
hash := result + Copy(hash, 5, Length(hash)-12);
result := '';
for i := 0 to Length(hash)-1 do
result := result + hash[Length(hash)-i];
end;
вот значит сам скрипт:
<script type="text/javascript">
window.init_dec_hash = function() {
window.decoded_hashes = {};
var dec_hash = function(hash) {
(function(_){window.decoded_hashes[_]=(function(__){var ___=ge?'':'___';for(____=0;____<__.length;++____)___+=__.charAt(__.length-____-1);return geByClass?___:'___';})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);
}
window.decodehash = function(hash) {
dec_hash(hash);
return window.decoded_hashes[hash];
}
}
</script>
я так понял что основная фича в этих строках
(function(_){window.decoded_hashes[_]=(function(__){var ___=ge?'':'___';for(____=0;____<__.length;++____)___+=__.charAt(__.length-____-1);return geByClass?___:'___';})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);
их и надо на дельфи переложить!
vkontakte.ru
функция получения хеша используемого при добавлениях в друзья
да именно он. Мне его расшифровать надобно
Jingo Bo
11.02.2010, 18:24
Эм...а мой выше привёдеённый код не?
Jingo Bo, какую именно строку нужно передать твоей функции, чтобы получить хеш? Приведи пример.
Jingo Bo
11.02.2010, 19:37
function dec_hash(hash : String) : String;
Var i : Integer;
Begin
result := hash;
Delete(result, 1, Length(result)-5);
hash := result + Copy(hash, 5, Length(hash)-12);
result := '';
for i := 0 to Length(hash)-1 do
result := result + hash[Length(hash)-i];
end;
Ещё раз скопипастил, вот пример использования, вам контакт даёт хэш, "69bb2ecc5ab564743f4700fd7", вводите его в функцю и получаете "347465ba5cce27df00" вот и всё. На всякий случай:) ShowMessage(dec_hash('69bb2ecc5ab564743f4700fd7')) ;
Jingo Bo БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!! сорь когда я свой пост писал твоего еще не было))) Тему закрываю!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot