OberonCore
https://forum.oberoncore.ru/

Помогите кто чем может!!!
https://forum.oberoncore.ru/viewtopic.php?f=35&t=201
Страница 3 из 3

Автор:  Евгений Темиргалеев [ Пятница, 15 Февраль, 2008 13:10 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

LeoparD писал(а):
Info21 писал(а):
LeoparD писал(а):
Пробовал как вы и посоветовали...Не получилось... :(


Вам лень толком объяснить, что Вам нужно, -- кто ж Вам так ответит?

Хочется чтоб один столбец таблицы умножения находился рядом с другим (смотрите страницу внимательнее пост "Четверг, 14 Февраль, 2008 15:45" )

Лично я до сих пор не понял, про какие столбцы идёт речь. Попробую ещё раз угадать:
Вложение:
untitled.odc [1.15 КБ]
Скачиваний: 853

Автор:  LeoparD [ Пятница, 15 Февраль, 2008 13:57 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

Хочется чтоб один столбец таблицы умножения находился рядом с другим (смотрите страницу внимательнее пост "Четверг, 14 Февраль, 2008 15:45" )[/quote]
Лично я до сих пор не понял, про какие столбцы идёт речь. Попробую ещё раз угадать:
Вложение:
untitled.odc


Именно так!!! :P

Автор:  Александр Ильин [ Пятница, 15 Февраль, 2008 16:40 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

LeoparD писал(а):
Info21 писал(а):
Вам лень толком объяснить, что Вам нужно, -- кто ж Вам так ответит?

Хочется чтоб один столбец таблицы умножения находился рядом с другим (смотрите страницу внимательнее пост "Четверг, 14 Февраль, 2008 15:45" )

Вы и в самом деле не поставили задачу как следует. В вашем примере как минимум один лишний перевод строки. Вот рабочий вариант:
Код:
MODULE Mult;
IMPORT StdLog;

PROCEDURE Mult1*;
VAR x1,x2,i : INTEGER;
BEGIN
FOR x1 := 2 TO 9 DO
FOR x2 := 2 TO 9 DO
i:=x1*x2;
StdLog.String("|");
StdLog.Int( x1 );
StdLog.String(" *");
StdLog.Int ( x2 );
StdLog.String( "=" );
IF i < 10 THEN StdLog.Char (' ') END;
StdLog.Int ( i );
StdLog.String(" |");
END;
StdLog.Ln;
END;

StdLog.Ln
END Mult1;
END Mult.

Не знаю, зачем вам были нужны символы долларов и подчерки, я их убрал.
Чтобы смотрелось как "таблица", выставьте моноширинный шрифт в окне рабочего журнала и сделайте само окно пошире (там автоматический перенос строк).

Автор:  Евгений Темиргалеев [ Пятница, 15 Февраль, 2008 17:32 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

LeoparD писал(а):
Именно так!!! :P
Тогда Вам осталось получше прочитать и проникнуться:
Илья Ермаков писал(а):
Ручками вставляете в начало лога линейку: меню Text->Insert Ruler. На ней расставляете отступы для табуляций (если не работали с линейкой - см. документацию среды, левую нижнюю колонку "Руководства пользователей"-"Работа с текстами").

В коде там, где нужно дать отступ - ставите StdLog.Tab.
На линейке можно еще настроить, чтобы вдоль позиции табуляции были вертикальные линии.

Автор:  LeoparD [ Четверг, 21 Февраль, 2008 13:28 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

Господа,поздравьте меня))У меня все же получилось.Правда сделал немного по другому
MODULE ТаблицаУмножения;
IMPORT Log := StdLog, Out :=Out, Views, TextModels, TextMappers, TextViews;

PROCEDURE Умнож* ();
VAR Сомнож1, Сомнож2, i : INTEGER;
BEGIN
Log.Clear; (*In.Open;*)
(* Сомнож1:=2; *)
(* Сомнож2:=2; *)

FOR Сомнож1 :=2 TO 9 DO
FOR Сомнож2 :=2 TO 9 DO

i := Сомнож1*Сомнож2;

Out.Int(Сомнож1,1);
Out.Char("*");
Out.Int(Сомнож2,1);
Out.Char("=");
Out.Int(i,1);
Out.Ln
END;
Out.Ln
END;

RETURN
END Умнож ;


PROCEDURE Вывод* ();
VAR Сомнож1, Сомнож2, i : INTEGER;
VAR t: TextModels.Model; f: TextMappers.Formatter; v: TextViews.View;
BEGIN
t := TextModels.dir.New(); (* создание нового пустого текстового объекта*)
f.ConnectTo(t); (*присоединить форматтер к тексту *)

FOR Сомнож1 :=2 TO 9 DO
FOR Сомнож2 :=2 TO 9 DO

i := Сомнож1*Сомнож2;

f.WriteInt(Сомнож1);
f.WriteChar("*");
f.WriteInt(Сомнож2);
f.WriteChar("=");
f.WriteInt(i);
f.WriteTab;
(*f.WriteLn;*)
END;
f.WriteLn;

END;
v := TextViews.dir.New(t); (*создание новой текстовой картинки для t*)
Views.OpenView(v); (*открываем картинку в новом окне *)

RETURN
END Вывод;

END ТаблицаУмножения.

но теперь другая делема...Как сделать так что бы таблица все же была ровной...Табулятор начинает отсчет от последней цифры...При этом сохранив столбцы

Автор:  Евгений Темиргалеев [ Четверг, 21 Февраль, 2008 14:07 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

Код:
      rul := TextRulers.dir.New(NIL);
      TextRulers.AddTab(rul, 80 * Ports.mm);
      f.WriteView(rul);
...
сам вывод

Автор:  LeoparD [ Пятница, 22 Февраль, 2008 10:50 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

А есть примеры(готовые программы) где пользовались линейкой(rul)?

Автор:  Valery Solovey [ Пятница, 22 Февраль, 2008 12:40 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

А в чём проблема? Вставляешь вышеприведённый код в свою процедуру "Вывод" между строками "f.ConnectTo(t);" и "FOR ...", запускаешь, смотришь, а дальше сам догадаешься.

Автор:  Евгений Темиргалеев [ Пятница, 22 Февраль, 2008 12:57 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

LeoparD писал(а):
А есть примеры(готовые программы) где пользовались линейкой(rul)?

Примеры:
1) В ББ нажать кнопочку F1 (на клавиатуре).
2) В строке Part II тыкнуть по ссылке "5 Тексты"
3) Прочитать. Хотя бы просмотреть. Там есть примеры и пояснения к примерам.

Предварительно можно скачать пакет русской документации.

Автор:  LeoparD [ Пятница, 22 Февраль, 2008 13:33 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

Евгений Темиргалеев писал(а):
нажать кнопочку F1 (на клавиатуре).
Было бы интересней,еслибы эта клавиша находилась где-то еще))

Автор:  Dirtyfan [ Среда, 02 Июль, 2008 21:20 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

здравствуйте!я начинающий програмист, немного программирую на паскале,но вдруг дали для ознакомления влекбокс, но я что то не могу никак разобраться как построить в нем грифики вида Y=a sinx, помогите пожалуйста!

Автор:  Иван Кузьмицкий [ Среда, 02 Июль, 2008 21:26 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

Вот тут
viewtopic.php?f=24&t=547
этот вопрос достаточно подробно освещался.

Автор:  Dirtyfan [ Среда, 02 Июль, 2008 21:37 ]
Заголовок сообщения:  Re: Помогите кто чем может!!!

спасибо

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/