Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2016, 12:09   #11
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Если имя файла и его месторасположения известно, то почему не читать его размер через TFileStream?
Например так:
Код:
var
  f : TFileStream;
begin
  f := TFileStream.Create('полный путь к файлу', fmOpenRead);
  ShowMessage (IntToStr(f.Size) + ' байт');
  f.Free;
end;

Последний раз редактировалось FaTaL; 09.03.2016 в 12:13.
FaTaL вне форума Ответить с цитированием
Старый 09.03.2016, 12:11   #12
Primkray
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 9
По умолчанию

FaTal, потому, что файл занят процессом записи и через TFileStream программа не получит информацию.
Primkray вне форума Ответить с цитированием
Старый 09.03.2016, 12:19   #13
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от Primkray Посмотреть сообщение
FaTal, потому, что файл занят процессом записи и через TFileStream программа не получит информацию.
Как я понимаю в файл пишет не Ваша программа?
FaTaL вне форума Ответить с цитированием
Старый 09.03.2016, 12:20   #14
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 273
По умолчанию

Включил запись онлайн радио... Такой же глюк...
Filka вне форума Ответить с цитированием
Старый 09.03.2016, 12:39   #15
Primkray
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 9
По умолчанию

FaTal,конечно нет, пишет сторонняя программа.
Primkray вне форума Ответить с цитированием
Старый 09.03.2016, 13:32   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

для проверки попробуйте скопировать файл, пока в него идёт запись (через любой файловый менеджер, например).
Если это удастся, тогда можно открывать файл в режиме fmShareDenyNone
Код:
stream := TFileStream.Create(filename, fmOpenRead or fmShareDenyNone);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.03.2016, 13:38   #17
Primkray
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 9
По умолчанию

Я пробовал этот код, не работает
Primkray вне форума Ответить с цитированием
Старый 09.03.2016, 13:40   #18
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 273
По умолчанию

Код:
procedure UpdateFileState(const FileName: TFileName);
var
  FileHandle: THandle;
begin
  FileHandle := CreateFile(PChar(FileName), 0, FILE_SHARE_READ or
    FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0);
  if FileHandle <> INVALID_HANDLE_VALUE then
    CloseHandle(FileHandle);
end;
Код:
procedure TForm1.tmr1Timer(Sender: TObject);
var
  Fss1: Int64;
begin
  UpdateFileState('C:\11.mp3');
  Fss1 := GetFileSize('C:\11.mp3');
  Form1.mmo1.Lines.Add(IntToStr(Fss1);
end;
?
Filka вне форума Ответить с цитированием
Старый 09.03.2016, 18:19   #19
Primkray
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 9
По умолчанию

Filka, умница, программа работает, спасибо!
Primkray вне форума Ответить с цитированием
Старый 10.03.2016, 08:51   #20
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 273
По умолчанию

Пожалуйста
Filka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер файла саша40 Общие вопросы Delphi 2 17.10.2012 17:20
размер файла iliili Общие вопросы Delphi 4 22.06.2011 13:28
Размер файла flug Общие вопросы Delphi 2 29.10.2009 13:43
Размер файла Naposaram PHP 2 08.02.2009 11:54
размер файла мандарин Общие вопросы Delphi 4 06.05.2007 17:22