Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2008, 14:19   #1
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию Скриншот экрана

Вопрос: как сделать скриншот экрана в Borland Pascal в графическом режиме?
ViNcHeStEr вне форума Ответить с цитированием
Старый 07.07.2008, 16:31   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Наверное, тебе придется считать попиксельно весь экран и потом его записывать в файл, т.е. нужно будет изучить структуру формата в который ты хочешь сохранить. Это вариант если у тебя задача такая стоит, если тебе просто для отчетов нужно скрины делать есть проги которые их делают в консоле.
Hollander вне форума Ответить с цитированием
Старый 08.07.2008, 06:56   #3
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Да, скрины нужны для отчётов.
ViNcHeStEr вне форума Ответить с цитированием
Старый 08.07.2008, 07:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,803
По умолчанию

Цитата:
Да, скрины нужны для отчётов.
А-а-а так тебе всего-то нужно свой паскаль запускать в виртуальной машине.
Чесно я лично другого выхода в свое время не нашел, не хотит паскаль-графика в окне показываться, а вот под VMWare вполне мормально.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2008, 08:06   #5
GenAcid
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 28
По умолчанию

Можно попробовать в DosBox'e, он по ctrl + F5 скрин снимает.
GenAcid вне форума Ответить с цитированием
Старый 08.07.2008, 12:35   #6
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Я когда-то функцию писал для сохранения в bmp.
Код:
unit savebmp;
interface
const
h640x16:array [1..59] of word=(
$4d42,$5876,$0002,$0000,$0000,$0076,$0000,$0028,$0000,$0280,$0000,$01e0,
$0000,$0001,$0004,$0000,$0000,$0000,$0000,$0f36,$0000,$0f36,$0000,$0010,
$0000,$0010,$0000,$0000,$0000,$00c0,$0000,$c000,$0000,$c0c0,$0000,$0000,
$00c0,$00c0,$00c0,$c000,$00c0,$c0c0,$00c0,$8080,$0080,$00ff,$0000,$ff00,
$0000,$ffff,$0000,$0000,$00ff,$00ff,$00ff,$ff00,$00ff,$ffff,$00ff);
procedure savebmp640x480x16(s:string);
implementation
uses graph;
var a:array [1..30720] of byte;
    q:word;
    f:file;
    x,y,t,z:integer;

procedure savebmp640x480x16;
begin
if pos('.',s)=0 then s:=s+'.bmp';
assign(f,s); rewrite(f,1);
blockwrite(f,h640x16,sizeof(h640x16));
for t:=0 to 4 do begin
    z:=479-96*t; q:=0;
    for y:=z downto z-95 do
        for x:=0 to 319 do begin
            z:=x shl 1; inc(q);
            a[q]:=getpixel(z,y) shl 4 or getpixel(z+1,y);
        end;
    blockwrite(f,a,sizeof(a));
    end;
close(f);
end;
end.
Если надо, есть ещё для 256 цветов с палитрой.
Somebody вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрешение экрана Михаил Юрьевич Общие вопросы Delphi 3 11.07.2008 21:33
как сделать скриншот xakkkkker Общие вопросы Delphi 1 10.02.2008 15:24
Скриншот экрана Terran Общие вопросы Delphi 2 16.12.2007 15:13
Как правильно снимать скриншот Vovkin Win Api 7 08.02.2007 20:06