Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Паскаль через консоль Делфи. Помогите, процедура Vektor.Vvod не хочет читать строку newA!

Миша Знаток (484), закрыт 10 лет назад
program lab_1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
mas=array [1..100] of integer;
Vektor=object
logF: text;
myMas: mas;
i:Integer;
procedure init(fileName: string);
procedure Vuvod;
procedure Vvod;
end;

procedure Vektor.init(fileName: string);
//var i: integer;
begin i:=0;
assign(logF,fileName);
reset(logF);
// while do
// begin
repeat
i:=i+1;
read(logF,myMas);

until eof(logF);
// end;
//Close(logF);

end;

procedure Vektor.Vuvod;
var n:Integer;
begin
init('1.txt');
Write('Ishodnuj Vektor: ');
for n:=1 to i do
begin
write(myMas[n], ' ');
end;
Writeln;
end;

procedure Vektor.Vvod;
var newA:string;
begin
Read(newA); {здесь проблема, программа проходит эту строку без возможности ввода, просто проходит}
Rewrite(logF);
Writeln(logF,newA);
Close(logF);

end;

var myVektor: Vektor;

procedure showMenu;
var key: byte;
begin
writeln('1. Vuvod');
writeln('2. Vvod');
writeln('3. Vuhod');
read(key);
case key of
1: begin
myVektor.Vuvod;
showMenu;
end;

2: begin
myVektor.Vvod;
showMenu;
end;

3: begin
//writeln('zakrutie --',#62,' Enter');
//writeln('Net? --',#62,' 1');
// read(key);
// if key=1 then showMenu;
end;
end;
end;

Begin
Writeln('Zadacha 2.2.8. Programma Object-Vektor:');
myVektor.init('1.txt');
showMenu;
//Readln;readln;
End.
Дополнен 11 лет назад
причём, если вместо
Read(newA);
написать
Readln(newA);
Readln(newA);
то второй ридлн программа воспринимает нормально,... в чём причина, ума не приложу
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (429386) 11 лет назад
Это известный глюк, еще с паскалевских времен. Пиши 2 раза подряд, ничего не поделаешь.
Остальные ответы
Похожие вопросы