нужно открыть уже открытый файл,для чтения, пишу вот так : AssignFile(f,fn.Text); FileMode:=fmShareDenyNone ; {$I-} reset(f); {$I-}
err:=IOREsult; if err<>0 then begin ShowMessage('Error open file # '+IntToStr(err)); exit; End; возвращает ошибку №32 FileMode пробовал разные, все равно не открывает , но команды type, copy както этот файл открывают ???? а как ????
volvo
22.01.2007 14:48
У тебя файл (который пытаешься открыть) случаем не текстовый? Это первое... А второе - чтобы ТЫ мог открыть файл, то та программа, которая открыла его ДО тебя, должна была это сделать через fmShareDenyNone, что не запрещало бы тебе тоже открывать файл...
Гость
22.01.2007 14:58
да,файл текстовый (файл системного журнала 1С) та программа, которая до меня открыла, не знаю КАК это зделала, НО ТоталКомандер выевер эго открываэт, и type открывает, и копи копирует, а я его открыть не могу, АБЫДНА , ДА
volvo
22.01.2007 15:04
Если файл текстовый, то FileMode менять бесполезно:
Цитата(Delphi Help)
FileMode variable Description
The FileMode variable determines the access mode to use when typed and untyped files (not text files) are opened using the Reset procedure.
Попробуй так:
var f:TFileStream; begin f:=TFileStream.create('filename.txt', fmShareDenyNone); memo1.Lines.LoadFromstream(f); ...
Гость
22.01.2007 15:13
memo1.Lines.LoadFromStream(f1);
Access violation at adress XXXXX in module XXXXX read of adress XXXXX .
вот так вот пишет гадина
может еще какие идеи ????
Гость
22.01.2007 17:29
ооооо, Всемогущий ALL помоги незнающему, подскажи как же все таки type файлик открывает а я немогу !!!!
Malice
22.01.2007 19:20
Цитата(Гость @ 22.01.2007 13:29)
ооооо, Всемогущий ALL помоги незнающему, подскажи как же все таки type файлик открывает а я немогу !!!!
Вот так попробуй:
var f:integer;
f:=fileopen('\....\1cv7.mlg',fmOpenRead);
fileread (f,буфер,размер);
FileClose(f);
Чтобы читать построчно только придется немного похлопотать
Упс, проверил - не работает..
Гость
22.01.2007 20:01
плохо я перед запуском своєй программы копирую 1cv7.mlg в другой файл, но это ж ни дело
hiv
22.01.2007 21:45
Цитата(Гость @ 22.01.2007 11:13)
вот так вот пишет гадина может еще какие идеи ????
Есть идея!!! Может покажешь кусок кода где ошибка возникает (включая определение переменных).
Гость
22.01.2007 22:09
var f:textfile; f1:TFileStream; begin AssignFile(f,fn.Text); FileMode:=fmShareDenyNone ; {$I-} reset(f); {$I-} err:=IOREsult; if err<>0 then begin ShowMessage('Error open file # '+IntToStr(err)); exit; End; Здесь раз - #32
f:=TFileStream.create(fn.Text, fmShareDenyNone); memo1.Lines.LoadFromstream(f); <<<<<< здесь два Access violation ......
volvo
22.01.2007 22:41
Ты что, именно этот код пытаешься запускать? Чего ты сюда постишь-то бред этот? Ты КОПИРУЙ а не впечатывай, ты ж ошибки вносишь!!! Как ты, например, создаешь TextFile через конструктор TFileStream?
В общем, я смотрю, по-хорошему не понимаем... Либо ты даешь код (не куски, а КОД, напиши маленькую программу, которая ТОЛЬКО пытается читать открытый файл, и запость ее сюда ПОЛНОСТЬЮ), который компилируется и запускается на выполнение, либо я закрываю тему... Балагана на форуме и без тебя хватает!
Гость
22.01.2007 23:11
опс, ошибочка вышла f1:=TFileStream.create(fn.Text, fmShareDenyNone); memo1.Lines.LoadFromstream(f1); <<<<<< здесь два Access violation ......
так вот
Malice
22.01.2007 23:36
прверил сейчас на 1с-вской базе, вариант Volvo нормально работает..
Гость
22.01.2007 23:42
йопт РАБОТАЕТ пасиба Вольво !!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.