С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/46: Рейтинг темы: голосов - 46, средняя оценка - 4.93
6 / 6 / 2
Регистрация: 24.09.2012
Сообщений: 381
1

Запись строки в файл через TFileStream

12.05.2014, 20:01. Показов 9565. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как записать в файл через TFileStream строку и число с количеством символов в этой строке (так как при чтении нужно это учитывать)? Можно было бы написать так:
Delphi
1
S:string[20]
, но в Delphi XE5/XE6 это убрали, как тогда записать определённое количество символов? Длину найти просто:
Delphi
1
L:=length(s);
Delphi
1
2
3
4
5
6
7
8
9
10
var Stream:TfileStream;
s:string;
l:integer;
begin
s:='bublik';
Stream := TFileStream.Create('c:\1.dat', fmOpenReadWrite);
L:=length(s);
Stream.WriteBuffer(L,sizeof(L));
stream.writeBuffer(S, {ну а тут какой размер вписать? Любой String через SizeOf 4 байта даёт...});
stream.free;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2014, 20:01
Ответы с готовыми решениями:

Запись в текстовый файл с использованием TFileStream
Изучая разные потоки - наследники класса TStream, попробовал следующий код: Type TFullName =...

Запись и чтение текста через Memo и TFileStream
На форме есть поле Memo, две кнопки для чтения и записи текста в файл, OpenDialog для сохранения и...

Запись части файла в другой файл. TFileStream
Ни как не могу разобраться как правильно сделать... Есть файл. Без разницы какой. JPG, MPG, TXT.....

Запись в TFileStream в цикле
Доброго времени суток. Имееем TFileStream * filestream = new TFileStream(бла бла бла); Стрим...

1
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
12.05.2014, 20:49 2
Лучший ответ Сообщение было отмечено GoodWeather как решение

Решение

Данные строки начинаются с элемента S[1], а размер записываемых данных в байтах равен Length(S) * SizeOf(Char). С учётом этого:
Delphi
1
Stream.Write(S[1], Length(S) * SizeOf(Char));
Добавлено через 1 минуту
Сама переменная S : String является указателем на первый байт в области, где располагаются текстовые данные строки.
1
12.05.2014, 20:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2014, 20:49
Помогаю со студенческими работами здесь

Работа с классом TFileStream. Запись; Чтение;
Я пишу программу: Редактор тестов | Тестер. Вопрос такой: Как записать в файл созданный с помощью...

Запись строки в массив, сортировка, удаление и запись в файл
Нужна помощь. Из edit box к нам приходят строки мы их фильтруем. нужно строки записать в массив,...

Преобразование строки в TFileStream
Собственно, есть строка сообщения и нужна её преобразовать в TFileStream. Не создавая при этом...

Чтение из тектового файла через TFileStream
Доброго времени суток. Не могу разобраться, как читать тектовой файл посредством TFileStream ...

Файл типа tfilestream в txt
Здравствуйте. Есть файл типа tfilestream созданный программой delphi, при отерытии его получаются...

Как работать с тестовыми файлами через TFileStream?
В лазарус сайте для работы с текстовыми файлами предлагается исползовать textfile, а с бинарниками...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru