1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| plafon |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: 0 |
Кто нибудь поможет с такой задачей
Написать программу для воспроизведения рисунка, записанного в специальном формате в файле с расширением “vec”. Рисунок поместить в центр экрана. Под рисунком вывести имя файла, включая путь. Графическое изображение представляет собой набор графических примитивов: точек, отрезков, прямоугольников и эллипсов различных цветов. Прямоугольники и эллипсы могут иметь заливку. Изображение имеет 16 цветов (коды цветов 0-15). Файл содержит записи, каждая из которых состоит из фиксированного набора полей, описывающих графический примитив. Все координаты указываются в пикселях относительно левого верхнего угла изображения, имеющего координаты (0,0). Оси направлены: 0X - вправо, 0Y - вниз. Графические примитивы отображаются относительно текущей позиции курсора, которая может быть изменена специальной командой |
![]() ![]() |
| BlackShadow |
Сообщение
#2
|
|
Гость |
Бред-бредом.
Пишу без компилятора и по памяти, так что возможны ошибки.Если что - свисти, исправлю. Код Uses Graph,Crt; Type TRec=Record Code:Byte; x:Integer; y:Integer; Color:Byte End; Procedure DisplayFile(FileName:String); Var f:File Of TRec; r:TRec; Begin Assign(f,FileName); Reset(f); MoveTo(0,0); While Not Eof(f) Do Begin Read(f,r); Case r.Code Of 0: If (r.Color And $80) <> 0 Then Begin SetBackColor(r.Color And $0F); ClearViewPort End 1: MoveTo(r.x,r.y); 2: PutPixel(r.x,r.y,r.Color And $0F); 3: Begin SetColor(r.Color And $0F); LineTo(r.x,r.y) End; 4: If (r.Color And $80) <> 0 Then Begin SetFillStyle(SolidFill,r.Color And %0F); Bar(GetX,GetY,r.x,r.y) End Else Begin SetColor(r.color And $0F); Rectnagle(GetX,GetY,r.x,r.y) End; 5: If (r.Color And $80) <> 0 Then Begin SetFillStyle(SolidFill,r.Color And $0F); FillEllipse(GetX,GetY,r.x,r.y) End Else Begin SetColor(r.Color And $0F); Ellipse(GetX,GetY,r.x,r.y); {Вот тут вроде ещё углы начала и конца указать надо, но я точно не помню} End; 6: Begin SetFillStyle(SolidFill,r.Color Shr 4); FloodFill(x,y,r.Color And $0F) End End; Close(f) End; Var r,m:Integer; s:String; Begin Write('Enter FileName: '); ReadLn(s); r:=Detect; InitGraph(r,m,''); DisplayFile(s); ReadKey; RestoreCRTMode End. Приблизительно так, но я не уверен, что всё верно, т. к. Graph.Tpu не кастовал года уж как 2-3... Если что, то спрашивай, тут на такие вопросы ответят точно. |
plafon Воспроизведения рисунка 17.05.2004 15:26
BlackShadow По-подробнее о записи с фиксированным набором поле… 17.05.2004 16:07
plafon Формат записи:
1. Поле Operation типа Byte. Содерж… 17.05.2004 17:23
plafon Пацаны посмотрите а то чё то не получается а завт… 26.05.2004 4:01
Dark
Uses Graph,Crt;
Type
TRec=Record
Code… 26.05.2004 7:22
plafon Dark зачем же повторять за BlackShadow ведь я же г… 31.05.2004 23:14
Altair А что конкретно не получается?
Я не стал проверять… 31.05.2004 23:41
plafon Всё нормально но после всего пишется File not foun… 1.06.2004 3:26
plafon Как прикрепить файл с расширением vec чтобы провер… 1.06.2004 3:33
plafon Извиняюсь там было написано File not open
:rolley… 1.06.2004 3:44
Dark Я просто исправил мелкие баги... хм... 1.06.2004 6:30
Altair
Тогда открой его, и дело с концом. 1.06.2004 10:31
plafon Непонял как его открыть? 1.06.2004 13:26
BlackShadow Убедись, что не посеял строку Reset(f) После Assig… 1.06.2004 15:22
plafon Проверил всё на месте 1.06.2004 15:44
BlackShadow Странно... Перепроверю потом. 1.06.2004 16:20
Altair Действительно странный глюк. Надо попробовать выре… 1.06.2004 21:09
plafon Пацаны я вас умоляю помогите срочняк нужно а? 2.06.2004 1:46
Altair ОК, присоедини тестовый файл vec , а то самому не … 2.06.2004 10:44
Любимая Люди помогите плииииз. Нужно составить рисунок в п… 29.11.2004 16:58
volvo Любимая
1. Зачем поднимать старые темы? Нельзя соз… 29.11.2004 18:24
Любимая :nono: уж простите "чайника" за такую ошибочку,… 29.11.2004 19:08
GoodWind
почему не на наш ? на наш !!! :yes: … 29.11.2004 19:13
Guest просто я всю жизнь в бейсике проработала, а тут ср… 29.11.2004 22:30
GoodWind
оффтоп: а чё так сразу ? :blink:
какой примити… 29.11.2004 22:55![]() ![]() |
|
Текстовая версия | 6.11.2025 5:52 |