На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Друзья, соблюдайте, пожалуйста, правила форума и данного раздела:
Данный раздел не предназначен для вопросов и обсуждений, он содержит FAQ-заготовки для разных языков программирования. Любой желающий может разместить здесь свою статью. Вопросы же задавайте в тематических разделах!
• Если ваша статья может быть перенесена в FAQ соответствующего раздела, при условии, что она будет оформлена в соответствии с Требованиями к оформлению статей.
• Чтобы остальным было проще понять, указывайте в описании темы (подзаголовке) название языка в [квадратных скобках]!
Модераторы: Модераторы
Страницы: (7) « Первая ... 5 6 [7]  все  ( Перейти к последнему сообщению )  
> Создаём Offline FAQ , [Pascal] сбор статей и исходников
    Текущая версия: 0.3a
    Скачать OfflineFAQa3.rar (~48кб)
    Содержание Offline-FAQ

    Народ, те кто хочет помочь - присылайте решения проблем на Паскале без ассемблерных вставок.

    Основные топики:
    1. Основы Паскаля (самый главный упор именно на него)
      • Строки
      • Типы данных
      • Работа с файлами
    2. Математика и алгоритмы
      • численные методы
      • и т.д.
    3. Графика и игры
    4. ООП
    5. Дата и время

    Примеры должны быть ориентированы на сегодняшний день, поэтому не принимаются примеры по
    • Interrupts (уже не актуально)
    • Hardware (как правило, используются прерывания и ассемблер)
    • TSR (уже не актуально)

    Оформление:
    Только в документах DOC, HTML, или в сообщении в форуме. И не забудьте о соответствующих комментариях к коду программ!
    Если лень открывать редактор, то напишите описание прямо в своём сообщении. Выделите ключевые слова, подчеркните, где надо. Сам я не могу оформлять каждый присланный документ.
    Дополнения к ФАКу прикрепляйте в архиве к своему сообщению.

    А ещё неплохо собрать в HTML то, что лежит на сайте http://pascal.sources.ru/ :
    Pascal FAQ и Russian SWAG
      Чуток оформил твой код...
      Надо только дополнить комментами.
      ExpandedWrap disabled
        uses graph, crt;
         
        procedure InitGraphics;
        Const
           PathToBGI = 'e:\bp\bgi';
        var
           gd, gm,
           ErrorCode: Integer;
         
        begin
          gd := VGA;
          gm := VGAHi;
          InitGraph (gd, gm, PathToBGI);
          ErrorCode := GraphResult;
          if ErrorCode <> grOk then
          begin
               Writeln ('Graphics error: ', GraphErrorMsg (ErrorCode));
               Readln;
               Halt (1);
          end;
        end;
         
        Const
           Border = 5;
         
        var
           i, x, y,
           mx, my :integer;
           eexit:byte;
           c:char;
         
        procedure DrawCursor;
        begin
          line (x - 15, y, x - 1, y);
          line (x, y - 15, x, y - 1);
          line (x + 15, y, x + 1, y);
          line (x, y + 15, x, y + 1);
        end;
         
        begin
          eexit := 0;
         
          InitGraphics;
          mx := GetMaxX;
          my := GetMaxY;
          x := mx div 2;
          y := my div 2;
         
          OutText ('Press Esc to exit');
          setcolor (Yellow);
          DrawCursor;
          repeat
            c := readkey;
            if c=#27 then eexit := 1;
            if c=#0 then
            begin
              c := readkey;
              setcolor (Black);
              DrawCursor;
              case c of
              'K':
              begin
                   dec (x, 5);
                   if x <= Border then
                      x := Border;
              end;
         
              'M':
              begin
                   inc (x, 5);
                   if x >= mx - Border then
                      x := mx - Border;
              end;
         
              'H':
              begin
                   dec (y, 5);
                   if y <= Border then
                      y := Border;
              end;
         
              'P':
              begin
                   inc (y, 5);
                   if y >= my - Border then
                      y := my - Border;
              end;
              end;
         
              setcolor (Yellow);
              DrawCursor;
            end;
          until eexit > 0;
          closegraph;
        end.
        ExpandedWrap disabled
          Program Animation;
           
          uses Crt,Graph;
           
          const
           Triangle: array[1..4] of PointType = ((X: 50; Y: 100), (X: 100; Y:100),
             (X: 150; Y: 150), (X:  50; Y: 100));
           
          var Gd, Gm, Ap: Integer;
              Xpos : integer;
           
              STab : Array[0..199] of integer;
           
          Procedure Retrace;
          begin
            while (Port[$03DA] and $8 = 0) do;
          end;
           
          Procedure Flip;
          begin
            SetActivePage(Ap);
            Ap := (Ap + 1) and 1;
            SetVisualPage(Ap);
          end;
           
          Function InitializeGraph : boolean;
          begin
           Gd := VGA;
           InitGraph(Gd, Gm,'..\bgi');
           if GraphResult <> grOk then Halt(1);
           If (Gd = HercMono) or (Gd = EGA) or (Gd = EGA64) or (Gd = VGA) then begin
            InitializeGraph := True;
            Flip;
           end else begin
            OutText('No paging supported.');
            InitializeGraph := False;
           end;
          end;
           
          begin
           If InitializeGraph then begin
            For Stab[0] := 1 to 199 do
             Stab[Stab[0]] := round(50*Sin( (Stab[0] * (360/199)*pi) / 180));
            Stab[0] := 0;
            repeat
             Xpos := (Xpos +1) mod 200;
             ClearDevice;
             Circle(Xpos+50,100,50);
             Circle(250-Xpos,100,50);
             DrawPoly(SizeOf(Triangle) div Sizeof(PointType), Triangle);
             Triangle[1].Y := 50+Stab[Xpos] div 2;
             Triangle[1].X := 100-Stab[Xpos] div 2;
             Triangle[2].Y := 100+Stab[Xpos];
             Triangle[2].X := 100-Stab[Xpos];
             Triangle[3].X := 150+Stab[Xpos];
             Triangle[4] := Triangle[1];
             Line(60-Stab[Xpos],50,60+Stab[Xpos],10);
             Retrace;
             Flip;
            until keypressed;
           end;
           Readkey;
           CloseGraph;
          end.


        Кто может составить статью по применению видеостраниц для анимации? Описать всё популярным языком.
          Цитата Vesper @
          так, вот обещанная прога, переработал ее под объекты, разница только в том, что нельзя непосредственно подсмотреть скажем буфер.


          Цитата Vesper @
          В соседнем файле (BufView.pas) пример использования буферизованного ввода для быстрого вывода BMP файла на экран.


          Vesper, а не мог бы ты составить простой пример без графики?
          сообщ. №46
            ну задач таких немного, где обязательно читать информацию разными блоками... ядро в принципе одно и то же, только его использование нужно менять
            надо подумать над такой задачей (подобрать нормальный пример)
              Вот видел нужен модуль для работы с БМП из ТМТ. Кидаю...
              Прикреплённый файлПрикреплённый файлbmp.rar (3.18 Кбайт, скачиваний: 295)
                Цитата Arsuit @
                Вот видел нужен модуль для работы с БМП из ТМТ. Кидаю...

                Работа с картинками
                  Цитата Arsuit @
                  Кидаю...
                  Я же просил не кидать, а оформлять как следует.
                  Хочу видеть статьи, готовые к выпуску, а не модуль с программой.
                    Цитата Romtek @
                    Я же просил не кидать, а оформлять как следует.

                    Ну там есть небольшая документация
                      Цитата Arsuit @
                      Ну там есть небольшая документация
                      Я видел, разумеется. :)
                      Но описание нужно ведь оформить, а кто этим должен заниматься? Можешь прямо здесь, в этой теме, написать сообщение с оформленным средствами форума описанием.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0905 ]   [ 18 queries used ]   [ Generated: 25.04.24, 12:25 GMT ]