Ввод данных с клавиатуры в GraphABC/WPF


#1

Подскажите пожалуйста как ввести значения переменных с клавиатуры в модулях GraphABC И WPF. В других языках ,какие немного знаю, проблем не было. А здесь все,приехал.


#2

Что вы пробовали и что вас не устроило в том как работало.


#3

Фрагмент кода 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


#4

Код надо вставлять так:

```
код
```

При чём на строчках с ``` - ничего больше быть не должно, иначе они сломаются.
Знак ` находится за ё в англ раскладке.

Не работает - потому что вы закрасили окно чёрным и пишете на нём чёрные буквы.
Чтоб переключить ввод и вывод на консольный - используйте SetConsoleIO.
И ввода данных у вас вообще нет, есть только вывод не объявленных переменных.

А в GraphWPF то что не так? В нём ввод и вывод всегда консольный.

P.S. Вместо CRT в наш век надо использовать System.Console.


#5

Я спросил как сделать ввод а не вывод в модуле,а вы про вывод толкуете. Вот полный код,если фрагмента мало. Перевод с 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. Почемувыходит в одну строку?Копирую с ИДЕ,Или в ручную надо.


#6

Когда код помещаете, пожалуйста используйте форматирование. Код окаймляется сверху и снизу тройным обратным апострофом (клавиша с буквой Ё)

Вот так

Разбирать Ваши слипшиеся строки кода вряд ли кто-то захочет.


#7

Ну не получается. И где так форматировать? Здесь или в среде. Здесь вручную разбил на строки и ввел сверху и снизу апострофы и толку нет.


#8

Ощущение, будто нарочно продолжаете лепить строки. Дело Ваше.


#9

Сам код - форматируйте в IDE. Здесь - вставляйте код программы между двух строк с тройными одинарными кавычками:

Insert code here

Отправьте скриншотом текст самого сообщения, чтобы было видно, что Вы неверно делаете.


#10

Там он отформатирован,здесь он в строку выходит


#11

\
//КРИВЫЕ 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.

\\


#12
//КРИВЫЕ 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.

Осталось - Вам отформатировать код.


#13

Потому что надо поставить знаки ``` до и после кода, на отдельных строчках. Что вы вообще пробовали что “не получается”, вы явно даже ``` не ставили.

Насчёт кода - у меня всё работает. Правда

Это бред. Зачем вы выводите значение b, когда его даже не ввели, то есть когда оно =0 ?


#14

Я же спросил про ввод данных с клавы,как его записать. А вы все про вывод говорите, с выводом пока проблем нет.Когда явно пишу var a:=6; то все ОК! А с вводом по выбору значений проблема.


#15
var a := ReadlnInteger;

пишете и всё работает


#16

В теме на куберфоруме выяснилось:
http://www.cyberforum.ru/pascalabc-net/thread2527284.html