![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Люди, разрабатываю модуль для лёгкого создания собственного формата файлов. Нужна помощь, как мохранить string в TMemoryStream?
|
|
#2
|
||||
|
||||
|
Приводи код, показывай где не получается.
|
|
#3
|
|||
|
|||
|
Короче, я пытался записывать таким способом, опишу только основную логику:
Код:
var f: TMemoryStream s: String begin f := TMemoryStream.Create; f.Write(s, SizeOf(s)); f.SaveToFile(filename); f.Free; end. При дальнейшем считывании ошибка... Что делать? |
|
#4
|
||||
|
||||
|
И пишет скорее всего 4 байта?
Попробуй так: Код:
var f: TMemoryStream; s: ShortString; begin f := TMemoryStream.Create; f.Write(s, SizeOf(s)); f.SaveToFile(filename); f.Free; end. |
|
#5
|
|||
|
|||
|
0_o А ShortString = String?
|
|
#6
|
||||
|
||||
|
ShortString=String[255]
|
|
#7
|
|||
|
|||
|
Если хочешь записать строку String (AnsiString) в Stream делай так:
Код:
var
f: TMemoryStream;
S: AnsiString;
begin
f := TMemoryStream.Create;
try
// Указываем с какой точки и сколько байт занести в Stream
f.Write(S[1], Length(S));
f.SaveToFile(filename);
finally
f.Free;
end;
end; |