Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Вниз

Совместный доступ к файлам 


Pastor   (2002-02-18 10:46) [0]

Уважаемые мастера! Подскажите как можно открыть файл, который уже используется другой программой, т.е. что-то похожее на импорт. Если конкретно, то нужно прочитать данные Log-файла WinGate в то время, когда прокси работает. Пытаюсь обычным Reset(filename) - не получается.



drpass   (2002-02-18 12:42) [1]

Перед тем, как использовать Reset с уже используемым файлом, нужно установить режим доступа "только чтение": FileMode:=2;



[NIKEL]   (2002-02-18 13:51) [2]

надо использовать MemoryStream
можно почитать так (даже если файл интенсивно используеться):

var Memory : TMemoryStream;

begin
Memory := TMemoryStream.Create;
try
Memory.LoadFromFile("busyfile.dat"); // это он!!
..
// можно использовать методы чтения как у обычных файлов

Memory.Read(...);
Memory.Seek(...);
FileSize := Memory.Size;
..
finally
Memory.Free;
end;
end;


тоесть создаёться копия файла в памяти, можно записать в поток и делать всё что нужно - но потом по любому надо будет сохранить его на диск (но если надо почитать только, то просто освобождаем память)




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.036 c
3-19069           Bormanoid             2002-02-08 13:28  2002.03.07  
А как очистить SQL-запрос?


4-19398           Павел2                2002-01-08 19:29  2002.03.07  
Что шлет программе TaskManager при нажатии SwitchTo?


1-19232           Анатолий              2002-02-17 23:25  2002.03.07  
Печать Chart


1-19159           Leonon                2002-02-21 12:40  2002.03.07  
Как расположить боксы в нужном порядке?


14-19304          ZEE                   2002-01-21 02:49  2002.03.07  
Resource WorkShop