Подскажите пожалуйста как ввести значения переменных с клавиатуры в модулях GraphABC И WPF. В других языках ,какие немного знаю, проблем не было. А здесь все,приехал.
Что вы пробовали и что вас не устроило в том как работало.
Фрагмент кода uses GraphABC;
begin SetWindowTitle(’’); SetWindowWidth(640); SetWindowHeight(360); Window.CenterOnScreen(); Window.IsFixedSize := true; Window.Clear(Color.Black); … Writeln(‘a=1-8’,a); Writeln(‘b=1-6’,b); Writeln(‘c=5-10’,c); … end Не работает, с TextOut тоже. Как правильно это оформить? Добавил CRT,увы… Таких кодрв много осталось:QB,FPC,BTP
Код надо вставлять так:
```
код
```
При чём на строчках с ``` - ничего больше быть не должно, иначе они сломаются.
Знак ` находится за ё в англ раскладке.
Не работает - потому что вы закрасили окно чёрным и пишете на нём чёрные буквы.
Чтоб переключить ввод и вывод на консольный - используйте SetConsoleIO
.
И ввода данных у вас вообще нет, есть только вывод не объявленных переменных.
А в GraphWPF
то что не так? В нём ввод и вывод всегда консольный.
P.S. Вместо CRT в наш век надо использовать System.Console
.
Я спросил как сделать ввод а не вывод в модуле,а вы про вывод толкуете. Вот полный код,если фрагмента мало. Перевод с QB45. Выдает ошибку"нельзя преобразовать real к intger" а еслт все в real,то надо какой-то порядковый тип.Вопрос как сделать правильно? //КРИВЫЕ uses GraphABC; var a,b,c,i:integer; var x,y,z:real; begin SetWindowTitle(’’); SetWindowWidth(640); SetWindowHeight(360); Window.CenterOnScreen(); Window.IsFixedSize := true; Window.Clear(Color.Black);
Writeln(‘a=1-8’,a); Writeln(‘b=1-6’,b); Writeln(‘c=5-10’,c); for i := 0 to 3600 do begin z := 6.2832 * i / 360; x := 320 + 90 * SIN(c * z) * COS(a * z); y := 175 + 90 * COS(c * z) * SIN(b * z); SetPixel(x, y,RGB(Random(255), Random(255), Random(255))); end; end. Почемувыходит в одну строку?Копирую с ИДЕ,Или в ручную надо.
Когда код помещаете, пожалуйста используйте форматирование. Код окаймляется сверху и снизу тройным обратным апострофом (клавиша с буквой Ё)
Вот так
Разбирать Ваши слипшиеся строки кода вряд ли кто-то захочет.
Ну не получается. И где так форматировать? Здесь или в среде. Здесь вручную разбил на строки и ввел сверху и снизу апострофы и толку нет.
Ощущение, будто нарочно продолжаете лепить строки. Дело Ваше.
Сам код - форматируйте в IDE
. Здесь - вставляйте код программы между двух строк с тройными одинарными кавычками:
Insert code here
Отправьте скриншотом текст самого сообщения, чтобы было видно, что Вы неверно делаете.
Там он отформатирован,здесь он в строку выходит
\
//КРИВЫЕ
uses GraphABC;
var a, b, c: integer;
var x, y, z: real;
begin SetWindowTitle(’’); SetWindowWidth(640); SetWindowHeight(360); Window.CenterOnScreen(); Window.IsFixedSize := true; Window.Clear(Color.Black);
Writeln(‘a=1-8’, a); Writeln(‘b=1-6’, b); Writeln(‘c=5-10’, c); readln(a, b, c); for var i := 0 to 3600 do begin z := 6.2832 * i / 360; x := 320 + 90 * SIN(c * z) * COS(a * z); y := 175 + 90 * COS(c * z) * SIN(b * z); SetPixel(x, y, RGB(Random(255), Random(255), Random(255))); end; end.
\\
//КРИВЫЕ uses GraphABC;
var a, b, c: integer;
var x, y, z: real;
begin SetWindowTitle(’’); SetWindowWidth(640); SetWindowHeight(360); Window.CenterOnScreen(); Window.IsFixedSize := true; Window.Clear(Color.Black);
Writeln(‘a=1-8’, a); Writeln(‘b=1-6’, b); Writeln(‘c=5-10’, c); readln(a, b, c); for var i := 0 to 3600 do begin z := 6.2832 * i / 360; x := 320 + 90 * SIN(c * z) * COS(a * z); y := 175 + 90 * COS(c * z) * SIN(b * z); SetPixel(x, y, RGB(Random(255), Random(255), Random(255))); end; end.
Осталось - Вам отформатировать код.
Потому что надо поставить знаки ``` до и после кода, на отдельных строчках. Что вы вообще пробовали что “не получается”, вы явно даже ``` не ставили.
Насчёт кода - у меня всё работает. Правда
Это бред. Зачем вы выводите значение b
, когда его даже не ввели, то есть когда оно =0 ?
Я же спросил про ввод данных с клавы,как его записать. А вы все про вывод говорите, с выводом пока проблем нет.Когда явно пишу var a:=6; то все ОК! А с вводом по выбору значений проблема.
var a := ReadlnInteger;
пишете и всё работает