На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS

Дорогие друзья! Поздравляем вас с Новым 2025 годом!

Всем удачи, успеха и благополучия!

msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> Програмирование графики без модуля GRAPH
    Кирилл, не всё же с исходников брать, надо и самому попробовать исправить, а то не станешь программистом если всегда исходники брать будешь...
       Дюха! Как тебе повезло, что я это не прочитал пока еще не начались каникулы... >:(
       Это ведь только ты один практически все время в инете сидишь, а другие еще иногда и учатся!!!
       А вообще ты видел что я пишу, а?! Ведь видел! Я сейчас не этим занимаюсь, а только на этом основываюсь.


      >:( >:( >:(
         Сейчас пойдет небольшое отклонение от темы.
         Все, теперь я почти успокоился... :-[
         Понимаете в чем дело, я пишу графический редактор. Все основные инструменты плюс увеличение и скроллинг работают. Вся работа с графикой основана на модуле VESA256.tpu, упомянутом выше. В итоге, чтобы обеспечить нормальную работу редактора, необходимо доделать некоторые моменты в модуле. Мною уже написан модуль для работы с текстом (я бы сказал что не очень сложный), который поддерживает русский язык. Осталось разобраться с палитрой и сохранением/загрузкой файлов.


        О сколько нам открытий чудных готовит зеркало...
           И еще один вопросик.
           Покладите кто-нибудь алгоритм (а лучше исходник) для вывода ПОЛНОСТЬЮ закрашенного прямоугольника наклоненного на угол Alpha против часовой стрелки. А то у меня выводится не прямоугольник, а некая совокупность точек (которые издалека все-таки напоминают прямоугольник).


            Точечка, Треугольничек, Прямоугольничек, Кружочек, Гипотенузочка, Гомотети..., Апраксима..., Интерполя...
          Сообщение отредактировано: KiRiK -
            1. прямоугольника наклоненного на угол Alpha против часовой стрелки
            http://algolist.manual.ru/graphics/3dfaq/index.php
            http://algolist.manual.ru/graphics/3dfaq/articles/23.php
            2. Закраска
            http://algolist.manual.ru/graphics/fill.php
               К очень, очень старой записи by Tosha.
               Массивчик то такого размера организовываться не хочет, говорит, что переваливает за допустимые нормы. И что есть такое: FlipToScreen?
                 И еще, быстрая (относительно Int 10h) вещь для вывода точки на экран:
                Mem[$A000:address]:=color, где color : Byte; address=y*width+x но работает только для линейной модели видео памяти.


                 [***** ****] мы уже спрашивали, как Винду ставить...
                Сообщение отредактировано: vot -
                  Ребята, вы бы сначала определились, в каком формате компилите - под чистый дос, или под protected mode?.. а то каламбур получается.. один пишет mem[A000:adr], что определённо должно работать в реальном режиме, другой пишет FlipToScreen, что настойчиво наводит меня на мысль об использовании 32битного TMT :))
                  Вы у Kirik'а спросили бы сначала, как делает он, а потом уже советы :))
                  а.. да что там, если прочитает это, то наверно ответит :)))
                    Мда.. совсем забыл.. а Тоша вполне резонно (не могу не заметить) в том "старом сообщении" чёрным по белому написал, что примерчик его для ТМТ, тоесть (это я тебе KiRik пишу) попробуй поюзать его, там тебе и массивчик закомпилится, и, я тебя заверяю, узнав что такое FlipToScreen тебе скорее всего захочется переделать твою прогу... кхм.. "немножко" :))
                       Даавно я сюды не заглядывал...
                       Мнда..
                       А накопилося-то немного.
                       К Some1: Прочитал. Отвечаю.
                       Ну ладно, обо всем по порядку.
                       Все работает (работало) в реальном режиме.
                       А ТМТ я пользоваться вообще не умею  :(  (хоть бы научил кто, объяснил, что к чему  ;)  )
                       А "работало" потому, как прога в самом деле переживает "небольшую" переработку - переписываю ее под объекты (плюс мааленькая русификация).
                       И все-таки, что есть такое: FlipToScreen?
                        Давайте договоримся. Графика - в реальном режиме.
                        1. При включении режима VESA адаптер включает отображение памяти по страницам 64К. Переключение между страницами можно делать так: ax=4F02h; bx=0 (fn set); dx= № страницы; int 10h
                        2. Если даже юзать стандартную функцию включения видеорежима (ah=0; al=OEMmode; int 10h), то всё равно возможно получить инфу о его параметрах функцией VESA (ax=4F01h), смотри SVGAModeInfoRec, она заполняет инфу о текущем видеорежиме. Это позволяет юзать проги для сканирования (получения списка видеорежимов OEM)
                        3. Функция VESA (ax=4F00h) также позволяет получить инфу о версии VBE (VESA BIOS Extensions) и названии видеоадаптера. Пример Turbo Pascal:
                        ExpandedWrap disabled
                          uses DOS;
                          type
                          tSVGAInfoRec=record
                          Sign: longint;
                          LoVer, HiVer: byte;
                          OEMStrOfs: word;
                          OEMStrSeg: word;
                          array[0..122]of word;
                          end;
                           
                          var Info: tSVGAModeInfo;
                               R: Registers;
                               OEM: PChar;
                           
                          const S1: word=Seg(Info);
                                  O1: word=Ofs(Info);
                          begin
                          R.AX:=$4F00; R.ES:=S1; R.DI:=O1; Intr($10, R); OEM:=Ptr(Info.OEMStrSeg, Info.OEMStrOfs);
                          Writeln('OEM=', OEM);
                          Writeln('VESA Version=', Info.HiVer, '.', Info.LoVer);
                          end.


                        Пробуйте ;)
                        Сообщение отредактировано: Romtek -
                          2Moderatoes:

                          А почему ссылка http://pascal.sources.ru/graph/bgibase.zip  вызывает ошибку скрипта?
                            Какого "скрипта"????
                            Нет там никаких скриптов! Проверил - нормально скачивается....
                              Плиз кто нибудь может мне помочь. Как реализовать lfb.Насколько я понимаю для этого нужен Pmode.
                              1.Вопрос как сделать в BP PMOde через DPMI.
                              2 А на TMT в XP функция $800 неработат.А в ихнем модуле все работает.
                                Как в ВЕСЕ получить раскладку по цветовым плоскостям?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 [2] 3 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,2477 ]   [ 15 queries used ]   [ Generated: 19.01.25, 12:05 GMT ]