Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Внизработа с текстовыми файлами Найти похожие ветки
← →
Socol (2004-12-16 13:57) [0]Люди момогите мне нужно узнать размер текстового файла отописываю его как var F:textfile к сожелении функция filesize для текстофых файлов не работает))) Других функций я ненаю)))
или можно номер последнего символа в файле))) С уважением Socol)))
← →
ssk © (2004-12-16 13:59) [1]можно так:
function GetFileSize(FileName: string): longint;
var
strm: TMemoryStream;
sFileName: string;
begin
strm := TMemoryStream.Create;
sFileName := FileName;
strm.LoadFromFile(sFileName);
Result := strm.Size;
FreeAndNil(strm);
end;
← →
Socol (2004-12-16 14:01) [2]млин а попроще какнить мона?:)
← →
ghg © (2004-12-16 14:06) [3]а это что ли сложно?
← →
Socol (2004-12-16 14:08) [4]вобше проблематично
← →
Socol (2004-12-16 14:08) [5]вобше проблематично
← →
Александр Иванов © (2004-12-16 14:10) [6]ssk © (16.12.04 13:59) [1]
Она вернет количество символов.
← →
lexis (2004-12-16 14:11) [7]var SR: TSearchRec;
....
FindFirst(FileName, SR);
Size := SR.Size;
FindClose(SR);
....
← →
ssk © (2004-12-16 14:18) [8]>Александр Иванов © (16.12.04 14:10) [6]
Она вернет количество символов.
ты в работе код пробовал, или это просто предварительно-теоретическое утверждение?
← →
Arnold © (2004-12-16 14:20) [9]var
T:OFSTRUCT;
R:BY_HANDLE_FILE_INFORMATION;
Size:Real;
begin
GetFileInformationByHandle(OpenFile("файл.txt",T,OF_READ),R);
Size:=R.nFileSizeLow/1024; //а вот и размер в Кб
end;
← →
КаПиБаРа © (2004-12-16 14:24) [10]Где то читал, что во избежание проблем с открытием файлов рекомендуется узнавать размер с помощью findfirst/findnext.
← →
Александр Иванов © (2004-12-16 14:31) [11]ssk © (16.12.04 14:18) [8]
В работе я его пробовал, а ты?
← →
Александр Иванов © (2004-12-16 14:35) [12]ssk ©
Попробовал его для файла из одной строки, он возвратил мне 21.
Может я не понял автора, если ему нужно размер файла в байтах, то можно использовать filesize(просто файл объявлять как нетипизированный). Но насколько я понял, ему нужно количество строк в файле.
← →
ssk © (2004-12-16 14:40) [13]>Александр Иванов
В работе я его пробовал, а ты?
конечно. все отлично работает.
Попробовал его для файла из одной строки, он возвратил мне 21.
21 байт - должен быть размер файла. а в свойствах твоего файла какой размер пишется?
← →
Александр Иванов © (2004-12-16 14:45) [14]ssk © (16.12.04 14:40) [13]
Просто я понял задачу по другому (количество строк) :).
Кстати автор так и не пояснил, что ему нужно размер файла или количество строк в файле.
← →
DN © (2004-12-16 14:49) [15]
TFSinfile := TFileStream.Create(path, fmOpenRead);
TFSinfile.Seek(0,soFromBeginning);
len := TFSinfile.Size;
TFSinfile.Free;
← →
КаПиБаРа © (2004-12-16 14:49) [16]Александр Иванов © (16.12.04 14:45) [14]
Кстати автор так и не пояснил, что ему нужно размер файла или количество строк в файле
Люди момогите мне нужно узнать размер текстового файла
← →
socol (2004-12-16 15:48) [17]уточню))) Мне нужен размер файла в байтах))) или количество символов содержащихся в файле)))
← →
socol (2004-12-16 15:49) [18]уточняю))) Мне нужен размер файла в байтах или количество символов в файле)))
← →
socol (2004-12-16 15:55) [19]Arnold ©
var
T:OFSTRUCT;
R:BY_HANDLE_FILE_INFORMATION;
Size:Real;
begin
GetFileInformationByHandle(OpenFile("файл.txt",T,OF_READ),R);
Size:=R.nFileSizeLow/1024; //а вот и размер в Кб
end;
// size получается равным 0 почему?
← →
Александр Иванов © (2004-12-16 15:58) [20]socol (16.12.04 15:55) [19]
А у тебя такой файл есть?
← →
socol (2004-12-16 16:06) [21]файл.txt этот? есть размером 12 байт)))
← →
Александр Иванов © (2004-12-16 16:10) [22]Лучше полный путь к нему укажи. Может поможет.
← →
socol (2004-12-16 16:12) [23]так я и указываю полный))) Например C:\1.txt)))
← →
Александр Иванов © (2004-12-16 16:17) [24]У меня этот код работает на "ура".
Тогда попробуй "стандартный" подход:
var f:file;
Size:logint;
begin
AssignFile(f,"c:\key.txt");
Reset(f,1);
Size:=filesize(f);
end;
← →
socol (2004-12-16 16:17) [25]все начал показывать))) Токо мне нужен размер не в клб в байтах пробывал делить на 8 получается дробное число)))
← →
socol (2004-12-16 16:18) [26]Александр Иванов © (16.12.04 16:17) [24]
У меня этот код работает на "ура".
Тогда попробуй "стандартный" подход:
var f:file;
Size:logint;
begin
AssignFile(f,"c:\key.txt");
Reset(f,1);
Size:=filesize(f);
end;
мне нужен текстовый файл))) Это не проканает)))
← →
socol (2004-12-16 16:21) [27]всем огромное спосибо за информацию))) Наконец то сделал)))
← →
Term (2004-12-16 16:21) [28]ну открой его как
file of char
← →
socol (2004-12-16 16:31) [29]не как чар не канает надо как textfile
← →
Anatoly Podgoretsky © (2004-12-16 19:28) [30]Канает, не канает, не воровская малина, сказано делать, так делай.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.037 c