![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Georgich |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот я выкладываю файл (модуль) меню, но он сделан без модуля graph. А надо с этим модулем, но в graph я плохо разбираюсь. Посмотрите, кто-нибудь мой файл и если несложно, сможете сделать окно, в котором были бы строчки, как у меня в модуле. И чтобы окно было по типу Norton Commander'а, но не на весь экран!
Заранее спасибо! Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Georgich,
Ну вот я выдрал из своей старой программы меню для графического режима, посмотри, может пойдет... Единственное, что тебе надо будет сделать - это поменять строки в массиве mainMenu и подставить нужные вызовы процедур в Case menuScreen Of
... { здесь }
End;
Но учти, что это графический режим, и если сама процедура работает в текстовом - тебе надо будет вызывать процедуры вот так: Case menuScreen Of
optOne:
begin
RestoreCrtMode; { переходим в текстовый режим }
{ здесь - запускаешь свою процедуру }
SetGraphMode(GetGraphMode); { назад в графический режим }
end;
...
End { case }
Если что - спрашивай ;) Файл EGAVGA.OBJ (он в архиве) должен быть в той же директории, что и программа... Прикрепленные файлы ![]() ![]() |
Georgich |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 volvo
Блин, чего-то сложновато...А для чего этот EGAVGA.OBJ нужен? Нет, все-таки попроще будет через CRT, хотя преподы хотят, чтобы в работе окошки присутсвовали и все так красиво было! Они сами этого нифига не объясняют,а мне вас тут надо мучать на форуме. Еще вопрос, а окошко, которое у меня начерчено можно заоить как-нибудь или этот только в графическом режиме? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну ты сначала для себя-то реши, что ты хочешь - текст или графику... А потом спрашивай. Нужно в тексте, сделаем в тексте
![]() |
Georgich |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вообщем в пятницу решу чего делать...ПСЕВДОграфическое меню или оставить как было у меня. Правда появятся другие вопросы, ведь это только часть моего курсовика, а он приличный по объему
![]() |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Вот, например, я просто заставил твой модуль работать по-другому... Проверь...
Кстати, у тебя и было "псевдографическое" ... ![]() Прикрепленные файлы ![]() |
Georgich |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo спасибо, классное меню, есть еще вопрос. У меня там задается массив на нажатие клавиш, а как сделать динамический массив на нажатие клавиш, а то преподов все приспичивает на динамику. Говорят, ПОЛНАЯ ДИНИМИКА должна быть, понимаешь :D
|
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
динамика в FAQ'e
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Georgich |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не стал создавать отдельную тему, поэтому решил написать сюда, хоть к меню это и не относится.
Посмотрите, пожалуйста, прикрепленный файл и если сможете исправьте его так, чтобы там просто напрасто не было функции 1 (f1), а чтобы была только функция 2 (f2). Сколько не пытался выдрать из проги первую функцию, вторую она считать отказывалась ![]() Помогите, плиз Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Ну и правильно, я бы тоже отказался... Ты можешь сказать, чему равно Y при входе в эту функцию?
function f2(a:real):real;
const eps=0.0001;
var y,s,k,kp:real;
i:integer;
begin
k:=y; { и ты присваиваешь это в K }
s:=0;
i:=1;
repeat
s:=s+k;
i:=i+1;
kp:=k;
k:=(k*(-y))/i; { и вот тут возникает переполнение }
until abs(k-kp)<eps;
f2:=s;
end;
|
Georgich |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 volvo
а юзер сам вводит y. Но обычно y < 0 Да дело не в этом....Надо чтобы в программе была всего одна функция f2, а f1 надо выкинуть из программы, а у меня это не получается ![]() |
Georgich |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
Теперь вопрос более менее по меню. Как мне сделать, чтобы ВЕСЬ экран залился синим цветом, вместо черного, и оконтовка у экрана была как у Турбо Паскаля?
Еще раз спасибо! |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата(Georgich @ 21.04.05 17:49) а юзер сам вводит y. Но обычно y < 0 Да дело не в этом.... Да нет, как раз именно в этом дело... Ты же программе должен сказать, что юзер вводит Y... а так она берет случайно оказавшееся в памяти на этом месте значение, и из-за этого и происходит сбой... Инициализируй чем-нибудь Y и все прекрасно будет работать и без f1... В аттаче - программа, в которой я закомментировал вызов F1 ... Но при запуске - вылетает, я проверил начальное значение Y = 5.4x10^14... вот тебе и причина. А ты говоришь "неважно"... Прикрепленные файлы ![]() |
Georgich |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня вообще задача посчитать сумму ряда
y-y^2/2!+y^3/3!-y^4/4!+... Ну вот надо множитель правильно вывести, раз вы говорите, что там переполнение идет |
FreeMan |
![]()
Сообщение
#15
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
дык похожих задач на форуме уйма.
-------------------- бб
|
Georgich |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ладно, а как насчет моего 12 поста???
|
FreeMan |
![]()
Сообщение
#17
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
установить синий цвет фона и сделать clrscr - синий экран. оконтовка - смотри таблицу символов
-------------------- бб
|
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Ну, вообще-то для знакопеременного ряда я бы делал так:
function f2(a: real): real;
const
eps = 0.0001;
var
s, next: real;
isMinus: boolean;
i: integer;
begin
isMinus := false;
next := a; { иначе я вообще не понимаю, зачем его передавать }
s := next;
i := 2;
repeat
isMinus := not isMinus;
next := next * a / i;
s := s + (1 - 2 * byte(isMinus)) * next;
inc(i)
until next < eps;
f2 := s
end;
Только учти, что при некоторых условиях ряд будет расходиться и программа просто зависнет... Я бы еще проверял i на достижение некоторого числа итераций (например 200). И если ряд не сходится, то после 200 итераций выходить из функции... |
Georgich |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 FreeMan
Какими командами-то??? Это я и без тебя знаю, что оконтовку по таблице ASCII делать надо, но там правая граница кривая получается.....Вот фигня, блин! Знаешь - делай. Я тебе меню сделал - край ровный был - вот и делай в таком же стиле. А за выражениями следи ![]() Сообщение отредактировано: volvo - 21.04.2005 20:05 |
Georgich |
![]()
Сообщение
#20
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 volvo
Всегда хотел спросить, что означает inc? Интересно, увидев этот кусок программы (функцию F1) у нас препод с ума на сойдет, потому что мы так никогда не делали? |
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 10:44 |