IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Маленькая проблемка с графикой
BRS
сообщение 13.10.2004 23:11
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Вобщем дала мне наша семинаристка проги написать... Подбегаю к ней через 10 минут - мол все готово %)))
Она, как всякая семинаристКА (никаких претензий к женскому роду, просто лично мне ниразу не попадалась номальная женщина + препод по кодингу) была малость не доволньна ))) Вобщем ну совсем ей не понавилось мое оформление проги ))) Ну и то правда - иьо оформления никакого... Вследствии чаго я был отправлен на доработку. Так прога из 40 строчек разрослась уже в прогу с 250 строками %))) Ибо решил я оформить все по высшему уровню, а не по минимальным требованиям )))

Но вот столкнулся с проблемкой... Значит захотел сделать что то вроде заполняющейся шкалы на 100 квадратиков и рядом бегущие циферки от 1% до 100%.

Ну собсно со шкалой проблем не возникло, правда я в каком то трансе был, поэтому зделал довольно оригинально:

Код

  {Два вспомогательных массива}
Wait1[1] := 15; Wait2[1] := 18;
for i := 2 to 100 do
  begin
  Wait1[i] := Wait1[i-1] + 5;
  Wait2[i] := Wait2[i-1] + 5;
  end;

{собственно сама полоска}
for i := 1 to 100 do
  begin
  bar(Wait1[i], 30, Wait2[i], 45);
  Str(i, finish);
  OutTextXY(540, 33, finish);
  delay(5000);
  end;
  OutTextXY(570, 33, '%');


И вот тут проблемка - решения которой я не знаю. Как понятно из кода, в одних и ех же координатах (с права от строки) будет писаться 1%, 2%, 3%, ..., 100%. Но. ВОПРОС! Как "чистить" эти координаты? Ведь по данному коду 1% будет написано поверх 2% и так далее - результат - закрашенные квадратики )

Собсно сабж ) Как почистить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 14.10.2004 1:30
Сообщение #2


Гость






Попробуй вместо этого:

OutTextXY(540, 33, finish);
delay(5000);



поставить что-то типа:


SetColor(White);
OutTextXY(540, 33, finish);
delay(5000);
SetColor(GetBkColor);
OutTextXY(540, 33, finish);



для затирания выведенного текста цветом фона...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"