Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Помогите организовать javascript в delphi (https://forum.antichat.xyz/showthread.php?t=177992)

seet09 11.02.2010 14:31

Помогите организовать javascript в delphi
 
Собственно сабж. есть javascript результат которого записывается в переменную. мне надо чтобы программа коннектилась к серверу и выводила результат переменой в мемо. Помогите пожалуйста! как это организовать ??

nMonkn 11.02.2010 14:53

Перепиши 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

seet09 11.02.2010 16:03

вот значит сам скрипт:
<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);

их и надо на дельфи переложить!

seet09 11.02.2010 16:05

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;

W!z@rD 11.02.2010 17:19

Цитата:

Сообщение от seet09
вот значит сам скрипт:
<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
функция получения хеша используемого при добавлениях в друзья

seet09 11.02.2010 18:02

да именно он. Мне его расшифровать надобно

Jingo Bo 11.02.2010 18:24

Эм...а мой выше привёдеённый код не?

Chrome~ 11.02.2010 18:43

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')) ;

seet09 12.02.2010 08:25

Jingo Bo БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!! сорь когда я свой пост писал твоего еще не было))) Тему закрываю!


Время: 18:01