Re: error 104
От: Shtirliz Россия  
Дата: 25.03.05 06:37
Оценка:
Здравствуйте, orger, Вы писали:

O>Код тривиальный, в одном месте программы работает, имеется в виду в одном модуле.



O>
O>OpenDialog1.Filter := 'Text doc|*.txt';
O>if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then
O>begin
O>AssignFile(InFile,OpenDialog1.FileName);
O>Rewrite(InFile);

Это процедура делает файл только для записи!
Попробуй Reset(InFile)
Reset(InFile);


O>Перебробовал и Eoln и Eof что то ничего не прет.... Вот что написано в справке по этому поводу^ Error 104 File not open for input Reported by Read, Readln, Eof, Eoln, SeekEof, or SeekEoln on a text file if the file is not open for input.


Процедура Rewrite — открывает файл ТОЛЬКО для записи.
Для чтения и записи используй процедуру Reset.


O>Открываемый документ имеет следующий вид


O>"Васильев В.В.","Основное подразделение",0

O>"Денисенко Антон","Основное подразделение",0
O>"Мариненко Наталья","Основное подразделение",0
O>"Павлова Ольга","Основное подразделение",0

Я так понимаю тебе нужно распарсить этот документ и заполнить некий список?
Попробуй так:

Var S1 : String;
begin
while not EoF(InFile) do
    begin
        Readln(InFile, s);
        ii := Pos(',',S);
        While ii>0 Do
            begin
                S1 := StringReplace(Copy(S,1,ii-1),'"','',[rfReplaceAll]);
                Delete(S,1,ii);
                // добавляем первую строку S1
                ii := Pos(',',S);
            end;
        If S<>''
            Then 
            //Добавляем полседний 0
    end;    
CloseFile(InFile);
end;
... -= RSDN@Home 1.1.4 beta 4 rev 358 =- А в Winamp'e: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.