Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.09.2007, 17:38
Nekromant Set'а Nekromant Set'а вне форума
Новичок
 
Регистрация: 12.08.2007
Сообщения: 87
Репутация: 10
По умолчанию Как записать струоку и число в поток?

Скажите, как записать значение переменной строки и числа в поток, а потом считать обратно???
Ответить с цитированием
  #2  
Старый 19.09.2007, 19:09
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
Хорошо

Создай несколько потоков типа TStream и переменную типа Byte. И затем, чтобы прочитать используй TFileStream.Create(OpenDialog1.FileName,fmOpenRead ), а для записи TFileStream.Create(SaveDialog1.FileName,fmCreate).
Ответить с цитированием
  #3  
Старый 19.09.2007, 19:25
Nekromant Set'а Nekromant Set'а вне форума
Новичок
 
Регистрация: 12.08.2007
Сообщения: 87
Репутация: 10
По умолчанию

я имел в виду не это... Мне нужна сама процедура записи строки в поток...
Ответить с цитированием
  #4  
Старый 19.09.2007, 21:41
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Запись
Код:
var
  f : TFileStream;
  s : String;
  i : Integer;
begin
  f := TFileStream.Create('c:\1.txt', fmCreate);
  s := 'Эту строку запишем в файл';
  f.Write(PChar(s)^, Length(s)); // запись строки
  i := 10000;
  f.Write(i, SizeOf(i)); // запись числа, второй параметр это количество записываемых байт, тип Integer это 4 байта, для определения размера переменной (в байтах) можно использовать ф-цию SizeOf
  f.Free;
end;
Чтение. Тут есть одно но, надо либо знать длину строки, либо записывать длину строки перед самой строкой, либо в конце строки записывать какое-то число признак окончания строки, например 0 и считывать по 1 символу, пока не найдем 0 - признак конца строки.
Код:
var
  f : TFileStream;
  s : String;
  i : Integer;
begin
  f := TFileStream.Create('c:\1.txt', fmOpenRead);
  SetLength(s, Your_string_lenth); // Это если мы знаем заранее длину строки
  f.Read(PChar(s)^, Length(s)); // чтение строки
  f.Read(i, SizeOf(i)); // чтение числа
  f.Free;
end;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.

Последний раз редактировалось zip000, 19.09.2007 в 21:45.
Ответить с цитированием
  #5  
Старый 20.09.2007, 15:24
Nekromant Set'а Nekromant Set'а вне форума
Новичок
 
Регистрация: 12.08.2007
Сообщения: 87
Репутация: 10
По умолчанию

Гуд спсб...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025