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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 19:22   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию не работает FileSize

Может что-то упустил?
Код:
Procedure LDN_FindScripts;
 Var
  F:TextFile;
 Begin
  If FileExists(Directory.ExeDirectory + '\Scripts.asc') Then
   Begin
    AssignFile(F, Directory.ExeDirectory +'\Scripts.asc');
    Reset(F);
    If FileSize(F) <> 0 Then ScriptMode := TRUE Else ScriptMode := FALSE;
    CloseFile(F);
   End
  Else
   ScriptMode := FALSE;
 End;
В файле написано: "S" (без квч). Внутрь проверки залез, Assign выполнил, ресет выполнил, после проверки
Код:
If FileSize(F) <> 0 Then ScriptMode := TRUE Else ScriptMode := FALSE;
ScriptMode = FALSE!
Что я делаю не так?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.12.2009, 19:30   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

можно и без загрузки файла:
Код:
function GetFileSize(namefile: string):Integer;
var InfoFile: TSearchRec;
    AttrFile: Integer;
    ErrorReturn: Integer;
begin
 AttrFile := $0000003F; {Any file}
 ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
 if ErrorReturn <> 0 then
  Result := -1 {в случае, если файл не найден}
 else
  Result := InfoFile.Size; {Размер файла в байтах}
 FindClose(InfoFile);
end;
можно при поиске пользоваться параметрами - FindFirst
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 11.12.2009 в 19:32.
raxp вне форума Ответить с цитированием
Старый 11.12.2009, 19:34   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Спасибо, попробую.

Сделал так:
Код:
Procedure LDN_FindScripts;
Var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
Begin
 AttrFile := $0000003F;
 ErrorReturn := FindFirst(Directory.ExeDirectory + '\Scripts.asc',
                          AttrFile,
                          InfoFile);
 If ErrorReturn <> 0 Then
  ScriptMode := FALSE
 Else
  If InfoFile.Size = 0 Then
   ScriptMode := FALSE
  Else
   ScriptMode := TRUE;
 FindClose(InfoFile);
End;
К сожалению движок форума не позволяет сказать "+"
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 11.12.2009 в 19:44.
Alex Cones вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TP7 чтение из файла, работает но не работает!? Qousio Помощь студентам 7 02.06.2009 09:37
Библиотека НЕ работает с 2008, но работает с 2000 SQL namenike Общие вопросы C/C++ 0 26.05.2009 11:04
if .. else не работает shkipper Общие вопросы по Java, Java SE, Kotlin 2 22.04.2009 16:12
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46
Проблема с UserForm. То работает, то НЕ работает Maxx Microsoft Office Excel 6 19.11.2008 14:51