Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Если что, то здесь имеется описание возможностей и областей применения VBScript, а также начальный учебный курс для желающих ближе познакомиться со скриптовыми языками. Это я к чему? К более четкому пониманию что и зачем можно делать, да и если вдруг появятся какие-то идеи или задачи стОящие своего воплощения в виде функций к Необук, то высказывайтесь... Либо сами попробуйте свои силы! Как задавать вопросы
dim filesys, text, readfile, contents set filesys = CreateObject("Scripting.FileSystemObject") Set text = filesys.CreateTextFile("c:\somefile2.txt") text.Write "A quick example of the Read method" text.close set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false) contents = readfile.Read(7) readfile.close
publication.nbSetVar "[result]", "The first seven characters in the text file are '" & contents & "'."
:End Code
Добавлено (30 Август 2009, 19:45) ---------------------------------------------
Quote (skan)
A quick example of the Read method
Если пишу русские буквы, то не работает! Школа NeoBook - второе дыхание! Мы открылись, спустя три года, с новыми силами, с новыми знаниями, с новым сайтом!
vbScript Example: Write to text file, read first 7 characters in file and display result
This method reads the number of characters you specify from a Textstream file and returns them as a string. If you specify more characters than actual exist in the file, then Read only returns the actual number of characters that are in the file. The results are stored in the [result] neobook variable.
:Code
dim filesys, text, readfile, contents set filesys = CreateObject("Scripting.FileSystemObject") Set text = filesys.CreateTextFile("c:\somefile2.txt") text.Write "A quick example of the Read method" text.close set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false) contents = readfile.Read(7) readfile.close
publication.nbSetVar "[result]", "The first seven characters in the text file are '" & contents & "'."
:End Code
Добавлено (30 Август 2009, 19:54) --------------------------------------------- Оно вроде! Да?
Добавлено (30 Август 2009, 19:55) ---------------------------------------------
Quote
WScript.Echo "Это мой скрипт".
это не то. Оно вообще не работает. Школа NeoBook - второе дыхание! Мы открылись, спустя три года, с новыми силами, с новыми знаниями, с новым сайтом!
Дата: Вт, 22 Сентября 2009, 12:26 | Сообщение # 16
Необукер
Проверенные
Сообщений: 4238
Offline
DEMBEL, на тебя одна надежда мой друг есть тема, которую надо реализовать: Есть некая хтмл страница, надо оттуда выдернуть значение имено с формы form получить значение action вот отрывок из хтмл
Дата: Вт, 22 Сентября 2009, 13:00 | Сообщение # 17
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Реально, только с одноклассниками я ковырялся уже и бросил, ниче не вышло, там намутили хрени всякой...
Добавлено (22 Сентябрь 2009, 13:00) --------------------------------------------- Я уже где-то писал как скриптом на-лету выхватывать код со странички, попробую сделать демку, ты токо скажи чтоб получить твой кусок кода по какому адресу нужно перейти, где его искать.
Дата: Вт, 22 Сентября 2009, 13:39 | Сообщение # 18
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (DEMBEL)
Реально, только с одноклассниками я ковырялся уже и бросил, ниче не вышло, там намутили хрени всякой...
да не вроде нормалльно все, я уже на НБ сделал и логонится без проблем, только вот замарока с этим тегом, он у них динамически менятся, и если пару раз зайти с одного адреса, то выкидывает на анти спам, защита такая у них
Quote (DEMBEL)
твой кусок кода по какому адресу нужно перейти
да он меняется постоянно, вот я выделил редом меняющиеся пункты
Дата: Вт, 22 Сентября 2009, 13:46 | Сообщение # 19
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (sp3d)
он у них динамически менятся, и если пару раз зайти с одного адреса, то выкидывает на анти спам, защита такая у них
я в курсе...
Quote (sp3d)
ты про это спрашивал?!
Нет, я спрашивал каким образом ты этот текст получать будешь. Я могу сделать чтоб скрипт сам лез на страницу, загружал ее и откусывал нужный кусок и передавал его в НБ - тогда нужно указать по какому адресу лезть. А если ты сам будешь кусок вытаскивать, тогда скрипту можно просто подсунуть его через переменную. А, я кажется понял - надо чтобы он искал этот кусок в уже загруженной в обьект браузер страничке, да? А то скрипт может и независимо слазить по адресу и выдрать кусок, вот я и спрашиваю. Как задавать вопросы
Дата: Вт, 22 Сентября 2009, 13:56 | Сообщение # 21
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
понятно, щас попробую демо сделать... я просто с "браузером" и всякими browserexecscript не работал. А там же можно текст оттуда выдрать - что мешает парсить средствами НБ? Как задавать вопросы
Дата: Вт, 22 Сентября 2009, 14:39 | Сообщение # 23
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Пытаюсь парсить страницу логина, он мне каждый раз новые значения выдает, это так и должно? --- А я все понял, из-за этого и нельзя парсить с НБ, все понял, сорри... --- Нет, не понял почему нельзя! --- В каком виде нужна строка, можно так: "http://wg124.odnoklassniki.ru/cdk/st.cmd/login/tkn/1246" http://wg124.odnoklassniki.ru/cdk/st.cmd/login/tkn/1246 wg124.odnoklassniki.ru/cdk/st.cmd/login/tkn/1246 или просто две переменные со значениями wg124 и 1246 --- Обьясни почему нельзя загрузить текст страницы из браузера в переменную и отпарсить его средствами НБ? Зачем скрипт? Как задавать вопросы
Действительно, на странице обычно две формы - вначале выбор языка, потом логин. Этот скрипт получает данные из тегов Form и кладет их в массив, откуда выбирает их атрибуты, в данном случае action. Так как форма входа вторая по счету, мы возвращаем значение action формы в массиве под номером 1 (нумерация с нуля): (formsArray[#91]1[#93] Вместо document.write (это было для дебага) присвой ее значение в переменную с помощью var. Или сразу присвоить в НБ-переменную. Ну я думаю ты доделаешь под свои нужды, если че спросишь. -- Кстати, BrowserExec скрипт должен писаться в одну строчку? Жесть! -- Еслиб форма имела наименование, мы бы прямо к ней обращались, а то все формы перебрать придется... Как задавать вопросы
Дата: Пн, 28 Сентября 2009, 21:29 | Сообщение # 27
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
1. У тебя в передаваемой переменной есть символы двойных скобок " " " Теперь представь что мы присваиваем значение такой переменной в скрипте, что происходит: htmlcode = "<html> <head> </head> <body> <table border="0" cellpadding="2" cellspacing="1" width= она обрезается по второй скобке, т.к. считает ее концом. Скобки лучше предваоительно заменять спецсимволами, а лучше такую хрень в скрипте читать из файла -- Похоже, что ошибка возникает даже на уровне НБ по тому же принципу, так как если просто передать такое значение как у тебя но не использовать в скрипте, то ошибка. Вызов функции без параметров Call "valuta" "" "" "" отрабатывает нормально, имеющиеся значения htmlcode парсятся без проблем. Как задавать вопросы
Похоже, что ошибка возникает даже на уровне НБ по тому же принципу, так как если просто передать такое значение как у тебя но не использовать в скрипте, то ошибка.