Закладки. Как сделать?
|
|
kadet | Дата: Пятница, 01 Декабря 2006, 08:20 | Сообщение # 1 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Здравствуйте! Появился такой насущный вопрос: как бы сделать в текстовом проекте (большой объем текста) закладку. ну, что - то типа этого. Вот, пользователь закрывает программу и она запоминает, где вы остановились, а, в следующий раз она (программа) может начать просмотр именно с этого места. К примеру, если сделать 2 пункта в меню: 1. Добавить закладку 2. Посмотреть закладку Вот, читаете вы седьмую главу книги. Потом нажимаете "Добавить закладку" и закрываете программу. В следующий раз вы открываете программу, нажимаете "Посмотреть закладки", видите там добавленную вами "Глава 7", щёлкаете по ней и переходите к чтению этой главы. Возможно так сделать?
© Я учусь, чтоб затем помогать другим.
Сообщение отредактировал as-master - Вторник, 05 Декабря 2006, 10:32 |
|
| |
as-master | Дата: Пятница, 01 Декабря 2006, 16:13 | Сообщение # 2 |
Группа: Удаленные
| Сразу возникает вопрос: в каком виде представлен текст в проекте? В виде Параграф-текста (объект), в виде загружаемого в блокнот, в виде html или еще как-то? И второе: проект с текстом многостраничный или весь текст на одной странице? Добавлено (2006-12-01, 4:13 Pm) --------------------------------------------- Есть одна идея. Но не слишком простая. Будет время - попробую. В любом случае, для таких начинающих юзеров, как ты, это сверхзадача Освой хотя бы то, что ММВ умеет делать без специальных ухищрений.
|
|
| |
kadet | Дата: Пятница, 01 Декабря 2006, 22:16 | Сообщение # 3 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Сразу возникает вопрос: в каком виде представлен текст в проекте? В виде Параграф-текста (объект), в виде загружаемого в блокнот, в виде html или еще как-то? | Текст в виде HTML. так сказать, маленький сайтик. Одна страничка - одна глава книги. Quote (as-master) | В любом случае, для таких начинающих юзеров, как ты, это сверхзадача Освой хотя бы то, что ММВ умеет делать без специальных ухищрений. | Вот я и пытаюсь понять: может ли ММВ это сделать проще, без наворотов. Или непременно программировать нужно?
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Суббота, 02 Декабря 2006, 02:08 | Сообщение # 4 |
Группа: Удаленные
| Идея есть. Для того, чтобы запоминать положение текста, для начала нужно прокручивать его ВРУЧНУЮ. Чтобы позицию запомнить. С объектом Paragraph такое не прокатит. Хотя бы потому, что он не позволяет назначить себе действие. Значит, нужно работать с объектом простого текста. Но для начала нужно "научить" его перемещаться так, как нам нужно: ручками и слайдером. А уж потом запоминать его позицию будет несложно. Итак, самая трудная задача - заставить хорошо и культурно двигаться текстовый объект. Эту задачу я уже решил!!! Так что завтра займусь созданием закладок, и, думаю, твой вопрос, уважаемый kadet, будет решен Quote (kadet) | Текст в виде HTML. так сказать, маленький сайтик. Одна страничка - одна глава книги. | Ну а если в виде веб-страниц, то и вообще достаточно ссылки на место в документах наделать... И нафига тут ММВ вообще... Делай простой chm-файлик - что может быть лучше для книги? Но с решением проблемы в ММВ, как я написал выше, я обязательно разберусь, и БУДЕТ ВАМ ТАКОЙ ПРИМЕР!!!
|
|
| |
kadet | Дата: Суббота, 02 Декабря 2006, 08:54 | Сообщение # 5 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Ну а если в виде веб-страниц, то и вообще достаточно ссылки на место в документах наделать... | Это так? В каждой главе книги есть 5 якорей - 5 ссылок. И пользователь, закрывая программу, записывает на бумажку: "глава 5, ссылка 4". Потом, через некоторое время, заходя по новой, сверяется с бумажкой, где он был и щелкает по 5 главе, 4 ссылке. Ладно, поиск - не самое важное. Просто есть у меня один учебник электронный, там такая функция есть. Думал тоже сделать для удобства... Брошу тогда силы на красоту оформления.
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Суббота, 02 Декабря 2006, 10:33 | Сообщение # 6 |
Группа: Удаленные
| Однако тема поднята, и будет решена Уже готов промежуточный вариант. Это проект TextReader, в котором запоминается последнее положение текста, и при повторной загрузке программы текст автоматически перемещается на позицию, которая была при выходе. Сейчас начинаю работать над созданием нескольких закладок с присвоением им пользовательских имен. Скачать проект TextScrolling - 16 кб.
Сообщение отредактировал as-master - Воскресенье, 03 Декабря 2006, 13:53 |
|
| |
kadet | Дата: Суббота, 02 Декабря 2006, 10:36 | Сообщение # 7 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Однако тема поднята, и будет решена smile | Совершенно верно! Ведь, кроме меня, есть еще и другие пользователи. И им пригодится наработка, уверен. Я тоже скачаю. Пойму, не пойму - не знаю, но "попытка не пытка". Благодарен вам за помощь!
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Суббота, 02 Декабря 2006, 18:18 | Сообщение # 8 |
Группа: Удаленные
| Проект практически готов. Осталось сделать только удаление закладок по одной. Очистку всех закладок из списка уже сделал, а по одной - столкнулся с проблемой. Сейчас решаю... Хочу довести проект до ума и красоты :) Peter, твое сообщение удалено как не соответствующее теме нашего форума. В следующий раз все посты про NeoBook из нашего форума будут удаляться без предупреждения - у вас по этой программе есть свой форум. А здесь говорим только о ММВ!!!
|
|
| |
as-master | Дата: Воскресенье, 03 Декабря 2006, 13:56 | Сообщение # 9 |
Группа: Удаленные
| Проект TextReader, позволяющий открывать тексты и создавать к ним закладки, готов! Можно создавать неограниченное число закладок, которые сохраняются автоматически сразу после их создания, удалять закладки по одной или все сразу. Смотрим проект через новости сайта за 3 декабря. Вот вам скриншот программы:
|
|
| |
kadet | Дата: Воскресенье, 03 Декабря 2006, 21:59 | Сообщение # 10 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Проект TextReader, позволяющий открывать тексты и создавать к ним закладки, готов! Можно создавать неограниченное число закладок, которые сохраняются автоматически сразу после их создания, удалять закладки по одной или все сразу. | Ну вот здесь вам ОГРОМНОЕ человеческое спасибище! И мне помогли, и другим, конечно, пригодится эта наработка. Обязательно в готовый проект добавлю благодарность вам! также буду при возможности ваш сайт рекомендовать.
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Воскресенье, 03 Декабря 2006, 22:39 | Сообщение # 11 |
Группа: Удаленные
| Удалось скачать? Ну как, понравилась идея? Завтра будет обновленная версия. Заходи на сайт!!!
|
|
| |
kadet | Дата: Воскресенье, 03 Декабря 2006, 22:41 | Сообщение # 12 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Удалось скачать? Ну как, понравилась идея? | Идея понравилась. То, что мне и нужно. А вот скачать не удалось - открывается девственно - белая страница и браузер говорит "Готово".
© Я учусь, чтоб затем помогать другим.
|
|
| |
kadet | Дата: Понедельник, 04 Декабря 2006, 11:16 | Сообщение # 13 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Скачал! Спасибо! Вечером займусь.
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Понедельник, 04 Декабря 2006, 11:22 | Сообщение # 14 |
Группа: Удаленные
| Quote (kadet) | Скачал! Спасибо! | Рано скачал Сегодня я обновил проект Text Reader - добавились кнопки редактирования текста, перезагрузки открытого документа, кнопки опций выбора цвета. А также сделана активной полоса прокрутки - теперь можно щелкать мышью и по ней, как и должно быть в виндовой программе. Ссылка на загрузку файла Добавлено (2006-12-04, 11:22 Am) --------------------------------------------- Кстати, изменения отразились и на скриншоте, приведенном на этой странице выше.
|
|
| |
kadet | Дата: Вторник, 12 Декабря 2006, 02:35 | Сообщение # 15 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Что - то я все равно туплю. Открыл проект вот отсюда http://www.mmbuilder.nm.ru/files/TextScrolling.zip потому что он без наворотов - и ничего не запоминает у меня. Это я пытался вставить ваши скрипты в свой проект. Так я и не понял, честно говоря, что именно (какой скрипт) отвечает за создание файла stat.list , в котором и запоминается информация. Полосы прокрутки меня и стандартные пока устраивают, которые есть в ММВ. Поэтому я скопировал к себе в проект на страницу с книгой вот этот вот скрипт Code | ** Перемещаем текст на позицию, которая была при выходе из программы: MoveObject("Text","ObjectX(Text),y") ** Вычисляем величину, на которую нужно переместить слайдер: y1=46+(45-y)/k ** Ограничиваем его перемещение: If (y1<46) Then y1=46 End If (y1>427) Then y1=427 End ** Перемещаем слайдер: MoveObject("slider","ObjectX(slider),y1") | а при загрузке страницы (как у вас) поставил вот этот скрипт: Code | ** Узнаём высоты текстового объекта: H=ObjectHeight(Text) ** Добавляем запас прикселов эдак в 100-2000 (подбирается экспериментально): H=H+2000 ** Вычисляем коэффициент, равный отношению нужного перемещения ** текста, к величине перемещения слайдера: k=H/381 ** (здесь 381 - это диапазон перемещения слайдера) ** Далее, если есть файл с записанным положением текста, ** загружаем из него переменную Y$: list$='<SrcDir>\stat.list' FileExist("list$","check") If (check=1) Then y$=StrFromFile(list$,1,1) y=VAL(y$) ** и запускаем скрипт перемещения текста на запомненную позицию: RunScript("STAT") End | Еще раз хочу заметить, что прокрутка осталась стандартная как в ММВ есть. Ну, и у меня, конечно, в отличие от вашего проекта, ничего не работает.
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Вторник, 12 Декабря 2006, 12:00 | Сообщение # 16 |
Группа: Удаленные
| Кадету А ты читал комментарий, вложенный в архив? Там я ведь написал. что альтернативная полоса прокрутки как раз и нужна для того, чтобы ИМЕТЬ ВОЗМОЖНОСТЬ делать закладки. Со стандартной-то прокруткой как раз ничего и не выйдет. Так что и не должно у тебя ничего работать!!! И еще. Ты всё-таки старайся врубаться в содержание скриптов, в назначение тех или иных команд. Ведь не для балды там всё написано. А если не будешь понимать того, что делаешь, то все усилия абсолютно бесполезны Удачи! Добавлено (12 Декабря 2006, 12:00) ---------------------------------------------
А этот-то проект как раз работает и прекрасно запоминает. Но - у него запоминается только одно положение текста - последнее, которое было при выходе из программы. А второй проект я как раз и делал для того, чтобы иметь неограниченное число закладок. И для тебя, заметь, делал-то :)
|
|
| |
kadet | Дата: Вторник, 12 Декабря 2006, 12:07 | Сообщение # 17 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | А ты читал комментарий, вложенный в архив? Там я ведь написал. что альтернативная полоса прокрутки как раз и нужна для того, чтобы ИМЕТЬ ВОЗМОЖНОСТЬ делать закладки. Со стандартной-то прокруткой как раз ничего и не выйдет. Так что и не должно у тебя ничего работать!!! | Читал, но, видно, невнимательно. Планы были таковы: сначала сделать, а потом распечатать все скрипты, сесть с другом и именно врубиться во все. Чтобы он мне рассказал. Так что желание понять у меня есть. Вернее, вынужденная необходимость понять. Потому как: программирование - как нож по сердцу для меня. Я могу три часа чего - нибудь в Фотошопе (даже если не удается) или полдня оформлять (визуально) какой - нибудь сайт - и ничего! Но только мне надо понять какой - нибудь простенький скрипт, и у меня возникает желание снова закурить (я бросил) или подарить кому - нибудь свой компьютер.
© Я учусь, чтоб затем помогать другим.
|
|
| |
as-master | Дата: Вторник, 12 Декабря 2006, 12:12 | Сообщение # 18 |
Группа: Удаленные
| Quote (kadet) | Потому как: программирование - как нож по сердцу для меня. Я могу три часа чего - нибудь в Фотошопе | Ты не поверишь - но для меня тоже Туплю капитально! А потому и занимаюсь этим. Потому-что бесит! И хочется суметь А по профессии я - как раз професcиональный дизайнер. Так что Photoshop и CorelDRAW - моя родная стихия. Но, тем не менее, программированием заниматься БУДЕМ!!! Пусть даже всего лишь на уровне скромного ММВ.
|
|
| |
kadet | Дата: Вторник, 12 Декабря 2006, 13:14 | Сообщение # 19 |
Любопытный
Группа: Проверенные
Сообщений: 46
Репутация: 1
Награды: 0
Статус: Offline
| Quote (as-master) | Ты не поверишь - но для меня тоже Туплю капитально! А потому и занимаюсь этим. Потому-что бесит! И хочется суметь | Вот, вы описали как нельзя лучше мои ощущения!
© Я учусь, чтоб затем помогать другим.
|
|
| |