![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите додумать ф-ю открытия txt файла, и все его содерж.
Lexxx © (2004-09-23 08:57:00)Поместить в строковую переменную. Вот что сделал: (работает не коректно, но и ошибки не выдает)
function InsFile(filename : string): string;
var
TF: TextFile;
begin
AssignFile(TF, ExtractFileDir(ParamStr(0))+'\'+filename);
read(TF, Result);
CloseFile(TF);
end;
Заранее спасибо.
Anatoly Podgoretsky (2004-09-23 12:03:00) [21]kukuikar © (23.09.04 11:58) [14]
К меня такие есть, логи моего домашнего апач сервера, иногда доходят до 1 гб в месяц
kukuikar (2004-09-23 11:58:00) [22]
> туда предположим 500 MB текстовый файл?
Ты создавал такие файлы, или где-то видел?
Покажи!
Zhekson (2004-09-23 11:08:00) [23]Абалдеть. А есть ограничения на обьём StringList_a и стринговую переменную? Всмыле влезет туда предположим 500 MB текстовый файл?
Fay (2004-09-23 10:53:00) [24]2 [11] Romkin © (23.09.04 10:32)
Если файл был создан (для примера) с флагом FILE_FLAG_DELETE_ON_CLOSE, то этот код не прокатит 8)
Romkin (2004-09-23 10:32:00) [25]ЭЭЭ!!! А вдруг ошибка?!
function InsFile(filename : string): string;
var
List: TStringList;
begin
List:= TStringList.Create;
try
List.LoadFromFile(ExtractFileDir(ParamStr(0))+'\'+filename);
Result := List.Text;
finally
List.Free;
end;
end;
TUser (2004-09-23 10:30:00) [26]
> Объем исходников никак не влияет на оптимальность.
>
> Основной критерий качества исходников - читабельность, структурированность.
В данном случае этот спор совершенно не нужен. Спосов [1] и понятнее, и чтабельнее, и исходник меньше, и работает быстрее, чем BlockRead'ы всякие.
kukuikar (2004-09-23 10:26:00) [27]
> Мастер © (23.09.04 10:10) [8]
Верно!
Мастер (2004-09-23 10:10:00) [28]> kukuikar © (23.09.04 09:57) [7]
Основным критерием является оптимальный объем и оптимальная
же скорость.
Да ну?
Объем исходников никак не влияет на оптимальность.
Основной критерий качества исходников - читабельность, структурированность.
Основной критерий качества исполняемых файлов - правильное выполнение предусмотренных техзаданием функций.
kukuikar (2004-09-23 09:57:00) [29]
> А я-то раньше думал, что основным критерием является скорость,
> а не размер исходного кода.
> Видимо, я ошибался...
Основным критерием является оптимальный объем и оптимальная же скорость.
Gero (2004-09-23 09:35:00) [30]
> Борись за уменьшение объема исходных кодов.
А я-то раньше думал, что основным критерием является скорость, а не размер исходного кода.
Видимо, я ошибался...
Lexxx (2004-09-23 09:29:00) [31]Тогда спасибо!!
Получилась так:
function InsFile(filename : string): string;
var
List: TStringList;
begin
List:= TStringList.Create;
List.LoadFromFile(ExtractFileDir(ParamStr(0))+'\'+filename);
Result := List.Text;
List.Free;
end;
kukuikar (2004-09-23 09:19:00) [32]
> а никак нельзя откалаться от TStringList
А чем тебе StringList неугодил?
Сравни объем твоего кода и моего.
Борись за уменьшение объема исходных кодов.
Проще самому будет.
Или если кажется проще то делай так -->> Gero © [3]
Gero (2004-09-23 09:13:00) [33]
> Lexxx (23.09.04 08:57)
Ты из файла всегда четыре байта считываешь.
Если хочешь все, используй BlockRead + FileSize.
Lexxx (2004-09-23 09:09:00) [34]Подойдет :)
так и делал до этого, а никак нельзя откалаться от TStringList? Или это ужасно сложно, и приходится считывать файл по символу до EOF?
kukuikar (2004-09-23 09:05:00) [35]var
List: TStringList;
List: TStringList.Create;
List.LoadFromFile(ExtractFileDir(ParamStr(0))+'\'+filename);
А дальше List.Textи есть содержимое твоего текстового файла.
Не подойдет?