Создание скрин-сейвера под vc

Софт только для использования в DOS

Создание скрин-сейвера под vc

Сообщение Y_B » 16 окт 2017, 16:54

Подскажите пожалуйста утилиту с помощью которой можно было бы создать скринсейвер в Volcov Commander. Есть программа - на экране бегают цифры. Необходимо это изображение записать и сделать из него скрин-сейвер. Буду очень признателен.
Последний раз редактировалось Y_B 30 сен 2023, 23:41, всего редактировалось 1 раз.
Y_B
Новичок
 
Сообщения: 3
Зарегистрирован: 16 окт 2017, 16:49

Re: Создание скрин-сейвера под vc

Сообщение Gawobeka » 19 окт 2017, 11:30

TSR Basic http://old-dos.ru/index.php?page=files& ... ow&id=5824
Там уже есть готовая заготовка Saver.bas. Однако памяти он ест порядочно ( Так что этот вариант быстрый, но неэкономный

Можно использовать другой вариант - написать самому программу (не TSR) на любом языке с графическим выводом и выходом по комбинации определенных клавиш. Вызывать ее по F2. Это будет дополнительная защита от любопытных, которые не знают комбинацию для выхода.
Последний раз редактировалось Gawobeka 30 сен 2023, 23:41, всего редактировалось 2 раз(а).
Аватара пользователя
Gawobeka
Мастер Даунгрейда
 
Сообщения: 353
Зарегистрирован: 08 дек 2012, 21:11
Откуда: Кострома

Re: Создание скрин-сейвера под vc

Сообщение Y_B » 30 окт 2017, 15:13

Спасибо за ссылку.
Запустил в командной строке под виндой. Памяти он есть ровно столько сколько весит (Т.е. меньше мегабайта) - Для подтверждения можно проверить в Task Manager'e сколько занимает памяти процесс командной строки.
А вот, как из этого Saver.bat уже сделать требуемое изображение - надо поломать голову.
Подскажите, пожалуйста, как?
Последний раз редактировалось Y_B 30 сен 2023, 23:41, всего редактировалось 3 раз(а).
Y_B
Новичок
 
Сообщения: 3
Зарегистрирован: 16 окт 2017, 16:49

Re: Создание скрин-сейвера под vc

Сообщение Gawobeka » 31 окт 2017, 23:33

Дополнить программу saver.bas программой на GW-BASICe, которая выводит какое-нибудь движущееся графическое или псевдографическое изображение, вставив ее вызов в строку 440 программы saver.bas. При этом не забывая регулярно проверять if inkey( )=0 через какое-то количество шагов внедряемой программы, иначе будут затруднения с возвратом из заставки.

У меня есть такие заготовки на GW-BASICe, могу выложить. Только допиливать будете сами :)
Последний раз редактировалось Gawobeka 30 сен 2023, 23:41, всего редактировалось 1 раз.
Аватара пользователя
Gawobeka
Мастер Даунгрейда
 
Сообщения: 353
Зарегистрирован: 08 дек 2012, 21:11
Откуда: Кострома

Re: Создание скрин-сейвера под vc

Сообщение Y_B » 09 ноя 2017, 13:46

Я так понимаю, GW-basic - это среда разработки, которая поставляется вместе с MS-DOS. Но начиная с 5-ой версии MS-DOS она была заменена на QBasic. А как эта среда разработки вызывается из под MS-DOS? Синтаксис можно посмотреть в интернете. А как декомпилировать?
Выложите, пожалуйста, исходники.
Последний раз редактировалось Y_B 30 сен 2023, 23:41, всего редактировалось 1 раз.
Y_B
Новичок
 
Сообщения: 3
Зарегистрирован: 16 окт 2017, 16:49

Re: Создание скрин-сейвера под vc

Сообщение Gawobeka » 10 ноя 2017, 17:07

В качестве примера первого шага по разработке собственного скрин-сейвера )
Я добавил в оригинал строки с 445 по 505

 Развернуть: saver2.bas
100 ' Screen Saver Demo Program, Version 1.0
110 '
120 ' The following line sets the saver delay interval,
130 ' in timer ticks, which are 18ths of a second. It
140 ' is set to 10 seconds for demo purposes.
150 '
160 saver_delay = 10 * 18
170 '
180 print "Press ctrl-shift-b to terminate saver."
190 '
200 ' The following statement does the actual terminate
210 ' and stay resident part. The parameters set up this
220 ' program to be recalled if a control-shift-b hotkey
230 ' sequence is entered or saver_delay ticks of keyboard
240 ' inactivity occur.
250 '
260 suspend 0, 0x30, 0x06, 0, saver_delay, timer
270 '
280 ' The timer variable tells us why the suspend
290 ' statement returned. If it returned because the
300 ' hotkey sequence was entered then we terminate.
310 '
320 if not timer then cls : end
330 '
340 ' The following code is executed when the screen saver
350 ' kicks in. In this demo program it just saves the screen,
360 ' clears it and then waits for a keystroke. It could do
370 ' something much more elaborate, like the webb.bas
380 ' graphics display.
390 '
400 init
410 savescreen buf
420 blank
430 csroff
440 if inkey() <> 0 then goto 550

445 cls
450 I = 1
455 X = RND() * 24
460 Y = RND() * 80
465 IF X>24 OR Y>80 OR X<1 OR Y<1 then goto 455
470 I = I + 1
475 IF I = 20 THEN X = 24 : goto 440
480 locate X,Y
485 I$ = CHR(RND()*254)
490 IF ASC(I$) < 33 THEN goto 485
495 PRINT I$
500 FOR Z = 0 TO 2000: NEXT Z
505 GOTO 455

550 restorescreen buf
560 goto 250
Последний раз редактировалось Gawobeka 30 сен 2023, 23:41, всего редактировалось 1 раз.
Аватара пользователя
Gawobeka
Мастер Даунгрейда
 
Сообщения: 353
Зарегистрирован: 08 дек 2012, 21:11
Откуда: Кострома


Вернуться в Программы для DOS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9