Создание проекта-оболочки для чтения книг CHM
|
|
viktor_ch | Дата: Пятница, 05 Сентября 2008, 20:34 | Сообщение # 1 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Сделал с помощью интернетовского знакомого проект ММВ. Связь с этим знакомым, к сожалению, потерялась, так многое ещё и не усвоил. Я прошу загляните на http://civil-identification.info/contents.htm Там выложен этот мой проект. Хотелось бы получить какую-то оценку, критику, соображения и предложения. Общая задача у меня такая. Есть библиотека электронных книг в формате chm. Она выложена у меня на сайте для бесплатного скачивания. Библиотека регулярно пополняется. Мне надо оформить к этой библиотеке интерфейс ММВ, с помощью которого можно было бы открывать любую книгу. Это я с сделал с помощью моего знакомого. Но есть три подзадачи (далее буду писать на том уровне компьютерной грамотности, каковым обладаю, т.е. уровень "чайника"). 1. Мне надо, чтобы с сайта у меня скачивали не только вновь оформленные мною книги, но и этот интерфейсный файл. 2. Надо, чтобы я имел возможность на флэшке установить на компьютер своим друзьям, коллегам знакомым эту библиотеку. 3. Надо, чтобы я мог записывать её на CD с автозапуском. Вопросы: 1. Нужны ли в выложенном для скачивания проекте папки booton и img? Как я понимаю, всё что в них есть, имеется в скомпилированном файле library.exe. 2. Не всё понятно с абсолютными и относительными путями. Я на вышеуказанной странице даже инструкцию про ярлык на рабочем столе написал. Правильно ли я её написал? Как надо решать проблему с путями? С уважением, Виктор Шмаков
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Пятница, 05 Сентября 2008, 20:41 | Сообщение # 2 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Здравствуйте, Виктор. Для начала разрешите поприветствовать вас на нашем форуме (Мы с вами - и только мы - понимаем, о чем речь :))) Вопросы ваши сейчас начнем решать. 1. Проект ваш я видел. Оценку в баллах давать не стану, скажу лишь, что это работа человека, знакомого с ММВ максимум один день. Ибо никаких команд, кроме перехода страниц и запуска внешних файлов, в проекте нет. 2. Книги ваши выложены в формате chm, который сам по себе уже самодостаточен, и для его комфортного прочтения не требуется никакой специальной оболочки. Поэтому на сей момент ваша оболочка ПРОСТО НЕ НУЖНА, потому-что она всего лишь запускает указанные файлы книг из папки book. А они и без оболочки прекрасно открываются. Более того, если книга не найдена, программа выдает ошибку, а так в проектах делать не принято. Не нашла - значит не нашла, должна об этом и написать 3. До CD с автозапуском дело еще не дошло, просто потому- что нет достойной программы для этого. А значит, нужно ее сначала сделать, так как то, что имеется сейчас - это несолидно. 4. В выложенном для скачивания проекте папки booton и img НЕ НУЖНЫ!!! 5. Проблема с путями в программе и с путями в ярлыках - разные темы. Вторая тема к ММВ отношения не имеет, а с первой в вашем проекте как раз проблем нет - все вроде открывается. Ну и последнее. Для того, чтобы непременно скачивали вашу оболочку, нужно сделать так, чтобы сами книги БЕЗ НЕЁ НЕ ОТКРЫВАЛИСЬ!!! В противном случае она не нужна и качать ее никто не будет. И вот еще что. Тема под названием "Учусь работать с ММВ" НЕИНФОРМАТИВНА. У нас принято каждую проблему рассматривать в ОТДЕЛЬНОЙ теме, с названием, говорящим само за себя, какая проблема в теме решается. Иначе на форуме будет бардак. Поэтому данную тему я закрою, а вы создавайте новые темы ДЛЯ КАЖДОГО ВОПРОСА ОТДЕЛЬНО!!! Например, можно создать тему о том, как сделать так, чтобы книги не открывались без оболочки. Другая тема - об автозапуске готовой программы с CD. Третья тема - об относительных путях (впрочем, данная тема уже неоднократно была рассмотрена на форуме, достаточно лишь внимательно поискать). И так далее, и так далее... Удачи!
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Пятница, 05 Сентября 2008, 21:54 | Сообщение # 3 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) 2. Книги ваши выложены в формате chm, который сам по себе уже самодостаточен, и для его комфортного прочтения не требуется никакой специальной оболочки. Поэтому на сей момент ваша оболочка ПРОСТО НЕ НУЖНА, потому-что она всего лишь запускает указанные файлы книг из папки book. А они и без оболочки прекрасно открываются. Более того, если книга не найдена, программа выдает ошибку, а так в проектах делать не принято. Не нашла - значит не нашла, должна об этом и написать Оболочка нужна не для повышения комфортности чтения. Я посчитал, что если библиотека будет у кого-то на компьютере (целиком или близко к тому), то с помощью этого интерфейса ею удобнее (и приятнее) будет пользоваться. А насчёт того, что "книга не найдена" (вы, видимо, имеете в виду, что у кого-то библиотека будет не в полном комплекте), то я сечас подумал, что в папку book надо сразу помещать файлы chm, соответствующие книгам, но на самом деле это лишь страничка, где имеется надпись, типа: "Данная книга в вашей библиотеке отсутствует, её надо скачать там-то и поместить в папку book, заменив имеющийся одноимённый файл с сообщением, которое вы сейчас читаете".
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Пятница, 05 Сентября 2008, 22:15 | Сообщение # 4 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) с помощью этого интерфейса ею удобнее (и приятнее) будет пользоваться Это ведь кому как. Мне, например, удобнее просто открывать файлы, список которых я прекрасно вижу в папке с тематическими статьями, куда я предварительно их распределяю :) Всё же, я предпочел бы сделать некий экслюзив для популяризации своей оболочки, сделав так, чтобы без нее файлы открыть никто не мог. А это, кстати, совсем не сложно :) Quote (viktor_ch) насчёт того, что "книга не найдена" Quote (viktor_ch) имеется надпись, типа: "Данная книга в вашей библиотеке отсутствует, её надо скачать там-то и поместить в папку book Опять это не есть лучшее решение. Не надо делать никаких "пустых" файлов-обманок. В ММВ есть команда проверки указанного файла, и дальше по сценарию легко сделать так, что если файл имеет место быть, то он запускается, в противном случае выводится выводится либо сообщение о том, что книга отсутствует, либо даже специально подготовленное окошко со ссылкой для скачивания. И еще важный момент. В настоящее время ваша оболочка сделана только для книг, имеющихся на вашем сайте в наличии на сегодняшний день. А если завтра появятся новые книги, то что - придется переделывать и оболочку? Это неправильно. Нужно, чтобы программа УМЕЛА САМА находить те книги, которые пользователь скачал и положил в папку программы, и ВЫВОДИТЬ ИХ в список. В том числе и вновь появившиеся на сайте.
Да пребудет с вами ММВ!
|
|
| |
Alex3A | Дата: Пятница, 05 Сентября 2008, 22:40 | Сообщение # 5 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Представленная оболочка, вема скудна по дизайну и функционалу, это с точки зрения человека знающего в этом толк Однако сам факт что вы ее все таки ее сделвли, и это ваш первый проект, вызывает уважение. Имеет смысл эту оболочку сделать универсальной, не зависящей от состава библиотеки. Так что если у вас есть вдохновение, изучить ммв. мы вам поможем. Основной принцмп поиощи - мы не делаем никому никакие проекты, но готовы помочь в изучении, разъяснить все что надо, посоветовать.
|
|
| |
as-master | Дата: Пятница, 05 Сентября 2008, 22:42 | Сообщение # 6 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Alex3A) Имеет смысл эту оболочку сделать универсальной, не зависящей от состава библиотеки. ВОТ!!! Именно это я ведь и предлагал: Quote (as-master) В настоящее время ваша оболочка сделана только для книг, имеющихся на вашем сайте в наличии на сегодняшний день. А если завтра появятся новые книги, то что - придется переделывать и оболочку? Это неправильно.
Да пребудет с вами ММВ!
|
|
| |
as-master | Дата: Пятница, 05 Сентября 2008, 23:01 | Сообщение # 7 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Простой пример реализации. В скрипте старта первой страницы пишем: dir$='<SrcDir>\book\\' SearchForFiles("dir$","chm") ListBoxAddItem("SongList","RESET") ListBoxAddItem("SongList","<List>") Lis tBoxGetItems("SongList","<List>") SongListReset() ListBoxGetItems("SongList","<List>") ListBoxSelectItem("SongList","1") ListBoxGetSelec tedItems("SongList","Items$,ItemsNum$,#,NumItems") Таким образов все файлы из папки book в каталоге с программой будут найдены и занесены в список. Далее, в самом списке (объект SongList) пишем сценарий для двойного щелчка мышью: ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") num=VAL(ItemsNum$) Path$=GetArrayItem(Items$,#,NumItems) Run( "Path$","") Теперь по даблклику по книге в списке она и запустится. Этот пример показывает свободу от заранее известного числа книг и их названий. На всякий случай (если непонятно) прицепил проект к посту. Запомните: работать будет только в скомпилированном виде в тот каталог, где есть папка book с файлами в формате chm. К админу!!! Форумный скрипт стал зихерить, когда ставлю тэг code - добавляет где ему взбредет в голову пробелы в ММВ-код!!!
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Суббота, 06 Сентября 2008, 07:47 | Сообщение # 8 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Это ведь кому как. Мне, например, удобнее просто открывать файлы, список которых я прекрасно вижу в папке с тематическими статьями, куда я предварительно их распределяю :) Это вы меряете по своим меркам. Есть масса людей (а среди тех, для кого моя библиотека может представить интерес – их большинство), которым работа с интерфейсом может быть удобнее. Опять же – красивая и удобная "упаковка". Которую, если нет в ней необходимости, можно не брать и не использовать, а пользоваться библиотекой так, как вы говорите. Quote (as-master) Всё же, я предпочел бы сделать некий экслюзив для популяризации своей оболочки, сделав так, чтобы без нее файлы открыть никто не мог. А это, кстати, совсем не сложно :) Так здесь-то вы вступаете в противоречие с самим собой Удобнее без интерфейса, но обязать его применять Quote (as-master) Не надо делать никаких "пустых" файлов-обманок. В ММВ есть команда проверки указанного файла, и дальше по сценарию легко сделать так, что если файл имеет место быть, то он запускается, в противном случае выводится выводится либо сообщение о том, что книга отсутствует, либо даже специально подготовленное окошко со ссылкой для скачивания. Отличная опция!!! Я о ней не знал. Теперь осталось научиться как её вставить в мой проект. Quote (as-master) И еще важный момент. В настоящее время ваша оболочка сделана только для книг, имеющихся на вашем сайте в наличии на сегодняшний день. А если завтра появятся новые книги, то что - придется переделывать и оболочку? Это неправильно. Нужно, чтобы программа УМЕЛА САМА находить те книги, которые пользователь скачал и положил в папку программы, и ВЫВОДИТЬ ИХ в список. В том числе и вновь появившиеся на сайте. !!!!! Но проблема та же (см. выше). Quote (Alex3A) Представленная оболочка, весьма скудна по дизайну и функционалу По функционалу я с вами более чем согласен. А вот по дизайну ничего не могу сказать – я дизайнер слабый. Имеющийся дизайн мне предложил мой знакомый, который ввёл меня в ММВ. В принципе, он меня очень даже устраивает – довольно выдержано, лаконично, без особых излишеств. Но если бы кто предложил какие-то доработки или варианты – был бы весьма благодарен за возможность выбора. Quote (as-master) Простой пример реализации. В скрипте старта первой страницы пишем: dir$='<SrcDir>\book\\' SearchForFiles("dir$","chm") и т.д. Так я ведь со скриптами-то вообще не работал, даже и не знал, что они существуют, где они находятся и как к ним добраться. Думал, что всё это внутри компилятора и недоступно. Мне Александр выслал одну страницу, я её клонировал сколько мне надо – вот и вся работа. Так что если вы меня настраиваете на работу со скриптами – это уже совсем другая история, что-то я сомневаюсь, что это мне будет по силам. И есть ли необходимость так глубоко копать? Хотя, освоить какие-то простейшие доработки в скриптах было бы, наверное, очень даже неплохо.Добавлено (06 Сентябрь 2008, 07:47) ---------------------------------------------
Quote (as-master) На всякий случай (если непонятно) прицепил проект к посту. Запомните: работать будет только в скомпилированном виде в тот каталог, где есть папка book с файлами в формате chm. Прикрепления: 2826148.mbd(2Kb) Скачал, но что с этим делать - не знаю.
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 11:24 | Сообщение # 9 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) здесь-то вы вступаете в противоречие с самим собой Никаких противоречий нет!!! Если книги можно читать и так - то оболочка не нужна. А я говорил о том, что сделал бы так, что без оболочки книги читать было бы нельзя!!! Quote (viktor_ch) Так я ведь со скриптами-то вообще не работал, даже и не знал, что они существуют... что-то я сомневаюсь, что это мне будет по силам.... И есть ли необходимость так глубоко копать? 1. Скрипты не только СУЩЕСТВУЮТ - они-то и есть главная сила ММВ!!! 2. Будет по силам. Ничего особо страшного в скриптах нет. 3. Необходимость глубоко копать ЕСТЬ!!! Иначе для вас ММВ останется игрушкой, и это МОЩНЕЙШИЙ инструмент управления мультимедиа. Quote (viktor_ch) Скачал, но что с этим делать - не знаю Создать папку book, в которую положить книги в формате chm. Проект скомпилировать в папку, где лежит папка book (не в саму эту папку, а в один каталог с ней) и запустить. И посмотреть, как работает такой сценарий. Проект найдет сам все книги в папке book и выведет их в список. После чего по двойному щелчку в списке выбранная книга запустится. Об остальном поговорим позже. Вернусь на форум ближе к вечеру.
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Суббота, 06 Сентября 2008, 18:21 | Сообщение # 10 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Об остальном поговорим позже. Только что вернулись с женой со своих 6-ти соток, начинаем завершать летний садово-огородный сезон. Задание ваше оказалось одним из простейших. Выполнил. Всё работает так, как вы и сказали.
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 18:31 | Сообщение # 11 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Ну вот видите - и легко, и приятно на душе - потихоньку должно появиться чувство возрастающего самоуважения и приобщения к программерскому кругу Теперь поехали дальше. Щас курну и допишу этот пост...
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Суббота, 06 Сентября 2008, 19:00 | Сообщение # 12 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Ну вот видите - и легко, и приятно на душе - потихоньку должно появиться чувство возрастающего самоуважения и приобщения к программерскому кругу smile Теперь поехали дальше. Щас курну и допишу этот пост... Покурите... Насчёт "чувства возрастающего самоуважения и т.д." - это вы несколько преувеличили. В даном случае я как робот выполнил предписанные мне действия. Но я не считаю нужным (да, и возможным) пытаться события форсировать - обучение идёт своим чередом. В некоторых моментах быть пока всего лишь "роботом" - это неизбежно. Всё должно идти путём последовательной ЭВОЛЮЦИИ - это одна из основных идей в моей "Экологии общества" Добавлено (06 Сентябрь 2008, 19:00) ---------------------------------------------
Quote (viktor_ch) Всё должно идти путём последовательной ЭВОЛЮЦИИ - это одна из основных идей в моей "Экологии общества" smile P.S. Уточню: Всё должно идти путём ПОСЛЕДОВАТЕЛЬНОЙ ЭВОЛЮЦИИ - это одна из основных идей в моей "Экологии общества".
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 19:12 | Сообщение # 13 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Теперь поехали дальше. Начну с того, что скрипты "живут" вот здесь, в свойствах почти каждого объекта, в поле "Действия", там где вы задавали действия для своих текстовых объектов, только вы выбирали готовое действие, а для скриптов есть отдельная кнопочка, открывающая окно редактора для написания сценариев: К примеру при запуске книг по нажатию на их названии вы выбирали действие "Запустить программу" и указывали путь в ней, вот так: <SrcDrive>\library\book\kasta.chm Теперь давайте просто переделаем это следующим образом. Там, где вы написали это действие, всё уберите (оставьте "Нет действия"), а откройте редактор скриптов и напишите в нем: Run("<SrcDrive>\library\book\kasta.chm","") Будет всё то же самое! Вот так и приучите себя поступать, команда Run - это запуск программ и файлов. Причем, когда вы напишете слово Run, редактор остальное "допишет" сам, в нем работает автоматическое дополнение кода. Итак, сделайте как я написал и проверьте. Всё будет работать. Теперь еще немного изменим скрипт, и напишем его так: book$='<SrcDrive>\library\book\kasta.chm' Run("book$","") По сути это такой же скрипт, но здесь уже введена переменная book$, которую мы будем менять для каждой книги, зато команда Run и другие команды, использующие переменную book$, если таковые в проекте появятся (а они появятся!!!) будут выглядеть ДЛЯ ВСЕХ КНИГ ОДИНАКОВО - меняться будет только значение переменной book$, которая содержит путь к запускаемой книге. А вот теперь можно добавить и проверку на отсутствие или присутствие файла книги. Перепишите скрипт следующим образом: book$='<SrcDrive>\library\book\kasta.chm' FileExist("book$","check") If (check=1) Then Run("book$","") Else message$='"Выбранная вами книга не найдена в библиотеке! '+CHR(13)+CHR(10)+'Пожалуйста, скачайте ее с сайта http:\\www... ",64' MessageEx("Книга отсутствует","message$") End Теперь команда FileExist проверит наличие файла и запишет эту информацию в переменную check. Если эта переменная равна 1, значит файл там есть, и тогда он запускается командой Run. В противном случае выводится сообщение стандартной формы: Выбранная вами книга не найдена в библиотеке! Пожалуйста, скачайте ее с сайта http:\\www... с заголовком окна "Книга отсутствует" и одной кнопкой ОК. Перепишите этот скрипт для всех ваших книг, не забывая о том, что он будет отличаться только значением переменной book$, всё остальное будет одинаково. Этого пока достаточно PS. И скачайте себе с сайта русскую справку по ММВ и сделайте ее настольной книгой. Поверьте - там всё есть!!!
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Суббота, 06 Сентября 2008, 19:29 | Сообщение # 14 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Этого пока достаточно smile Да, капитально вы меня нагрузили!! Буду разбираться, возможно, сегодня уже и не отвечу. Тут параллельно у меня ещё одна задача решается. Мой давний интернетовский знакомый, Дмитрий из Москвы, делает мне новый php-счётчик скачиваний книг с более широкими возможностями по статистике. Как раз сейчас занимаемся его отладкой, тестированием. Поспеваю и за вами, и за ним указания выполнять
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 20:15 | Сообщение # 15 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| На сайте есть еще парочка любопытных проектов-примеров для вас. Название: Сборник стихов Автор: as-master Особенности: Пример организации сборника стихов или других текстовых файлов в программе. Фишка данного проекта в том, что выбранный текстовый файл загружается не в объект Paragraph, а в объект Browser, что дает возможность отформатировать текст и раскрасить фон. К тому же у объекта Paragraph, как известно, полоса прокрутки в стиле Windows98... Проект лежит тут: http://www.mmbuilder.ru/mmb-other.html Название: Поэзия Автор: Rush Особенности: Пример очень грамотной организации программы - сборника стихов. Фишка данного проекта в том, что все стихи содержатся в одном единственном текстовом файле (внедренном). Это очень удобно в тех случаях, когда вы хотите сделать сборник каких-либо текстов только одним исполняемым файлом, чтобы запретить доступ юзеру к текстовым файлам, лежащим в открытом виде в каталоге с программой. Проект лежит тут: http://www.mmbuilder.ru/mmb-nh.html Название: Дополнительная информация из плейлиста Автор: as-master Особенности: Если вам нужно, чтобы при проигрывании плейлиста для каждой песни автоматически выводилась отдельно дополнительная информация о ней в виде текста и фотографии - то этот пример для вас. Пригодится при создании продвинутых мр3-коллекций. (PS. Можно иметь в виду, что в плейлист выводятся не песни, а книги; информация - это непосредственно текст книги, а картинка - это обложка книги). Проект лежит тут: http://www.mmbuilder.ru/mmb-tiles.html
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Суббота, 06 Сентября 2008, 20:52 | Сообщение # 16 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Этого пока достаточно smile Сделал для одной книги, проверил, всё работает как надо. Есть пара замечаний, о них будет ниже. Пока скажу, что вы, видимо, немного ошиблись со ссылками в моём пректе. То, что вы показали на картинке (для ссылки "Алексей Лосев") на самом деле ссылка на стр.8. А вот оттуда уже ссылка на книгу, но книга не kasta.chm, а mif.chm Это, конечно, детали не совсем по существу, я их уточняю лишь для того, чтобы если дальше у нас пойдёт пример именно с этим автором и его книгой, у нас не было разночтений. Теперь о замечаниях. 1. Почему-то по обновлённой ссылке, книга выводится в двух экземплярах. 2. Формочка появляется после и Но ведь кто-то может вместо "Ok" кликнуть в этих формочках по крестику, и до нужного сообщения не дойдёт. Quote (as-master) На сайте есть еще парочка любопытных проектов-примеров для вас. Пока ещё подробно не изучал, но действительно, любопытно, возможно что-то позаимствовать из идей можно будет.
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 21:55 | Сообщение # 17 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) вы, видимо, немного ошиблись со ссылками в моём пректе Нет, просто картинка была приведена лишь для иллюстрации того места, где в ММВ пишутся скрипты. Поэтому картинка не имеет отношения к дальнейшему изложению темы. А ошибка ваша связана с тем, что вы невнимательно прочли мои указания. А я писал вот что: Quote (as-master) Теперь давайте просто переделаем это следующим образом. Там, где вы написали это действие, всё уберите (оставьте "Нет действия") Поэтому у вас выполняется и мой сценарий, правильный, и ваш старый сценарий, прописанный в поле "Действия". А его нужно убрать, только и всего. Добавлено (06 Сентябрь 2008, 21:55) --------------------------------------------- Еще совет: параллельно с вашим проектом начните делать какую-нибудь "ненужность", в порядке экспериментов со сценариями ММВ. Читая справку, исследуйте изученные команды в этом вспомогательном проекте. Уверен, вы будете приятно поражены открывающимися для вас совершенно новыми, УНИКАЛЬНЫМИ возможностями :)
Да пребудет с вами ММВ!
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 22:55 | Сообщение # 18 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Будем считать, что всё у вас получилось, и тогда пойдем дальше. Сейчас при отсутствии ссылки у вас вылетает мессага о том что книга не найдена, с предложением ее скачать. Однако, в сообщении ссылка не активна! По ней нельзя ни перейти, ни скопировать ее в буфер. Ясно, что пользователю это неудобно. Поэтому на следующем этапе "улучшайзинга" вашего проекта уберем всплывающее сообщение и заменим его показом заранее подготовленной группы, в которой напишем и нужный текст, и разместим активную ссылку. Вот так к примеру выглядит окно нашей программы. Кстати, заметьте, что даже с помощью обычных прямоугольников можно сделать более интересный дизайн!): А вот так будет выглядеть то же окно, когда книга не будет найдена: То есть в этот момент всё основное окно как бы оттеняется и появляется сообщение о том, где скачать книгу, и активная ссылка. Для этого скрипт, который вы применили ранее, нужно изменить. Сообщение убрать, и вставить показ вот этой самой группы (назовем её mess), которая до поры до времени на странице лежит скрытой. Ваш новый скрипт: book$='<SrcDrive>\library\book\kasta.chm' FileExist("book$","check") If (check=1) Then Run("book$","") Else PlaySound("fs") Show("mess") End Я еще добавил одновременно с показом группы проигрывание звука под названием fs, который предварительно внедрил в проект ("Проект - Внедренный звук") При щелчке по гиперссылке происходит переход на ваш сайт, а сама группа скрывается. Также группа скрывается при щелчке по другим объектам группы. Чтобы вам было всё понятно, проект прикреплю в следующем сообщении.
Да пребудет с вами ММВ!
|
|
| |
as-master | Дата: Суббота, 06 Сентября 2008, 23:05 | Сообщение # 19 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Проект-пример, рассмотренный выше.
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Воскресенье, 07 Сентября 2008, 05:51 | Сообщение # 20 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Поэтому у вас выполняется и мой сценарий, правильный, и ваш старый сценарий, прописанный в поле "Действия". А его нужно убрать, только и всего. Вчера с выполнением ваших и Дмитрия указаний лёг в 24-00. По-стариковски просыпаюсь рано, встал в 5-00 - сразу включаю компьютер, там продолжение уроков. Спасибо!! Ошибку исправил Она результат моей торопыжности, типичной болезни чайников. А я, видимо, чайник неисправимый Quote (as-master) Читая справку, исследуйте изученные команды в этом вспомогательном проекте. Уверен, вы будете приятно поражены открывающимися для вас совершенно новыми, УНИКАЛЬНЫМИ возможностями :) 1. Я уже и Дмитрию как-то говорил, что чем инструкция обширней и подробнее, тем я более тупею 2. Пока времени хватает только на механическую реализацию указаний моих учителей и помощников. Моя задача сейчас воплотить некоторые конкретные намеченные проекты и планы. Вот с этим разберусь, возможно, появится время для творчества. Хотя что-то между делом пробовать, конечно, буду.Добавлено (07 Сентябрь 2008, 05:51) ---------------------------------------------
Quote (as-master) Проект-пример, рассмотренный выше. Прикрепления: library.mbd(22Kb) Позанимался. Всё отлично! С дизайном и с "фантиками" потом позанимаемся. Некоторые "концептуальные" соображения. 1. Возможно, в моём проекте будет всего лишь три страницы. Первые две - это так, как сделано у меня сейчас: стр.1 - представление библиотеки в целом; стр.2 - представление моей книги. 2. Третья страница, как я предполагаю, должна измениться по своей струтуре очень сильно. Это связано с тем, что как вы и Alex3A мне говорили - это "сделать оболочку независимой от состава библиотеки". Как я, по-чайниковски, предполагаю это должно выглядеть. На этой странице будет окно со списком имеющихся книг. Список, видимо, с вертикальной прокруткой (или как это правильно называется?). Он будет автоматически (полуавтоматически) пополняться при помещении в папку book каждой следующей книги. Собственно, об этом вы мне и говорили, я лишь теперь говорю о моём видении конкретного выполнения этой идеи. Возможно, всё это будет и не так - у меня представления об этом довольно примитивные.
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Воскресенье, 07 Сентября 2008, 10:57 | Сообщение # 21 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Тут уж одно из двух: либо реализация способом, изложенном в моем примере, либо реализация со списком книг. Во втором случае выводить сообщение, что книга не найдена, не придется. Ибо если книги нет, то и в список она не загрузится. А всё, что загрузится в список, то и будет открываться без проблем. Однако в варианте со списком придется приложить дополнительные (и немалые!) усилия, если вы захотите как-то разделить книги по темам или по авторам. Ведь в предложенном варианте все книги загрузятся в список одним скопом, да еще и отсортируются просто по алфавиту. Кроме всего прочего, список имеет стандартное виндовое оформление, то есть к примеру полоса прокрутки будет такая, какое общее оформление виндовс. А значит, его трудно подогнать под общий дизайн, если только дизайн не делать в стандартном стиле винды. Однако лично у меня есть идея, как сделать библиотеку без списка, но в то же время чтобы оставить прежний дизайн :) Правда, идея пока расплывчата, но мне представляется осуществимой. Вобщем, надо думать пока, какой путь избрать.
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Воскресенье, 07 Сентября 2008, 15:56 | Сообщение # 22 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Тут уж одно из двух: либо реализация способом, изложенном в моем примере, либо реализация со списком книг. Так список-то книг, как я понимаю, это и есть неизбежное продолжение вашей идеи "сделать оболочку независимой от состава библиотеки". Т.е. только в этом случае возможно расширение каталога библиотеки без доработки самого интерфейса. Вид, структура, содержание интерфейса заданы один раз, и навсегда. Список книг в нём будет меняться в зависимости от содержания папки book. И действительно, как вы говорите, тогда не нужно будет оповещение о том, что такой-то книги нет в этой папке - список будет однозначно соответствовать содержимому папки. В списке не будет присутствовать только одна книга - это "Экология общства" Виктора Шмакова, т.е. моя. Она, просто напросто, всегда будет в наличии в библиотеке, т.е. в скачиваемом с сайта архиве (папка library, в ней файл library.exe и папка book) в папке book "Экология общества" уже будет. Ссылка на эту книгу будет не в списке, а на предыдущей странице интерфейса.Добавлено (07 Сентябрь 2008, 15:56) --------------------------------------------- Уточню свою мысль. Я ранее уже писал, что список "будет автоматически (полуавтоматически) пополняться при помещении в папку book каждой следующей книги". Под "автоматически/полуавтоматически" я имел в виду, что помещая в папку book новую книгу, создаётся некое её простейшее описание (автор, название), которое помещается в какую-то служебную папочку, например, name, в которой уже есть такие описания для всех имеющихся в библиотеке книг. Вот именно это-то описание и должно теперь дополнительно появиться в списке, о котором мы говорим. Пишу это и думаю - а не излишне ли мы заморачиваем сами себя? Может, и не стоит ставить задачу расширения библиотеки без замены интерфейса? Наверное, надо сделать проект пока без реализации этой идеи, а там видно будет. Как говорится - лучше синица в руках, чем журавль в небе. А ещё, по-моему, академик Тимирязев сказал: "Лучшее - враг хорошего".
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Воскресенье, 07 Сентября 2008, 17:11 | Сообщение # 23 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) Наверное, надо сделать проект пока без реализации этой идеи, а там видно будет. Я думаю, что пока нужно действительно сделать так, как я предложил в сообщении №18. Это и симпатично и удобно, ну а список книг на самом деле у вас не так уж и часто пополняется - можно будет тогда и новую версию оболочки сделать.
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Воскресенье, 07 Сентября 2008, 20:51 | Сообщение # 24 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Я думаю, что пока нужно действительно сделать так, как я предложил в сообщении №18. Это и симпатично и удобно, ну а список книг на самом деле у вас не так уж и часто пополняется - можно будет тогда и новую версию оболочки сделать. Совершенно с вами согласен. Но есть (и будут) "технологические" вопросы. 1. Вопрос с Dir и Drive для меня совсем непонятен. Мой знакомый Дмитрий (я о нём вам писал выше) мне пишет: Кстати, обратите внимание, что в форуме вам указали путь "<SrcDir>\book\", а вы мне ранее как-то прислали "<SrcDrive>\library\book\ecology.chm". SrcDir и SrcDrive - суть вещи разные - используйте <SrcDir> и тогда где установлен интерфейс будет по барабану (теоретически). Я попробовал сделать ссылку на книгу <SrcDir>\book\ - она перестала находиться. 2. По "фантикам", в частности, по виду кнопок. Поскольку интерфейс остаётся в той же структуре, что и был, т.е. 8 страниц, то желательны кнопки "На главную", "Вперёд" и т.д. Вы с Alex3A забраковали растровые кнопки, которые мне сделал Александр. Я теперь пробую использовать текстовые кнопки: http://civil-identification.info/111/Untitled-4.jpg вариант с нажатием кнопки "На главную" http://civil-identification.info/111/Untitled-5.jpg Видимо, с точки зрения дизайна было бы правильнее сделать все кнопки одного вида, как у вас http://civil-identification.info/111/Untitled-6.jpg Я в вашем проекте посмотрел, но так и не разобрался за счёт чего задан цвет кнопки, её обрамление белой полоской, размеры. 3. Дайте, пожалуйста, ссылку справки на русском языке и как её правильно инсталлировать.Добавлено (07 Сентябрь 2008, 20:15) --------------------------------------------- P.S. Quote (viktor_ch) Я в вашем проекте посмотрел, но так и не разобрался за счёт чего задан цвет кнопки, её обрамление белой полоской, размеры. Это я нашёл - есть такая формочка "Примитивный объект". Но как эту форму подвязать к нужной кнопке - этого я не понял. И ещё не понял как изменить цвет ВСЕЙ страницы.Добавлено (07 Сентябрь 2008, 20:40) ---------------------------------------------
Quote (viktor_ch) И ещё не понял как изменить цвет ВСЕЙ страницы. Нашёл - внизу клавиша "Свойства страницы".Добавлено (07 Сентябрь 2008, 20:51) ---------------------------------------------
Quote (viktor_ch) Это я нашёл - есть такая формочка "Примитивный объект". Но как эту форму подвязать к нужной кнопке - этого я не понял. С этим тоже разобрался.
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Воскресенье, 07 Сентября 2008, 21:11 | Сообщение # 25 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) Я попробовал сделать ссылку на книгу <SrcDir>\book\ - она перестала находиться. Доставший уже здесь всех вопрос. Ищите на форуме темы, содержащие <SrcDir> - там всё есть. Скажу лишь, что использовать <SrcDir> правильнее. А не работает у вас потому, что нужно сначала скомпилировать в конечную папку - и всё будет работать. Темы о <SrcDir>: Использование <SrcDir> <SrcDir> не работает. Что не так? <SrcDir> у меня глючит или я не того? Quote (viktor_ch) Я в вашем проекте посмотрел, но так и не разобрался за счёт чего задан цвет кнопки, её обрамление белой полоской, размеры. Это обычная текстовая кнопка, в свойствах которой выбрано не "Кнопка", а "Пункт меню", поэтому она выглядит плоской. Так вы ее скопируйте и вставьте, и вставленную кнопку используйте для своих целей, изменив ее свойства - надпись, подсказку, сценарий. А обрамление кнопки сделано с помощью цветного прямоугольника с обводкой (границей), подложенного под неё. Quote (viktor_ch) Дайте, пожалуйста, ссылку справки на русском языке и как её правильно инсталлировать Справка лежит на главной странице сайта http://www.mmbuilder.ru/ сразу под разделом "Последние новости сайта". Справка в формате chm, как и ваши книги Добавлено (07 Сентябрь 2008, 21:11) --------------------------------------------- А, со вторым уже разобрались....
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Понедельник, 08 Сентября 2008, 10:58 | Сообщение # 26 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Скажу лишь, что использовать <SrcDir> правильнее. В сообщнии 18 вы написали: Quote (as-master) Ваш новый скрипт: book$='<SrcDrive>\library\book\kasta.chm' ?..Добавлено (08 Сентябрь 2008, 10:58) --------------------------------------------- Хочу сделать страницу побольше - 800х600 Нашёл в "Настройках проекта". Но messe остаётся прежнего размера. Как задавать для неё размеры? Можно ли, если её размеры делать меньше чем у страницы, задавать координаты её положения?
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
toizy | Дата: Понедельник, 08 Сентября 2008, 11:04 | Сообщение # 27 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (viktor_ch) Как задавать для неё размеры? Изменять размеры всех объектов в группе. Проще разгруппировать Mess, изменить размеры объектов, а потом сгруппировать заново (Ctrl+U - разгруппировать, Ctrl+G - сгруппировать)
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Понедельник, 08 Сентября 2008, 11:15 | Сообщение # 28 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) В сообщнии 18 вы написали: Это опечатка, будем так говорить. На самом деле я НИКОГДА (!!!) не использую макрос пути <SrcDrive> - всегда только <SrcDir>!!! Честно говоря, я даже не знаю, зачем мне мог бы понадобиться этот <SrcDrive>, когда <SrcDir> совершенно универсален. На вторую часть вопроса ответил toizy. Но я намеренно уменьшил размеры окна до 640х480, так как считаю, что в таком большом окне, как 800х600, вашему проекту делать просто нечего, и гигантские шрифты, использованные вами, размерами 26 пунктов, выглядят аляписто и просто ужасно!!!
Да пребудет с вами ММВ!
|
|
| |
viktor_ch | Дата: Понедельник, 08 Сентября 2008, 12:01 | Сообщение # 29 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Это опечатка, будем так говорить Дмитрий ещё вчера объснял мне это тем, что вы, скорее всего, скопировали строку из моего проекта и автоматом вставили в своё сообщение, забыв сделать правку. Quote (as-master) Но я намеренно уменьшил размеры окна до 640х480, так как считаю, что в таком большом окне, как 800х600, вашему проекту делать просто нечего Пожалуй, я с этим соглашусь, но раз уж начал, хочу вопрос о mess иследовать. Чуть позднее, наверное, будут к toizy несколько вопросов. Спасибо!
"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
|
|
| |
as-master | Дата: Понедельник, 08 Сентября 2008, 12:05 | Сообщение # 30 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (viktor_ch) вы, скорее всего, скопировали строку из моего проекта Точно, так это и произошло. Quote (viktor_ch) раз уж начал, хочу вопрос о mess иследовать Да нечего СОВЕРШЕННО там исследовать! Нужно разгруппировать объект mess, вызвать окно изменения размеров и положения (скриншот окошка ниже), там задать новые размеры, либо переместить объекты просто руками, затем снова сгруппировать и присвоить имя mess, раз уж таковое используется.
Да пребудет с вами ММВ!
|
|
| |