|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.01.2010, 17:51 | #1 |
Пользователь
Регистрация: 04.11.2009
Сообщений: 26
|
Вопросы по изменению внешнего вида программы
Здравствуйте ! Я начинающий в Pascal и у меня возникли некоторые вопросы. Сейчас я создаю первую свою программу (Калькулятор). При обычном запуске exe файла программа выполняется на черном фоне.
Вопрос 1. Как изменить фон, на котором выполняется программа ? Вопрос 2. Как изменить шрифт текста в программе ? Вопрос 3. Как вставить в программу картинку с своего компьютера ? Последний последник. Как сделать чтобы в конце программа не заканчивалась. (Пишет: для продолжения нажмите Enter, я нажимаю и программа заканчивается.) Пока все . |
23.01.2010, 21:03 | #2 |
Пользователь
Регистрация: 23.01.2010
Сообщений: 36
|
1) используй процедуру TextBackGround(цвет);
2) процедура textcolor(цвет); 3) чего-то непомню... Чтобы программа не закончилась можно: добавить readln; в конце или использовать цикл: repeat until KeyPressed end. |
23.01.2010, 21:07 | #3 |
Пользователь
Регистрация: 23.01.2010
Сообщений: 36
|
если используешь цикл в конце программы незабудь подключить CRT:
uses CRT; а то может случиться неладное |
23.01.2010, 21:10 | #4 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
------------------------ , и еще раз !
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
23.01.2010, 21:24 | #5 | |
Пользователь
Регистрация: 23.01.2010
Сообщений: 36
|
Цитата:
21:26 используя цикл repeat until KeyPressed end. мы ожидаем от пользователя нажатия на любую клавишу клавиатуры для этого CRT и подключаем 21:31 название библиотеки CRT аналогично русскому ЭЛТ (мониторы) хотя позволяет работать с клавой, звуковым генератором ПК и т.д. Вот и попался... Прощаю, пока постов меньше десяти У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом. Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе... Модератор извините уважаемый модератор, невнимательно читал правила... каюсь Последний раз редактировалось mihali4; 24.01.2010 в 14:16. |
|
23.01.2010, 23:14 | #6 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Последний раз редактировалось psycho-coder; 24.01.2010 в 21:41. |
29.01.2010, 21:25 | #7 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
Если программа работает в текстовом режиме, то вставить картинку не получится. Более того, если это паскаль, то "вставить картинку" проблематично, хотя реально.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
03.02.2010, 21:01 | #8 |
Новичок
Джуниор
Регистрация: 03.02.2010
Сообщений: 1
|
в графическом модуле тоже можно писать так что сначало нарисуй комп а затем в него впихай текст
|
20.02.2010, 16:27 | #9 |
Пользователь
Регистрация: 23.01.2010
Сообщений: 36
|
Вопрос 3. Как вставить в программу картинку с своего компьютера ?
Ура, кажется получилось, но при помощи астмы и системных прерываний Вот сама прога: uses crt,dos; var Sp1,Sp2,Sp3,Sp4: pointer; temp:word; procedure InitGraph; assembler; asm mov ax,13h int 10h end; procedure SetPal(Color,R,G,B:Byte); Begin Port[$3C8] := Color; Port[$3C9] := R shr 2; Port[$3C9] := G shr 2; Port[$3C9] := B shr 2; End; procedure Putpixel2(X, Y: Word; Color: byte); assembler; asm mov ax, $A000 mov es, ax mov bx, 320 mov ax, Y mul bx add ax, X mov di, ax mov al, Color mov es:[di], al end; procedure PutPixel(x,y:integer;color:byte); begin fillchar(ptr(SegA000,y*320+x)^,1,co lor); end; function Clock:longint; begin clock:=MemL[Seg0040:$6c]; end; procedure LoadBMP(filename:string); var xh,xl,yh,yl:byte; u,v,x,y:word; pcxer:file of byte; color,r,g,b,pix,tmp:byte; k:word; begin assign(pcxer,filename); reset(pcxer); seek(pcxer,18); read(pcxer,xl); seek(pcxer,19); read(pcxer,xh); seek(pcxer,22); read(pcxer,yl); seek(pcxer,23); read(pcxer,yh); x:=xh*256+xl-1; y:=yh*256+yl-1; seek(pcxer,54); for color:=0 to 255 do begin read(pcxer,b,g,r,tmp); setpal(color,r,g,b); end; pix:=1; seek(pcxer,1078); for v:=y downto 0 do for u:=0 to x do begin read(pcxer,tmp); if tmp <> 0 then putpixel2(u*pix,v*pix,tmp); end; close(pcxer); end; procedure CloseGraph; assembler; asm mov ax,3h int 10h end; var w,e:word; c1,c2:longint; begin initgraph; c1:=clock; LoadBMP('1.bmp'); c2:=clock; readkey; closegraph; writeln(c2-c1); end. она выводит картинку с расширением *.bmp на экран монитора нужно, чтобы в одной папке с программой лежала картинка |
23.02.2010, 22:14 | #10 |
Пользователь
Регистрация: 04.11.2009
Сообщений: 26
|
Большое спасибо за ответы ! Буду пользоваться .
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
contextMenuStrip изменение внешнего вида | Casper-SC | Общие вопросы .NET | 2 | 14.01.2010 16:49 |
Excel сброс настроек внешнего вида | Kuraj | Microsoft Office Excel | 5 | 13.01.2010 10:31 |
Как запустить макрос по изменению значения в ячейке? | zander | Microsoft Office Excel | 4 | 23.02.2009 10:46 |
Приобретение внешнего HDD | 5naip | Компьютерное железо | 6 | 12.01.2009 22:52 |
Улучшение внешнего вида запроса | Kip | Microsoft Office Access | 1 | 09.09.2008 08:24 |