![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Mr.L@mbert_13 |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Всем, доброго времени суток! У меня такая трабла с реализацией некоторых функций программы
Я написал программу постоения графика на заданном промежутке... Не могу, точнее не умею, сделать сжатие растяжение графика вдоль оси ОХ ("-"-сжатие, "+"-растяжение), и постраничный вывод таблицы значений... ![]() Так основной код построения графика вот он (кое что там в коментаторных скобках эт то что я уже пробывал проэксперементировать): Код Procedure Graphik (Var c:char;min,max:real;S1:string); Var DM,DG:integer; {Mx,My:real;} x1,y1:integer; x,y:integer; i:byte; b:integer; s:string; {k:char;} begin {Mx:=1; My:=1; Repeat} If min=max then ERROR (c) Else begin DM:=detect; DG:=0; InitGraph (DM,DG,'G:\BP\BGI'); If GraphResult=GrOK then begin x1:=GetMaxX div 2; y1:=GetMaxY div 2; SetColor (White); Line (0,y1,640,y1); Line (x1,0,x1,480); SetColor (black); SetTextStyle (4,0,0); Bar (0,445,310,480); OutTextXY (10,437,S1); b:=-1; Str (b,s); {Repeat If k=#45 then a:=a*0.9; If k=#43 then a:=a*1.1;} SetTextStyle (2,0,0); For i:=1 to 30 do begin SetColor (blue); line (x1-20*i,y1-2,x1-20*i,y1+2); OutTextXY (x1-20*i-5,y1+5,s); dec(b); Str (b,s); end; b:=1; Str (b,s); For i:=1 to 30 do begin line (x1+20*i,y1-2,x1+20*i,y1+2); OutTextXY (x1+20*i,y1+5,s); inc(b); Str (b,s); end; b:=8; str (b,s); For i:=0 to 17 do begin line (x1-2,30*i,x1+2,30*i); OutTextXY (x1+5,30*i,s); dec (b); str (b,s); end; Repeat x:=Round(20*min)+x1; y:=-(Round(30*min/(1-sqr(min)+0.0005)))+y1; min:=min+0.05; PutPixel (x,y,red); Until min>max; { k:=readkey; Until (k=#27) or (k=#43) or (k=#45);} end Else begin OKHO_MAIN; OKHO2; GoToXY (30,1); Write (S1); OKHO1; GoToXY (4,6); TextColor (Red); Write ('Module "GRAPH" not found.'); end; Repeat c:=Readkey; Until (c=#27){ or (c=#45) or (c=#61)}; {If c=#45 then Mx:=Mx*0.7; If c=#61 then Mx:=Mx*1.5;} end; {Until c=#27;} CloseGraph; end; Помогите, плиз... Заодно прикрепляю архив с файлами .pas и .exe... Заранее, спс... ![]() -------------------- PhotoShop & Progr@mming FOREVER!!!
!!!Resist@nce is futule!!! by Mr.L@mbert_13.... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, с растяжением/сжатием графика проблема решается достаточно просто:
procedure graphik(var c: char; min, max: real;Постраничный вывод - скорее всего завтра, если никто раньше не поможет... |
Mr.L@mbert_13 |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
2 volvo: За сжатие/растяжение спс огромное... Всё работает...
![]() ![]() ![]() -------------------- PhotoShop & Progr@mming FOREVER!!!
!!!Resist@nce is futule!!! by Mr.L@mbert_13.... |
Артемий |
![]()
Сообщение
#4
|
![]() Помощник капитана ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Цитата А что за команда cleardevice? Это процедура очищает граф. экран.. -------------------- Dum spiro spero!
|
Mr.L@mbert_13 |
![]()
Сообщение
#5
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
А постраничный вывод никто не поможет сделать???
![]() ![]()
-------------------- PhotoShop & Progr@mming FOREVER!!!
!!!Resist@nce is futule!!! by Mr.L@mbert_13.... |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Зачем тебе постраничный вывод, если всех данных может быть максимально 30, что прекрасно помещается в твои 2 столбца по 18 записей?
Ну, в принципе, конечно нет проблем, только по-моему это лишнее: procedure Output(min, max, st: real);(Tab не изменяется...) Сообщение отредактировано: volvo - 15.04.2007 15:22 |
Mr.L@mbert_13 |
![]()
Сообщение
#7
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Да дело в том что элементов должно быть больше... Это я собственноручно ограничил STEP не мешьне единицы.... А так должен быть постраничный вывод и никаких столбцов.... С возможностью перехода на первую и последнюю страницу....
-------------------- PhotoShop & Progr@mming FOREVER!!!
!!!Resist@nce is futule!!! by Mr.L@mbert_13.... |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 15:09 |