Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2008, 02:52   #1
t13sto
 
Регистрация: 23.05.2008
Сообщений: 8
Вопрос переменная в граф. режиме.

Уважаемые! Подскажите как вписать переменую в строку текста (графический режим). Пробовал вот так вот

OuttextXY(10,10,'You have ', n ,'apples');

но понял что так дело не пойдет

(*мне нужно вставить переменную n между словами*)

Прошу помощи!

Последний раз редактировалось t13sto; 20.07.2008 в 04:29.
t13sto вне форума Ответить с цитированием
Старый 20.07.2008, 08:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Это несложно. И есть варианты ! например:
Код:
var MyN : string;
begin
  ....
  Str(n:1,MyN);
  OuttextXY(10,10,'You have '+ MyN+' apples');
либо написать свою функцию, возращающую для числа - строку (например, function IntToString(n:integer) : string
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.07.2008, 08:24   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
Строку S можно определять явно в виде символов, заключенных в апострофы, например, OutText('Sample 1');, или как переменную (константу) типа string. Если требуется вывести значение переменной числового типа, то необходимо применить процедуру ее преобразования в строковый тип. Например: Str(x:10:5,S); - определяем переменную "S" (типа string), полученную преобразованием переменной "x" (вещественного ти-па) по указанному формату.
Т.е. сначала переведите переменную n в строковый тип, а потом пользуйте. Кроме того:
Цитата:
При выводе нескольких строковых переменных они соединяются знаком "+" , например: OutText('x='+ S);
puporev вне форума Ответить с цитированием
Старый 21.07.2008, 11:10   #4
engeneer
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Это несложно. И есть варианты ! например:
Код:
var MyN : string;
begin
  ....
  Str(n:1,MyN);
  OuttextXY(10,10,'You have '+ MyN+' apples');
либо написать свою функцию, возращающую для числа - строку (например, function IntToString(n:integer) : string
Да, именно стандартная функция str: str(n,stroka), где n - переменная integer или real, stroka - string. Обратная функция - val(stroka,n,i), где stroka - string, n - real, i - integer. При этом строка примет текстовое значение переменной n, а i - код ошибки (если имеет место).
engeneer вне форума Ответить с цитированием
Старый 21.07.2008, 11:19   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

во-первых, я считал, что данная тема исчерпана и может быть закрыта.
а во-вторых...
хотел промолчать, но не смог... :-)
Цитата:
Сообщение от engeneer
Да, именно стандартная функция str: str(n,stroka)... Обратная функция - val(stroka,n,i) ...
в паскале нет таких стандартных функций
есть такие - ПРОЦЕДУРЫ.
разницу улавливаете? :-)
Я и говорил о том, что можно описать свою функцию, в которой вызывать стандартную процедуру и результат выполнения возращать в качестве результата функции...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.07.2008, 11:35   #6
engeneer
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
во-первых, я считал, что данная тема исчерпана и может быть закрыта.
а во-вторых...
хотел промолчать, но не смог... :-)

в паскале нет таких стандартных функций
есть такие - ПРОЦЕДУРЫ.
разницу улавливаете? :-)
Я и говорил о том, что можно описать свою функцию, в которой вызывать стандартную процедуру и результат выполнения возращать в качестве результата функции...
Ладно, не придирайтесь... суть-то ясна.
engeneer вне форума Ответить с цитированием
Старый 21.07.2008, 11:47   #7
engeneer
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
во-первых, я считал, что данная тема исчерпана и может быть закрыта.
а во-вторых...
хотел промолчать, но не смог... :-)

в паскале нет таких стандартных функций
есть такие - ПРОЦЕДУРЫ.
разницу улавливаете? :-)
Я и говорил о том, что можно описать свою функцию, в которой вызывать стандартную процедуру и результат выполнения возращать в качестве результата функции...
Если такой крутой хакер - помогите лучше пож. вот в этом разобраться:
http://www.programmersforum.ru/showthread.php?t=23422
engeneer вне форума Ответить с цитированием
Старый 21.07.2008, 14:25   #8
t13sto
 
Регистрация: 23.05.2008
Сообщений: 8
По умолчанию

спасибо всем!
t13sto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на граф kopzone Помощь студентам 5 27.07.2008 23:14
Граф в паскале LLIypLLIyH Помощь студентам 10 16.06.2008 14:09
Граф в Делфи консоль LLIypLLIyH Помощь студентам 6 12.06.2008 18:20
как организовать граф(очень специфический) Kurk_SS Общие вопросы Delphi 10 09.05.2008 08:06
Ошибка граф. драйвера satana Паскаль, Turbo Pascal, PascalABC.NET 1 15.10.2007 17:22