Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Всем доброго времени суток, у меня возникли трудности при реализации своей программы :), суть программы в том, что она заходит на сайт bash.org.ru и скачивает странцу, потом переносит её в статью, и после всего статью можно сохранить. Проблемы начались когда я только начал скачивать страницу, она пишет что её некуда сохранить. Заранее спасибо)
Правильно пишет, т.к., судя по скрину отладчика, в команде DownloadFile не указано имя (с путем) сохраняемого файла. Должно выглядеть примерно так:
Code
DownloadFile "http://bash.org.ru/" "Полное имя сохраняемого файла" "HideProgress"
К тому же, асинхронный режим в этом случае лучше не использовать.
Quote (Noobi_66)
потом переносит её в статью, и после всего статью можно сохранить.
Вот это совсем непонятно. Скачанную страницу можно сохранить как HTML-файл, а можно как текстовой файл, но только в текстовом объекте (Article) она будет отображаться весьма прикольно в этом случае...
Noobi_66, пожалуйста, в следующий раз при создании на форуме новых тем, давайте им понятные названия! Иначе темы будут удаляться в "мусорку" без предупреждения!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Сказал бы конкретно что именно надо сделать с сайтом башорг? Выдрать оттудова себе в проект цитаты? Это можно сделать и без промежуточного сохранения. Получи содержимое страницы в переменную с помощью InternetGet, затем используя строковые функции необук отрежь лишнее (тут могут понадобиться продвинутые строковые функции, есть гдето такой плагин) и получи цитаты в виде содержимого переменных, с ними делай что хочешь. Если алгоритм "вырезания" не придумаешь, то я потом помогу, но еще не совсем скоро это будет... Если качаешь и сохраняешь в html-файл, то для его корректного отображения используй не обьект Article (Статья), а обьект WebBrowser (Браузер). Как задавать вопросы
DEMBEL, Ну моя затея именно в этом, но в браузере я же не вставлю в меню, файл там сохранить )
Quote (DEMBEL)
Если качаешь и сохраняешь в html-файл, то для его корректного отображения используй не обьект Article (Статья), а обьект WebBrowser (Браузер).
Ты тут сказал и мне вдруг стало интересно, получается он может "выдерать" из текста нужное ? если так, то я думаю проше было бы переместить все это в статью, и в статье сделать кнопку для сохранения.)
почему нет, все можно. В WebBrowser большие возможности--> НБ+JS/VBS+(если нужно плагин)=бомба
Согласен, но к чему этот лишний гиморой, ежели можно просто создать кнопку, на статье для сохранения и все)
Quote (Сергей)
можно, тут где то на форуме Дембель выкладывал скрипт по очищению тегов в хтмл-е, т.е. чистый текст всей страницы
Искал, искал я и чего то не нашел...
у меня тут еще один вопрос родился, вот скачал я страничку, а то что я скачал, надо как то запустить, но не через "run" иначе он браузер открывает сразу, и множество окон.. А вот как?
прямая дорога в хелп!!! Я тут приведу кусок кода, давно пытался сделать парсер средствами НБ, типа твоего сабжа, потом забросил в пользу плагинов Да и еще, функция не доделаная, ищет только первый вариант, а потом в бесконечность, но как для примера пойдет
Code
.Сразу оговорюсь, этот путь не самый лучший из-за медлительности .парсится страница по адресу _http://bash.org.ru/best BrowserExport "WebBrowser1" "[html]" .массив разделеный патерном StrParse "[html]" "<div class=[#34]vote[#34]>" "[div]" "[count_div]" Loop "1" "[count_div]" "[i]" .начала парса(с какой буквы начинать отсчет) SearchStr "<div>" "[div[i]]" "[dv_i]" "" IfEx "[dv_i] > 0" .убираем из поиска сам патерн(+количество символов в <div>) Math "[dv_i]+4" "" "[j]" WhileEx "1=1" Math "[j]+1" "" "[j]" .извлекаем каждый следующий символ SubStr "[div[i]]" "[j]" "1" "[bukfa]" IfEx "[bukfa] = [#60]" .если это наш оконцовочный(наша окнонцовка </div>), то прекращаем цикл SubStr "[div[i]]" "[j]" "[j]+3" "[bukfa2]" IfEx "[bukfa2] = /div" ExitWhile EndIf EndIf .вывод результата SetVar "[res]" "[res][bukfa]" EndWhile SetVar "[res]" "[res][#13]" EndIf EndLoop
Рекомендую почитать всетаки хелп, для знания стандартных команд
По сути это самое "нубское" что смог придумать) ошибка только в том, что он открывает все в браузере, а не в статье.(для начала пусть хотя бы там откроет перед тем как манать сбее мозги как выташить только цитаты) Все делаеться, вот только почему то html страница не сохраняется..
Сообщение отредактировано Noobi_66 - Пн, 19 Июля 2010, 15:21
да не только, там кроме первой и последней строчки, все в мусорку ---------------------------------------- 2строка-идет запись в файл, где переменая [Article1] наполнитель, а где данные?! в НБ на данном этапе [Article1]=пусто ---------------------------------------- 3строка-причем тут GET запрос, да и зачем загонять в переменую тоже самое, что уже было скачено и сохранено в 1строчке?! ---------------------------------------- 4строка- походу мало, ведь перед этим (по сути тоже самое) уже выполнилось 2 раза ---------------------------------------- когда пишешь команды, смотри что они выполняют
Все работает теперь вот только осталось сделать так что бы он отсеивал все теги, Js нормального я не нашел, а вот программу нашел, вот думаю, как бы связять их.
Вопрос уже в другом возник, если я найду(хотя наверно сам лучше напишу) js, то его лучше сделать отдельным файлом?, или запихнуть куда-либо?
Все делаеться, вот только почему то html страница не сохраняется..
Потому, что нет сохранения. 1 строка: куда сохраняется загруженый файл?! и откуда потом берется в дальнейшем для использования этот файлю видишь разницу?!
Добавлено (19 Июль 2010, 17:50) ---------------------------------------------
Quote (Noobi_66)
Js нормального я не нашел
под такие нужды унивирсального нет, надо самому под свои потребности писать
Quote (Noobi_66)
или запихнуть куда-либо?
или испоьльзовать в самой НБ. Либо в WebBrowser, либо создать функцию на JS(Опции --> Библиотека функций --> Новая функция --> JScript) Тут на форуме обсуждалось, как можно применять JS
куда сохраняется загруженый файл?! и откуда потом берется в дальнейшем для использования этот файлю видишь разницу?!
Да добовлется [PubDir], как я понял это что то в роде temp файла, но а как тогдк его сохранить!? после просмотр)
<?php // $document на выходе должен содержать HTML-документ. // Необходимо удалить все HTML-теги, секции javascript, // пробельные символы. Также необходимо заменить некоторые // HTML-сущности на их эквивалент.
Я наш это, вот только это php, с ним паступаем так же как и с JS?\
нет, НБ не понимает php
Quote (Noobi_66)
Да я нуби и что? а вы как будто бы не были такими?
причем здесь это?! я показал не про нубство, а ошибки логики и внимательности, и к уровню знаний ководство не имеет ни какого отношения! я досих пор в НБ нуб. и для ясности ненадо больше подобных постов, тут ни кто ни кого не хочет унизить в нубстве-это порядочный форум. А теперь, все также, для ясности замнем
Добавлено (19 Июль 2010, 18:29) ---------------------------------------------
Quote (Noobi_66)
как я понял это что то в роде temp файла
это не темп
[PubDir] Путь к папке, где размещается текущее приложение (exe-файл, созданный в NeoBook) [TempDir] Путь к директории "Temp", размещенной в каталоге Windows.
Добавлено (19 Июль 2010, 18:32) ---------------------------------------------
Quote (Noobi_66)
но а как тогдк его сохранить!?
кого "его сохранить"?!
Сообщение отредактировано Сергей - Пн, 19 Июля 2010, 18:30
ну?! ты же пишешь скаченый....значит он уже где то сохранен, а?! Посмотри html-файл(123.html) в папке, где находится сам проект (*.pub файл), может будет чудо!
как можно просто сохранить тот текст который есть в статье..
Зачем его сохранять? В этом объекте открывается текст предварительно УЖЕ СОХРАНЕННЫЙ в файле! - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В каком именно? Прооекты NeoBook не умеют конвертировать файлы из формата в формат. Между тем, существуют плагины, которые позволяют расширить возможности для работы с текстами. Наиболее "продвинутый"из них вот этот плагин.
Noobi_66, пожалуйста, формулируйте суть ваших проблем конретнее, а заниматься гаданием никто здесь не намерен. Телепатов здесь тоже нет!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Peter, Простите, что не смог выразиться точно, в общем, суть в том что, уже хочу затронуть немного свой другой проект.
Вопрос в том, как вообще можно сохранять файлы, которые только что отредактируемы этой программой, приведу пример, вот через NeoBook мы создаем *.pub файл, после чего можем его открывать, и сохранять, и изменять, в своей программе я бы хотел сделать что-нибудь подобное, только пока что не могу.
Вопрос в том, как вообще можно сохранять файлы, которые только что отредактируемы этой программой
Если коротко, командой FileWrite...
Noobi_66, давайте определимся сразу, и усвоим "как отче наш!" одну вещь: штатными средствами проекты NeoBook могут обрабатывать (т.е не только отображать, но и ещё редактировать и сохранять) только текстовую информацию, или информацию в текстовом виде. Иными словами, можно напрямую работать с текстовыми файлами: читать их, редактировать и сохранять/пересохранять, создавать новые.
Для того, чтобы все это сделать вам надо изучить команды NeoBook как минимум из разделов "файлы" и "строки", а также соотвественно изучить устройство "текстовых" объектов NeoBook, и в частности компонент "Поле ввода текста" (TextEntry), в котором можно прямо из проекта редактиовать тексты. Компонент Arcticle позволяет только ОТОБРАЖАТЬ текст ИЗ ФАЙЛА, но не редактировать или сохранять! Кроме того, потребуется хорошенько изучить что такое переменные, и с чем их едят.
Рекомендую для начала почитать соответствующие разделы русской справки к NeoBook. К сожалению, справочный файл не от самой свежей версии NB, но принципиальных отличий по части работы с файлами и строками, переменными (да и не только) нет.
Если же имеющихся "по умолчанию" возможностей NeoBook вам будет недостаточно, то тогда можно прибегнуть и к помощи плагинов.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Peter, Благодарсвую за нужные моменты. Все ясно и понятно А тогда получается через arcticle только просмотр, получаеться через Textentry, спасибо о "всевышний"
А тогда получается через arcticle только просмотр, получаеться через Textentry, спасибо о "всевышний"
если в край надо в артикле смотреть, то бишь в rtf, то найти в сети консольный конвертер html в rtf и запускать после загрузки страницы из НБ, а после конвертирования грузить в артикл
хм, что то я не понял что это было?! Если это просто для показа страницы в объекте браузер, то можно просто грузить прям в объект и не скачивать. ладно чуть позже сделаю пример для наглядности