Помогите разобраться

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Помогите разобраться

Сообщение kr00t » 09.03.2008 00:15:44

Код: Выделить всё
program loginin;
var
l,p,e,r,w:string;
q:text;
begin
writeln('login');               
readln(l);                       
      if l='' then begin
      writeln('Введите логин');
      halt
      end
      else
writeln('password');
readln(p);
      if p='' then begin
      writeln('Введите пароль');
      halt
      end
      else
w:=l+p;
Assign(q,'/home/kr00t/Desktop/1.txt');
repeat
readln(q,r);
if r=w then
writeln('VeRnO')
else
writeln('123456');
until Eof(q)=true;
Close(q);
end.

почему при запуске мне выдает следующее
Код: Выделить всё
login
123
password
456
Runtime error 103 at $0000000000400363
  $0000000000400363
  $0000000000400178


? Я програмирую в паскале первый день (до этого в Делфи под виндой только)...
kr00t
новенький
 
Сообщения: 10
Зарегистрирован: 09.03.2008 00:08:38
Откуда: Нижний Новгород

Сообщение Alexx2000 » 09.03.2008 00:46:27

Перед чтением из файла надо открыть его для чтения
Код: Выделить всё
Assign(q,'/home/kr00t/Desktop/1.txt');
Reset(q);
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение kr00t » 09.03.2008 01:14:14

спасибо!!!!!!!!! я уже 2 часа мучался!!! блин, точно нужен отдых..
еще раз спасибо
kr00t
новенький
 
Сообщения: 10
Зарегистрирован: 09.03.2008 00:08:38
Откуда: Нижний Новгород

Сообщение v-t-l » 09.03.2008 17:34:03

Я бы оформил так:
Код: Выделить всё
program loginin;
var
  l,p,e,r,w:string;
  q:text;
begin
  writeln('login');
  readln(l);
  if l='' then begin
    writeln('ОШИБКА: Не введен логин!');
    halt;
  end;
  writeln('password');
  readln(p);
  if p='' then begin
    writeln('ОШИБКА: Не введен пароль!');
    halt;
  end;
  w:=l+p;
  Assign(q,'/home/kr00t/Desktop/1.txt');
{$I+}
  Reset(q);
  if IOResult<>0 then begin
    writeln('ОШИБКА: Файл не найден!');
    halt;
  end;
{$I-}
  repeat
    readln(q,r);
    if r=w then
      writeln('VeRnO')
    else
      writeln('123456');
  until Eof(q);
  Close(q);
end.
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение kr00t » 10.03.2008 13:52:34

Я в результате всего своего эксперемента (программы loginin) хочу научиться пользоваться трехмерным массивом, считывать и записывать его в файл, пароль в результате быдет определяться из нескольких "ячеек", определенным образом и там будет стоять что-то вроде подмены символов, вводимых с клавиатуры. Если учесть, что я этим занимаюсь чге-то 30 минут в день (больше не получается), в выходные по-больше, то к лету только будет результат.
В данный момент пытаюсь занести значения в массив из файла. Впринципе все нормально, но я хочу чтоб не вся строчка лежала в переменной, а лишь до определенного знака в ней.
kr00t
новенький
 
Сообщения: 10
Зарегистрирован: 09.03.2008 00:08:38
Откуда: Нижний Новгород

Сообщение Brainenjii » 10.03.2008 14:09:15

лучше учиться пользовать БД, чем многомерными массивами, ИМХО ^_^ Хотя смотря какая задача...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение kr00t » 10.03.2008 14:39:29

задача научиться пользоваться :), да и базы данных, я думаю, посложнее будут. их я потом разбиру...




Знания - усвоенная информация.
Кто владеет информацией - тот владеет Миром.
kr00t
новенький
 
Сообщения: 10
Зарегистрирован: 09.03.2008 00:08:38
Откуда: Нижний Новгород

Сообщение v-t-l » 10.03.2008 19:54:10

Кстати, цикл лучше организовать, как while, а не repeat, а то файл лишний раз читается, даже если пустой. :)
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение kr00t » 10.03.2008 20:10:46

большой разницы нет. я щас все с 0 переделываю (немного, правда пока сделал). Я думаю, что в результате работы, можно будет выложить исходники для всеобщего обозрения и пременения (всмысле не стыдно показать будет). Потому код должен быть всем понятен, прост и мобилен.
kr00t
новенький
 
Сообщения: 10
Зарегистрирован: 09.03.2008 00:08:38
Откуда: Нижний Новгород


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 18

Рейтинг@Mail.ru