Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.11.2010, 22:33
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
Лампочка Таймер и размер файла

Не так давно столкнулся с проблемой =)
Итак Дано:
есть программа, есть таймер, есть файл в одном каталоге с программой.
Решить:
Как отслеживать при помощи таймера, размер файла и вслучае если он
станет например размером 10kb сделать что либо, например вывести сообщение!
Ответить с цитированием
  #2  
Старый 11.11.2010, 22:40
sunlit sunlit вне форума
Прохожий
 
Регистрация: 18.08.2010
Сообщения: 5
Репутация: 10
По умолчанию

По поводу размера файла можно взять тут
Ответить с цитированием
  #3  
Старый 11.11.2010, 22:49
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

я использую
Цитата:
function GetFileSize(const strFileName: String): LongInt;
var WFD: TWin32FindData; hFile: THandle;
begin
hFile := FindFirstFileA(PChar(strFileName), WFD);
Result := WFD.nFileSizeLow;
FindClose(hFile);
end;
Мне бы имено понять, как отслеживать при помощи таймера, размер файла и дождаться размера 10kb
но спасибо за ответ=)
Ответить с цитированием
  #4  
Старый 11.11.2010, 23:32
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Просто прописываешь проверку в событии онТаймер и с интервалом скажем в полсекнуды(настроишь в зависимости от ситуации) он будет выполнять её.
Ответить с цитированием
  #5  
Старый 11.11.2010, 23:37
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

где ошибся?
Цитата:
procedure TimeCallback2(TimerID,Msg : UINT; dwUser,dw1,dw2 : DWord);
var
F:Textfile;
API_SMTP: TNVLightSMTP;
i:integer;
begin
i:=GetFilesize(S_lgname);
if i= S_lgsize then
Mailsend;
Ответить с цитированием
  #6  
Старый 11.11.2010, 23:42
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Вот что нагородил):
PHP код:
procedure TForm1.Timer1Timer(SenderTObject);
function 
GetFileSize(const strFileNameString): LongInt;
var
WFDTWin32FindData;
hFileTHandle;
begin
hFile 
:= FindFirstFileA(PChar(strFileName), WFD);
Result := WFD.nFileSizeLow;
//FindClose(hFile);
end;
var
s,fa:string;
begin
s
:='C:\Program Files\Borland\Delphi7\Projects\sizeee';
fa:='Текстовый файл.txt';
s:=s+'\'+fa;
memo1.lines.add('
File size '+inttostr(GetFileSize(s))+ ';' );

end; 

Проверку не ставил, это дело техники.

Может правда есть и более рациональные способы решения такой задачи.

Нужно смотреть уже по обстоятельствам.

Последний раз редактировалось Konrad, 11.11.2010 в 23:49.
Ответить с цитированием
  #7  
Старый 11.11.2010, 23:54
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

вот как раз проверочку бы узнать?
Ответить с цитированием
  #8  
Старый 12.11.2010, 00:15
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от alikoder
вот как раз проверочку бы узнать?

if GetFileSize(s)>10000 then messagebox('конец света наступил, спасения нету....');
Ответить с цитированием
  #9  
Старый 12.11.2010, 02:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от alikoder
где ошибся?

Код:
if filesize >= 10*1024 then ShowMessage('!!!');
Ответить с цитированием
  #10  
Старый 12.11.2010, 09:29
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

1.JPG вот ошибка вылазит=(
Ответить с цитированием
  #11  
Старый 12.11.2010, 09:32
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

Суть операции отправка файла с определённым размером
Ответить с цитированием
  #12  
Старый 12.11.2010, 09:44
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

S_lgsize -как описан?
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #13  
Старый 12.11.2010, 09:46
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

кажется мне что у тебя S_lgsize имеет тип стинг а не интегер... may be....
if strtoint(S_lgsize)=10*1024 then ....
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #14  
Старый 12.11.2010, 09:52
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

да String; ща вроде не ругается, попробую как на деле=)
Ответить с цитированием
  #15  
Старый 12.11.2010, 12:47
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию



С твоими то знаниями ...
Тебе пока что только читать книги "дельфи для чайников"

Уже жалею что помог тебе.
Просто наверное сказалась вчерашняя вечерная усталость после тяжелого рабочего дня.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025