Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перевод страницы  (Прочитано 17676 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
baranich
Постоялец

ru
Offline Offline

« : 13-10-2005 09:25 » 

Возникла такая трудность, как програмно сделать перевод страницы, вот перевод строки помоему так Chr(13), а страницы какой имеет код?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 13-10-2005 10:04 » 

Попробуй Chr(&H0C)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baranich
Постоялец

ru
Offline Offline

« Ответ #2 : 13-10-2005 10:10 » new

а для DOS и WINDOWS?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 13-10-2005 10:27 » 

а для DOS и WINDOWS?

убил...

лучше скажи - ты на каком языке пишешь прогу?
Записан

baranich
Постоялец

ru
Offline Offline

« Ответ #4 : 13-10-2005 10:28 » 

 прогу пишу на VB,  я в этих кодировках ничего не понимаю, мне надо код перевода страницы для cp1251-Win Cyrillic  и cp866 DOS Russian.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 13-10-2005 11:06 » 

baranich, превод страницы бывает только на принтере. Насклько я помню это команда FF, или &H0C. Так же как и перевод строки LF - &H0A, и возврат каретки CR - &H0D - является управляющими командами для принтера. Они находятся в верхней части ASCII таблицы, более того в области "непечатных" знаков. Те они присутствуют в любой кодировке.
Если ты хочешь получить превод страницы на экране, то сначала расскажи - как ты себе это представляешь? Ведь всё зависит от редактора, в котором эти странички будут открываться.
Напрмир какому-нить HEX-редактору начхать даже на перевод строки - он покажет всё сплошным текстом. В Блокноте - страниц вообще нет, в ВордПаде перевод страниц определяется геометрическими размерами печатной страницы и тд и тп.

зы Кстати ща проверил в Ворде комбинация Alt+012 (Keypad) делает новую страницу, так что вперёд, и ничего не бойся.  Ага
« Последнее редактирование: 13-10-2005 11:08 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baranich
Постоялец

ru
Offline Offline

« Ответ #6 : 13-10-2005 11:54 » 

а как тогда в блокноте можно проследить страницы, у меня есть шаблон и он может занимать и одну страницу или половину страницы, но в файле может быть несколько шаблонов и каждый из них должен находиться на отдельной странице. (работаю с txt-файлами)
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 13-10-2005 12:07 » 

в блокноте нет спец символов для страниц

надо просто считать строки Улыбаюсь
Записан

baranich
Постоялец

ru
Offline Offline

« Ответ #8 : 13-10-2005 12:25 » 

интересный вариант.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 13-10-2005 12:45 » 

baranich, ещё раз. Объясни, как ты хочешь получить (увидеть) перевод страниц в Блокноте?
Открой в нём текстовый файл и посмотри. А потом расскажи. Что ты под страницей в блокноте понимаешь? Я там что-то страниц не видел.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baranich
Постоялец

ru
Offline Offline

« Ответ #10 : 13-10-2005 13:44 » 

вот я их там не вижу, но если ввести текст и распечатать его и он не будет помещаться на страницу, он же перенесет остальной текст на другую страницу, вот как сделать этот переход на другую страницу программно?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 14-10-2005 04:22 » 

вот я их там не вижу, но если ввести текст и распечатать его и он не будет помещаться на страницу, он же перенесет остальной текст на другую страницу, вот как сделать этот переход на другую страницу программно?

возможно надо программно нажать PgDn ? Как - Джон подскажет лучше...
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #12 : 14-10-2005 08:45 » 

baranich, ага так всё-таки при печати Улыбаюсь Уже ближе к телу.
Значица так, судя повсему ты понятия не имеешь как происходит печать под виндой. Поэтому - крэш объяснение. Под виндой существует такое понятие как Контекст Устойства (DeviceContext), в который осуществляется вывод ГРАФИЧЕСКИХ данных. В случае с экраном это экранный ДК (ведь всё что ты видишь на экране - набор точек, матрица,) на экране не существует символов с кодами, а только картинка созданная в ДК специальными функциями, которые в свою очередь получают информацию об этих символах. В случае с принтером - всё работает точно так же - только запрашивается ДК не экрана, а принтера. Всё остальное отрисовывается в этот ДК теми же функциями.
Те в самом общем случае на принтер под виндой посылается матрица точек.
Размеры страницы определяются соответствующими установками в специальных диалогах.
Эти размеры определяют ТОЛЬКО графическую область, в которой "рисуется" необходимая информация. Если инфы больше чем "надо", или другими словами - картинка больше рамки - осуществляется программный сдвег "рамки", те программа (или лучше сказать - программист) должна такие ситуации отслеживать и обрабатывать.
Для управления "страничной" печатью в этом случае служат специальные функции - StartPage/EndPage. Те если ты создаёшь свой собственный редактор, который будет распечатывать ТВОЙ текст, то ты можешь предусмотреть ЛЮБОЙ символ или последовательность символов (например *baranich_endofpage*), при котором будет вызывться ф-я EndPage. Стандартный код FF (FormFeed - &H0C)  в данном случае будет игнорироваться - с ним ф-я отрисовки в ДК поступит как со всеми непечатными знаками - нарисует какой-нить квадратик и всё. Те, отвечая на твой вопрос - код символа перевода строки 12, но ты его никогда не сможешь использовать при печати из Блокнота!

Некоторые программы поддерживают подобные комманды, но только как альтернативные пользовательские команды. Например существует способ альтернативного воода символов, зная их код. С помощью KeyPad (это та часть клавиатуры где стрелочки и цифры). Например, нажимая и удерживая Alt набери в KeyPad 065 - ты получишь заглавную латинскую А. Таким же образом можно ввести и управляющие символы (если программа это позволяет). Например в Word Alt+012 делает перевод страницы. Но сохраняет это в своём формате. Причём размер страницы зависит от настроек, о которых я говорил выше.

Так что теперь ответь на вопрос - зачем тебе это нужно и как ты собираешься этот текст распечатывать? Потому, что под ДОС это прокатит, если ты непосредственно будешь копировать твой текстовый файл в устройство вывода - принтер. Типа (не соврать) -
copy MyFile.txt prn
Тогда принтер (опять таки стандартный) сделает перевод странички если встретит символ с кодом 12.

зы Лёшка - PgDn служит для навигации Улыбаюсь
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #13 : 14-10-2005 08:52 » 

зы Лёшка - PgDn служит для навигации Улыбаюсь

да понятно, я просто въехать не мог, что человеку надо Улыбаюсь
Записан

baranich
Постоялец

ru
Offline Offline

« Ответ #14 : 14-10-2005 10:42 » 

всем спасибо за советы, для своей проги взяла Chr(12) и всё прекрасно заработала.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #15 : 14-10-2005 10:53 » 

всем спасибо за советы, для своей проги взяла Chr(12) и всё прекрасно заработала.

так ты уже её продала? Улыбаюсь
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines