IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
Closed Topic Открыть новую тему 
> Текстовые Файлы
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской
Реальное имя: Георгий

Репутация: -  0  +


Помогите присвоить метке значение Текстового Файла. Мой код присваивает только первую строку из файла, в чем ошибка???
Код

var
  F: TextFile;
  S: String;
begin
  AssignFile(F, 'Text.txt');
  Reset(F);
  Read(F, S);
  Label1.Caption := S;
end;


--------------------
Минус - это уже половина плюса, а плюс порой - целых два минуса...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А ты что, в Caption все содержимое файла затолкать хочешь?
Тогда читай так:
AssignFile(F, 'Text.txt');
Reset(F);
st := '';
While not eof(f) do begin
read(f, s); st := st + s + #13#10;
end;
Label1.Caption := st;


Если поместится, конечно. Все-таки строка ограничена 255 символами...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Для работы с файлами в Делфи лучше использовать стримы - потоки.
TFileStream - для работы с файлами.

Ещё в принципе можно пользоваться TStringList "ом - у него есть метод LoadFromFile(const FileName: string)
function ReadAllFile(const FileName: string): string;
var S: TFileStream;
begin
S:=TFileStream.Create(FileName);
try
S.Reset;
SetString(Result,nil,S.Size);
S.ReadBuffer(pointer(Result)^,S.Size);
finally
S.Free;
end;
end;


function ReadAllFile(const FileName: string): string;
var S: TStringList;
begin
S:=TStringList.Create;
try
S.LoadFromFile(FileName);
Result:=S.Text;
finally
S.Free;
end;
end;

Первый вариант работает быстрее.
Чёта я сегодня добрый. Есть случаи когда файло текста большое и при загрузке нужно сделать так, чтоб приложение не зависало на долго. Т.е. организовать чтение по строкам без частого обращения к стриму (системе).

Вот класс, который позволяет прочитать построчно весь текстовый файл, не загружая его предварительно в память - использует постраничную загрузку.

Сообщение отредактировано: hardcase -


Прикрепленные файлы
Прикрепленный файл  StrStrm.pas ( 3.42 килобайт ) Кол-во скачиваний: 321


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






hardcase
Ну, и на кой это все, если больше чем 255 символов ты все равно не прочтешь, ты не думал? Знаешь, как это называется? Из пушки - по воробьям...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


я просто считаю, что такие вещи как ФАЙЛОВЫЕ ПЕРЕМЕННЫЕ - устаревшие вещи. (Наверно привык просто к Сям)
И считаю использование их - не очень хорошим тоном программирования.

(кстати, про пушку эт что? про StrStrm?)


------------- сообщение администратора ----------------
Цитата
ФАЙЛОВЫЕ ПЕРЕМЕННЫЕ - устаревшие вещи. (Наверно привык просто к Сям)

Цитата
И считаю использование их - не очень хорошим тоном программирования.

ЭТО твое ЛИЧНОЕ мнение, понял ?

читай правила ВНИМАТЕЛЬНО!
Делаю предупреждение. (-1)

Сообщение отредактировано: Altair -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 19:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name