![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
striker |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: ![]() ![]() ![]() |
http://forum.sources.ru/index.php?showtopi...0entry2263928
Сворачивается экран Паскаля (турбо) присваивание detect'а не помогает |
![]() ![]() |
striker |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: ![]() ![]() ![]() |
нет
![]() Он с эксплорером открытым сворачивается Вот попытался совместить с программой из соседней темы - всё, запутался. Суть та же, вывод другой Так ли я время преобразую? Код uses crt,dos,graph; const size = 50; fore = lightred; back = darkgray; type indicator = 1 .. 7; i_set = set of indicator; rec = record xs, ys, xf, yf: integer; end; arr_digits = array['0' .. '9'] of i_set; arr_lines = array[1 .. 7] of rec; const digits: arr_digits = ( [1, 2, 3, 4, 5, 6], [3, 4], [2, 3, 5, 6, 7], [2, 3, 4, 5, 7], [1, 3, 4, 7], [1, 2, 4, 5, 7], [1, 2, 4, 5, 6, 7], [2, 3, 4], [1, 2, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 7] ); lines: arr_lines = ( (xs:0; ys:0; xf:0; yf:size), (xs:0; ys:0; xf:size; yf:0), (xs:size; ys:0; xf:size; yf:size), (xs:size; ys:size; xf:size; yf:2*size), (xs:size; ys:2*size; xf:0; yf:2*size), (xs:0; ys:2*size; xf:0; yf:size), (xs:0; ys:size; xf:size; yf:size) ); var xpos, ypos: integer; procedure put_indicator(list: i_set); var i: indicator; begin for i := low(indicator) to high(indicator) do begin if i in list then setcolor(fore) else setcolor(back); with lines[i] do line(xpos + xs, ypos + ys, xpos + xf, ypos + yf); end; inc(xpos, size + 10); end; procedure print(s: string); var i: integer; begin for i := 1 to length(s) do begin case s[i] of '0' .. '9': put_indicator(digits[s[i]]); '-': put_indicator([7]); end; end; end; Function GetTime: LongInt; Var h, m, s, ms: Word; R: longint; begin Dos.GetTime(h, m, s, ms); GetTime := ms + 100 * (s + 60 * (longint(m) + 60 * h)); end; var g_driver, g_mode,i: integer; stop:boolean; curr_time:longint; s:string; begin initgraph(g_driver, g_mode, ''); xpos := 150; ypos := 150; setwritemode(xorput); i := 0; stop := false; repeat repeat curr_time := GetTime; while GetTime - curr_time < 100 do; { просто ждем 1 секунду } if keypressed then begin stop := true; while keypressed do readkey; end; str(curr_time,s); print(s); inc(i); until stop; stop:=false; readln; until keypressed; readln; closegraph; { <--- Вот так же передашь текущее время в виде строки в процедуру print } readln; closegraph; end. |
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 21:36 |