Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2009, 16:28   #1
inndim
Пользователь
 
Регистрация: 08.06.2008
Сообщений: 74
По умолчанию TMemoryStream присвоить строковой переменной

Здравствуйте!
Хочу реализовать следующее: Есть файл который занят другим процессом и постоянно дополняется, я хочу прочитать этот файл в память, а от туда в строковую переменную, но не знаю как, помогите пожалуйста примером кто знает.
я делаю примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Memory: TMemoryStream;
  s: AnsiString;
begin
  Memory := TMemoryStream.Create;
  try
    Memory.LoadFromFile('logfile.log');

\\а вот что делать дальше не знаю, собственно дальше нужно присвоить открытый файл строковой переменной s.

  finally
    Memory.Free;
  end;
end;
хочу сделать так, потому что прочитать этот файл другими способами не получается.
inndim вне форума Ответить с цитированием
Старый 05.05.2009, 16:35   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Memory: TMemoryStream;
  s: AnsiString;
  i:longword;
  b:byte;
begin
  Memory := TMemoryStream.Create;
  s:='';
  try
    Memory.LoadFromFile('logfile.log');
    Memory.Seek(0,0);
    for i:=0 to Memory.Size do
     begin
      Memory.Read(b,1);
      s:=s+chr(b);
     end;
  finally
    Memory.Free;
  end;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.05.2009, 00:23   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Берете любой компонент типа (или со свойством) TStrings, например класс TStringList (не ищите на палитре, он не визуальный). Методом LoadFromStream загружаете в него ваш поток TMemoryStream, и в его (TStrings) свойстве Text и будет нужная вам строка.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 06.05.2009, 11:36   #4
inndim
Пользователь
 
Регистрация: 08.06.2008
Сообщений: 74
По умолчанию

Большое всем спасибо, всё работает!!!
inndim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как переменной присвоить данные из текстового поля формы? kitten2 Microsoft Office Excel 2 08.04.2009 05:43
Переменной присвоить имя файла komar73 Microsoft Office Excel 4 26.03.2009 15:20
Присвоить результат запроса переменной XATAB БД в Delphi 3 25.02.2009 21:20
присвоить переменной целого типа значение поля key полученное в результате выполнения SQL запроса Worms БД в Delphi 5 10.01.2008 21:07
Извлечь число из строки и присвоить его переменной. Adamant Общие вопросы C/C++ 3 12.11.2007 07:24