![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с файлами
djkondakov © (2009-07-21 14:14:00)Здравствуйте! Возникла проблема: при попытке открыть файл для чтения происходит ошибка 103 (Файл не открыт). Как можно исправить?
Anatoly Podgoretsky (2009-07-21 16:54:00) [1]> Palladin (21.07.2009 16:36:22) [22]
Ты хочешь сказать, что они положили на текстовые файлы неизвестной длины, например на COMx
Palladin (2009-07-21 16:36:00) [2]хотя могу предположить, что механизм в какой то из версий, старше седьмой, поменяли...
Palladin (2009-07-21 16:35:00) [3]а ты попробуй
Игорь Шевченко (2009-07-21 16:34:00) [4]Palladin © (21.07.09 16:10) [19]
> нельзя прочитать используя TextFile
program ReadExe;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
F: TextFile;
S: string;
I: Integer;
begin
AssignFile(F, ParamStr(0));
FileMode := 0;
Reset(F);
I := 0;
while not Eof(F) do
begin
readln(F, S);
Inc(I);
end;
writeln(I, ' строк в ', ParamStr(0));
end.
13 строк в C:\Documents and Settings\Мои документы\Borland Studio Projects\TESTS\ReadExe\ReadExe.exe
Palladin (2009-07-21 16:10:00) [5]
> то есть exe нельзя прочитать как текстовик?
нельзя прочитать используя TextFile
djkondakov (2009-07-21 16:10:00) [6]Тоже нашел. Правда, был Notepad2 (Винда такая, Самлабовская).
Anatoly Podgoretsky (2009-07-21 16:01:00) [7]> djkondakov (21.07.2009 15:48:16) [16]
Ну а теперь попробуй в Notepad без плюсов
djkondakov (2009-07-21 15:48:00) [8]Гхм... то есть exe нельзя прочитать как текстовик? Открыв упакованный файл в Notepad ++, я спокойно нашел свой лог-файл.
Anatoly Podgoretsky (2009-07-21 15:45:00) [9]> djkondakov (21.07.2009 15:36:13) [13]
В текстовом режиме?
Юрий Зотов (2009-07-21 15:43:00) [10]> djkondakov (21.07.09 15:36) [13]
В режиме чтения и не текстовый. А у Вас?
djkondakov (2009-07-21 15:36:00) [11]Да, я нашел свою ошибку. И последующие тоже. И, кстати, что такого в том, что экзешник сам себя читает? Разве инсталлеры так не делают?
Anatoly Podgoretsky (2009-07-21 15:31:00) [12]> Юрий Зотов (21.07.2009 15:26:11) [11]
При том в текстовом режиме! и с монопольными шаринг свойствами.
Это у него будет следующая проблема, когда сможет пробраться через остальной ужас.
Юрий Зотов (2009-07-21 15:26:00) [13]
assignfile(fprom, paramstr(0));
reset(fprom);
EXE открывает для чтения себя же?
Anatoly Podgoretsky (2009-07-21 15:22:00) [14]Неумение пользоваться справкой, отладчиком и прочим.
Неверно выбран тип файлов, неверная работа с буферами.
Тут наиболее подходит TFileStream и чтение одним блоком.
А ошибка "отричательное позиционирование" с этим в отладчик, но лучше переписать все нафиг.
djkondakov (2009-07-21 15:00:00) [15]Так. Теперь в 46-й строке ошибка 131 (Первый раз о такой слышу - I/O Error 131). Отладчик заюзать не могу, так как приходится сначала "запихивать" в полученный экзешник файлы с помощью пакера, а потом уже запускать.
Anatoly Podgoretsky (2009-07-21 14:53:00) [16]
> 35-я строка. Выделена жирным.
У тебя нет прав
Игорь Шевченко (2009-07-21 14:38:00) [17]
> Ошибка происходит где-то в районе строки
отладчика нет/не знаешь/пусть лохи пользуются ?
перед строкой вставить
FileMode := 0
djkondakov (2009-07-21 14:37:00) [18]35-я строка. Выделена жирным.
Anatoly Podgoretsky (2009-07-21 14:32:00) [19]> djkondakov (21.07.2009 14:21:02) [2]
В какой строке ошибка
djkondakov (2009-07-21 14:26:00) [20]Ошибка происходит где-то в районе строки, выделенной жирным, т.к. сообщение "Файл назначен" выводится, а "Файл открыт" - нет.