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

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

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

 
 Ответить  Открыть новую тему 
> Маленькая проблемка с графикой
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

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



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


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



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


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

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


а просто bar не нарисовать, где находится буква, которую надо затереть ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Спасибо! Пробовал зделать тоже самое - но через TextColor - А он разумееться не работал ))))

2 GoodWind Бар то под текстом будет
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Прогрессор
****

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

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


А если вырезать этот кусок окна, сохранить, а после каждого вывода цифры копировать обратно?(это, кажется, GetImage делает...совсем склероз замучал) sad.gif ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

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

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


Все действительно просто через SetColor ) Просто после Delay на месте 1% Пишем 1% но черным и все
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 15:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name