Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизФункция размера текстового файла Найти похожие ветки
← →
Игорь_ (2004-10-28 15:04) [0]Господа подскажите функцию для определения размера текстового файла.
Это я знаю function FileSize(f): Integer; но - Returns the current size of a file; not used for text files.
← →
clickmaker © (2004-10-28 15:05) [1]GetFileSize
← →
Игорь_ (2004-10-28 15:11) [2]Можно подробней, а то поиск в HELP такого монстра не показывает.
← →
Ricko © (2004-10-28 15:20) [3]Смотри Help Windows SDK
The GetFileSize function retrieves the size, in bytes, of the specified file.
DWORD GetFileSize(
HANDLE hFile, // handle of file to get size of
LPDWORD lpFileSizeHigh // address of high-order word for file size
);
Parameters
hFile
Specifies an open handle of the file whose size is being returned. The handle must have been created with either GENERIC_READ or GENERIC_WRITE access to the file.
lpFileSizeHigh
Points to the variable where the high-order word of the file size is returned. This parameter can be NULL if the application does not require the high-order word.
Return Values
If the function succeeds, the return value is the low-order doubleword of the file size, and, if lpFileSizeHigh is non-NULL, the function puts the high-order doubleword of the file size into the variable pointed to by that parameter.
If the function fails and lpFileSizeHigh is NULL, the return value is 0xFFFFFFFF. To get extended error information, call GetLastError.
If the function fails and lpFileSizeHigh is non-NULL, the return value is 0xFFFFFFFF and GetLastError will return a value other than NO_ERROR.
← →
Chlavik © (2004-10-28 15:27) [4]function TextFileSize(Filepath:string):DWORD;
var s:string;
F:TextFile;
begin
AssignFile(F,FilePath);
Reset(f);
Result:=0;
while Not SeelEOF(textF) do
begin
ReadLn(TextF,S);
Inc(Result,Length(s) + Length(CLRF)); - конечно же не забудем про перевод каретки
end;
CloseFile(f);
end;
Если еще подумать то можно оптимизировать немного ... :)
← →
Игорь_ (2004-10-28 15:27) [5]Насколько я понял - GetFileSize - это не внутренняя команда Delphi.
А что внутренней не существует?
← →
Игорь_ (2004-10-28 15:35) [6]Господа, может быть все гораздо примитивней чем вы думаете.
Мне нужен всего навсего ответ на вопрос в методичке :
Вопрос 2. Запишите основные процедуры и функции в языке для работы с текстовыми файлами:
1. Для определения размера файла ________________
← →
Gero © (2004-10-28 16:01) [7]
> Насколько я понял - GetFileSize - это не внутренняя команда
> Delphi.
А что в твоем представлении внутренняя команда Delphi?
> Мне нужен всего навсего ответ на вопрос в методичке
Тебе его уже дали.
← →
-=SS=- © (2004-10-28 16:08) [8]Объяви его как File of Byte и получишь размер файла в байтах. Какая разница текстовый он не текстовый....
Var
F:File of Byte;
Size:Integer;
Begin
AssignFile(F,"C:\....");
reset(F);
Size:=FileSize(F);
CloseFile(F);
..............
End;
← →
Gero © (2004-10-28 16:09) [9]
> Объяви его как File of Byte
А почему бы не как file?
← →
Anatoly Podgoretsky © (2004-10-28 19:40) [10]Gero © (28.10.04 16:09) [9]
Какая разница, лишь бы не текстовый, но тогда режим открытия другой.
← →
Vaitek © (2004-10-28 20:09) [11]А что мешает его на секундочку открыть как не текстовый файл (file of byte) определить размер и закрыть?
← →
Gero © (2004-10-28 21:19) [12]
> Какая разница, лишь бы не текстовый
Писать меньше.
← →
Gero © (2004-10-28 21:19) [13]
> Vaitek © (28.10.04 20:09)
А что мешает прочитать пару предыдущих постов, прежде чем высказываться?
← →
alena.svt © (2004-10-29 17:44) [14]Это не для Игорь_ у него методичка
function __GetFileSize (const FileName : String) : Int64;
var SRec : TSearchRec;
Begin
if FindFirst (FileName, faAnyFile, SRec) <> 0 then
Result := -1 else
begin
Int64Rec (Result).Lo := SRec.FindData.nFileSizeLow;
Int64Rec (Result).Hi := SRec.FindData.nFileSizeHigh;
Result := SRec.Size;
FindClose (SRec);
end;
End;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Int64;
begin
I:= __GetFileSize("C:\1.txt");
ShowMessage(IntToStr(I));
end;
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c