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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 05:12   #1
Puhovoi
Пользователь
 
Аватар для Puhovoi
 
Регистрация: 16.10.2010
Сообщений: 47
Вопрос Создание класса

Доброго времени суток!

Не могу разобраться, как создать свой класс.

Задача: добавить в него различные данные (пусть будет типа string), которые он бы обрабатывал и записывал в свое поле Document (тип TMemoryStream), а потом отдавал бы мне по запросу этот общий Document. Процедуру обработки, добавления и очистки себе представляю, а вот тело класса не могу написать, упустил что-то при изучении.

Как это можно реализовать?

Заранее спасибо за ответы.
Puhovoi вне форума Ответить с цитированием
Старый 24.03.2011, 11:09   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
type
  TDocKeeper = class(TObject)
  private
    f_storage: TMemoryStream;
    //
    function getText(): AnsiString;
    procedure setText(const value: AnsiString);
  public
    constructor Create();
    destructor Destroy(); override;
    //
    property Document: TMemoryStream read f_storage;
    //
    property text: AnsiString read getText write setText;
  end;


{ TDocKeeper }

// --  --
constructor TDocKeeper.Create();
begin
  f_storage := TMemoryStream.Create();
  //
  inherited;
end;

// --  --
destructor TDocKeeper.Destroy();
begin
  inherited;
  //
  FreeAndNil(f_storage);
end;

// --  --
function TDocKeeper.getText(): AnsiString;
begin
  if (0 < f_storage.Size) then begin
    //
    SetLength(result, f_storage.Size);
    f_storage.Read(result[1], f_storage.Size);
  end
  else
    result := '';
end;

// --  --
procedure TDocKeeper.setText(const value: AnsiString);
begin
  f_storage.Clear();
  if (0 < length(value)) then
    f_storage.Write(value[1], Length(value));
end;
типа того
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание класса Ex_123 Помощь студентам 0 16.05.2010 21:13
создание класса driga Помощь студентам 0 09.04.2010 21:14
Создание класса Dogmat Общие вопросы C/C++ 2 12.01.2009 14:32
Создание класса Stanislav Общие вопросы Delphi 8 15.05.2008 23:34
создание класса Siren Помощь студентам 1 07.05.2008 19:19