![]() |
![]() ![]() |
![]() |
compiler |
![]()
Сообщение
#1
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Добрый день!
Меня интересует следующий вопрос, можна ли создать оболочку к write? Допустим я хочу писать в определенное место на терменале, но все это спрятатьв отдельную процедуру... Честно говоря, учитывая то что я знаю о write, я сомневаюсь что это реализуемо, но, может... заранее благодарен. -------------------- Спасибо!
Удачи! |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата в определенное место на терменале что ты имеешь в виду ? Определенное место на экране ? Для это есть gotoXY. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
compiler |
![]()
Сообщение
#3
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
что ты имеешь в виду ? Определенное место на экране ? Для это есть gotoXY. да, но допустим я хочу написать как то так x:=wherex(); y:=wherey();
gotoxy(20,20);
write(s); //выводим s
gotoxy(x, y);
и каждый раз такое творить не очень та и хочеться....Сообщение отредактировано: compiler - 5.01.2008 22:20 -------------------- Спасибо!
Удачи! |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ну и в чем трабл ?)
uses crt;
procedure write_and_return(const msg: String; const x, y: Word);
var
return_x, return_y: Word;
begin
return_x := WhereX;
return_y := WhereY;
GoToXY(x, y);
writeln(msg);
GoTOXY(return_x, return_y);
end;
begin
clrscr;
write_and_return('a', 10, 10);
writeln('b');
write_and_return('c', 10, 11);
readln;
end.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата ну и в чем трабл ?) Вот в этом, вестимо:var test: integer;
...
write_and_return(test, 10, 10); // <--- Error
...
Что, только переменные одного типа печатаются обычно? compiler, смотри в сторону Format + array of const |
compiler |
![]()
Сообщение
#6
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
klem4, прости что ввел в заблуждение названием переменной..
compiler, смотри в сторону Format + array of const тоесть? как их тут использовать?может стоит передавать указатель на то что печатаем и переменную перечасляемого типа в которой будет тип, вот... например, wr(my_point, integer, x, y);, а затем как то это обрабатывать... -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
uses sysutils, crt;
procedure write(px, py: integer;
s: string; arrX: array of const);
var x, y: integer;
begin
x := wherex(); y := wherey();
gotoxy(px, py);
system.write(format(s, arrX));
gotoxy(x, y);
end;
var
i: integer;
s: string;
f: double;
begin
clrscr;
s := 'test'; f := 11.45; i := 20;
write(10, 10, '%s', [s]);
write(15, 15, '%d %5.2f', [i, f]);
end.
Можешь не переопределять Write, а дать другое имя процедуре... |
compiler |
![]()
Сообщение
#8
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Спасибо, то что надо!
system.write(format(s, arrX));
o_O, а можна комментарий?1)обращение к system. надо для того что бы обратиться к нужной write? 2)что делает format? Сообщение отредактировано: compiler - 6.01.2008 0:07 -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата обращение к system. надо для того что бы обратиться к нужной write? Если не будет system. - то компилятор посчитает вызов Write рекурсивным, и просто скажет, что не хватает параметров...Цитата что делает format? Форматирует строку по шаблону, переданному первым параметром (printf-ом в Сях пользовался? Что-то очень похожее):SysUtils: Format |
compiler |
![]()
Сообщение
#10
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
volvo, спасибо! буду разбираться...
-------------------- Спасибо!
Удачи! |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 8:52 |