Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Создание проекта-оболочки для чтения книг 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
Здравствуйте, Виктор.
Для начала разрешите поприветствовать вас на нашем форуме smile
(Мы с вами - и только мы - понимаем, о чем речь :)))

Вопросы ваши сейчас начнем решать.

1. Проект ваш я видел. Оценку в баллах давать не стану, скажу лишь, что это работа человека, знакомого с ММВ максимум один день. Ибо никаких команд, кроме перехода страниц и запуска внешних файлов, в проекте нет.

2. Книги ваши выложены в формате chm, который сам по себе уже самодостаточен, и для его комфортного прочтения не требуется никакой специальной оболочки. Поэтому на сей момент ваша оболочка ПРОСТО НЕ НУЖНА, потому-что она всего лишь запускает указанные файлы книг из папки book. А они и без оболочки прекрасно открываются. Более того, если книга не найдена, программа выдает ошибку, а так в проектах делать не принято. Не нашла - значит не нашла, должна об этом и написать smile

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 -
добавляет где ему взбредет в голову пробелы в ММВ-код!!!

Прикрепления: 2826148.mbd (2.0 Kb)


Да пребудет с вами ММВ!
 
viktor_chДата: Суббота, 06 Сентября 2008, 07:47 | Сообщение # 8
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
Quote (as-master)
Это ведь кому как. Мне, например, удобнее просто открывать файлы, список которых я прекрасно вижу в папке с тематическими статьями, куда я предварительно их распределяю :)

Это вы меряете по своим меркам. Есть масса людей (а среди тех, для кого моя библиотека может представить интерес – их большинство), которым работа с интерфейсом может быть удобнее. Опять же – красивая и удобная "упаковка". Которую, если нет в ней необходимости, можно не брать и не использовать, а пользоваться библиотекой так, как вы говорите.
Quote (as-master)
Всё же, я предпочел бы сделать некий экслюзив для популяризации своей оболочки, сделав так, чтобы без нее файлы открыть никто не мог. А это, кстати, совсем не сложно :)

Так здесь-то вы вступаете в противоречие с самим собой smile
Удобнее без интерфейса, но обязать его применять smile
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
Ну вот видите - и легко, и приятно на душе - потихоньку должно появиться
чувство возрастающего самоуважения и приобщения к программерскому кругу smile

Теперь поехали дальше. Щас курну и допишу этот пост...


Да пребудет с вами ММВ!
 
viktor_chДата: Суббота, 06 Сентября 2008, 19:00 | Сообщение # 12
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
Quote (as-master)
Ну вот видите - и легко, и приятно на душе - потихоньку должно появиться чувство возрастающего самоуважения и приобщения к программерскому кругу smile
Теперь поехали дальше. Щас курну и допишу этот пост...

Покурите...
Насчёт "чувства возрастающего самоуважения и т.д." - это вы несколько преувеличили.
В даном случае я как робот выполнил предписанные мне действия.
Но я не считаю нужным (да, и возможным) пытаться события форсировать - обучение идёт своим чередом.
В некоторых моментах быть пока всего лишь "роботом" - это неизбежно.
Всё должно идти путём последовательной ЭВОЛЮЦИИ - это одна из основных идей в моей "Экологии общества" 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$, всё остальное будет одинаково.

Этого пока достаточно smile

PS. И скачайте себе с сайта русскую справку по ММВ и сделайте ее настольной книгой.
Поверьте - там всё есть!!!

Прикрепления: 2215679.png (10.7 Kb)


Да пребудет с вами ММВ!
 
viktor_chДата: Суббота, 06 Сентября 2008, 19:29 | Сообщение # 14
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
Quote (as-master)
Этого пока достаточно smile

Да, капитально вы меня нагрузили!! smile
Буду разбираться, возможно, сегодня уже и не отвечу.
Тут параллельно у меня ещё одна задача решается.
Мой давний интернетовский знакомый, Дмитрий из Москвы, делает мне новый php-счётчик скачиваний книг с более широкими возможностями по статистике.
Как раз сейчас занимаемся его отладкой, тестированием.
Поспеваю и за вами, и за ним указания выполнять smile


"Может, и безнадёжны, но не бессмысленны усилия переделать людей и мир" (автор неизвестен)
 
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,
который предварительно внедрил в проект ("Проект - Внедренный звук")

При щелчке по гиперссылке происходит переход на ваш сайт, а сама группа скрывается.
Также группа скрывается при щелчке по другим объектам группы.

Чтобы вам было всё понятно, проект прикреплю в следующем сообщении.

Прикрепления: 5420730.png (14.1 Kb) · 9770706.png (14.7 Kb)


Да пребудет с вами ММВ!
 
as-masterДата: Суббота, 06 Сентября 2008, 23:05 | Сообщение # 19
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Проект-пример, рассмотренный выше.
Прикрепления: library.mbd (22.5 Kb)


Да пребудет с вами ММВ!
 
viktor_chДата: Воскресенье, 07 Сентября 2008, 05:51 | Сообщение # 20
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 0
Награды: 0
Статус: Offline
Quote (as-master)
Поэтому у вас выполняется и мой сценарий, правильный, и ваш старый сценарий, прописанный в поле "Действия". А его нужно убрать, только и всего.

Вчера с выполнением ваших и Дмитрия указаний лёг в 24-00.
По-стариковски просыпаюсь рано, встал в 5-00 - сразу включаю компьютер, там продолжение уроков.
Спасибо!!
Ошибку исправил
Она результат моей торопыжности, типичной болезни чайников.
А я, видимо, чайник неисправимый sad
Quote (as-master)
Читая справку, исследуйте изученные команды в этом вспомогательном проекте. Уверен, вы будете приятно поражены открывающимися для вас совершенно новыми, УНИКАЛЬНЫМИ возможностями :)

1. Я уже и Дмитрию как-то говорил, что чем инструкция обширней и подробнее, тем я более тупею smile
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, как и ваши книги smile

Добавлено (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, раз уж таковое используется.

Прикрепления: 1884868.png (5.6 Kb)


Да пребудет с вами ММВ!
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: