Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
4-1099157058
TankMan
2004-10-30 21:24
2005.01.02
Как правильно запускать сервис во время проэктирования?


14-1103197373
Девушка
2004-12-16 14:42
2005.01.02
Максимальное количество адресатов


11-1084605864
Alex^
2004-05-15 11:24
2005.01.02
Идентификация контроллов в KOL


1-1103477260
Nata
2004-12-19 20:27
2005.01.02
dbedit


3-1102243521
_Dragon
2004-12-05 13:45
2005.01.02
Не создается "убывающий" индекс во время работы программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский