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

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

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

> Помогите решить, текстовый режим
-Ольга-
сообщение 19.02.2008 15:39
Сообщение #1


Гость






помогите решить!!! есть программа, которая выводит на весь экран точки произвольного цвета. Необходимо, чтобы вместо точек выводило латинские буквы в произвольном порядке

Program L;
uses graph;
var
i,x,y,c:integer;
begin
DetectGraph(x,y);
InitGraph(x,y,'c:\tp7\BGI\');
for i:=1 to 5000 do
begin
x:=Random(640);
y:=Random(480);
c:=Random(15);
PutPixel(x,y,c);
end;
readln;
end.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
-Ольга-
сообщение 19.02.2008 16:20
Сообщение #2


Гость






СПАСИБО!!! работает! только я не поняла, что значят цифры 26 и 65....... может кто-нибудь сказать
 К началу страницы 
+ Ответить 
compiler
сообщение 19.02.2008 16:35
Сообщение #3


Человек
*****

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

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


Цитата(-Ольга- @ 19.02.2008 15:20) *
СПАСИБО!!! работает! только я не поняла, что значят цифры 26 и 65....... может кто-нибудь сказать
в кодировках основанных на ASCII, 65 - код первой буквы(<<A>>), а 26 - количество букв в алфавите..
расмотрим функцию подробней
Код
function getRandLet():char;    //функция возвращает символ
var    i:integer;    //служебная переменная, хранит код символа
begin
    i:=integer(random(52));    //в алфавите 26 букв, но есть большие и маленькие,  итого 52
    if i<26
        then     //если буква большая
            i:=i+65    //добавляем 65(код "A")
        else    //буква маленькая
            i:=i+71;    //добавляем 65(код "A") + 6(количество символов между "Z" и "a" )
    getRandLet:=chr(i);    //преобразовываем код в символ
end;


Добавлено через 2 мин.
Цитата
только буквы теперь опять не цветные
в каком режиме ты работаешь(текстовый/графический)?

Сообщение отредактировано: compiler - 19.02.2008 16:39


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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