PCopy
 
Copies one graphical or text page onto another

Syntax

Declare Sub PCopy ( ByVal source As Integer = -1, ByVal destination As Integer = -1 )

Usage

PCopy [ source ] [, destination ]

Parameters

source
page to copy from
destination
page to copy to

Description

Copies one graphical or text video page to another. Useful for drawing all graphics on one invisible page and copying it to the active visible page - creating smooth graphics and animation. Known as 'double buffering' or 'page flipping'.

source and destination refer to page numbers. The 'source' page is copied over the 'destination' page when pcopy is called.

If the source argument is omitted, the current working page is assumed. If the destination page is omitted, the current visible page is assumed.

Example

ScreenRes 320, 240, 32, 2    'Sets up the screen to be 320x240 in 32-bit color with 2 video pages.
Dim As Integer max_x_value = 270, x_value = 50    'Dimension our working variables.

Do While x_value < max_x_value     'Loop while x_value is less than the max
    ScreenSet 2,1     'Sets the working page to 2 and the displayed page to 1
    Cls    'Clears the screen so we can start fresh
    Circle (x_value,50),50,&h00FFFF00     'Draws a circle with a 50 pixel radius in yellow on page 2
    ScreenSet 1,1    'Sets the working page to 1 and the displayed page to 1
    ScreenSync    'Waits for vertical refresh
    PCopy 2,1    'Copies our circle from page 2 to page 1
    x_value += 1     'Increments x_value so it will move.
    Sleep 25     'Waits for 25 milliseconds.
Loop     'Goes back to do as long as x_value is less than x_max_value

Sleep   'Waits for any key to be pressed so you can see the work done.


Example

' Console mode example:

'' set the working page number to 0, and the visible page number to 1
#if __FB_LANG__ = "QB"
Screen ,, 0, 1
#else
Screen , 0, 1
#endif

Dim As Integer i, frames, fps
Dim As Double t

t = Timer

Do


    '' fill working page with a certain color and character
    Cls
    Locate 1, 1
    Color (i And 15), 0
    Print String$(80 * 25, Hex$(i, 1));
    i += 1


    '' show frames per second
    Color 15, 0
    Locate 1, 1
    Print "fps: " & fps,
    If Int(t) <> Int(Timer) Then
        t = Timer
        fps = frames
        frames = 0
    End If
    frames += 1


    '' copy working page to visible page
    PCopy


    '' sleep 50ms per frame to free up cpu time
    Sleep 50, 1


    '' run loop until user presses a key
Loop Until Len(Inkey$)


Platform Differences

  • Maximum number of text pages in Windows is 4.
  • Maximum number of text pages in DOS is 8.
  • Maximum number of text pages in all other targets is 1.
  • Maximum number of graphics pages depends on what was specified when the Screen or ScreenRes statement was called.

Differences from QB

  • None

See also

Сайт ПДСНПСР. Если ты патриот России - жми сюда!


Знаете ли Вы, в чем фокус эксперимента Майкельсона?

Эксперимент А. Майкельсона, Майкельсона - Морли - действительно является цирковым фокусом, загипнотизировавшим физиков на 120 лет.

Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
- Cколько яблок на березе, если на одной ветке их 5, на другой ветке - 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.

В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.

Удивительно, что этот цирковой трюк овладел на 120 лет умами физиков на полном серьезе, хотя его прототипы есть в сказках-небылицах всех народов всех времен, включая барона Мюнхаузена, вытащившего себя за волосы из болота, и призванных показать детям возможные жульничества и тем защитить их во взрослой жизни. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research Institution home page

Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution