Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Windows Forms
Регистрация

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

Ответ
 
Опции темы
Старый 24.03.2013, 20:41   #1
narkot
Новичок
 
Регистрация: 30.10.2012
Сообщений: 1
Репутация: 10
Восклицание Запись массива компонентов в файл.

Здравствуйте дорогие форумчане! Прощу помощи в одном вопросе:
Имеется класс
Код:

using namespace System;
using namespace System::Windows::Forms;
ref class MyRichTextBox : public System::Windows::Forms::RichTextBox
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class MyPictureBox : public System::Windows::Forms::PictureBox
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class MyLabel : public System::Windows::Forms::Label
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class structura
{
public:
    MyRichTextBox^ Richs;
    MyPictureBox^ Imgs;
    MyLabel^ Lbls;
};

В процессе выполнения создается массив из элементов данного класса
Код C++
1
masiv = gcnew array<structura^>(100);
и объявляются элементы массива
Код C++
Код:

ColR++; // увеличиваем количество созданных экземпляров данного класса
            masiv[ColR] = gcnew structura; // выделяем память для нового экземпляра
            masiv[ColR]->Richs = gcnew MyRichTextBox; // определяем тип экземпляра
            masiv[ColR]->Richs->Name = "Rich"+ ColR; // присваиваем имя экземпляру
            masiv[ColR]->Richs->Location = Point(100,100+ColR*20); // определяем положение 
            masiv[ColR]->Richs->Size = System::Drawing::Size( 400, 50 ); // определяем размер
            masiv[ColR]->Richs->ContextMenuStrip = this->contextMenuString; // привязываем контекстное меню
            masiv[ColR]->Richs->Visible=true; // устанавливаем видимость
            masiv[ColR]->Richs->canMove = false;
            // подписываемся на события
            this->masiv[ColR]->Richs->MouseDown += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseDown);
            this->masiv[ColR]->Richs->MouseMove += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseMove);
            this->masiv[ColR]->Richs->MouseUp += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseUp);
            this->masiv[ColR]->Richs->Click += gcnew System::EventHandler(this, &Form1::richTextBox1_Click);
            //
            tabControl1->SelectedTab->Controls->Add(masiv[ColR]->Richs); // размещаем компонент на активной вкладке

Проблема в том, что мне необходимо сохранить данный массив в файл, а после загрузить.
Нашел решение данной проблемы на Delphi и Builder, но в студийный вариант перевести не смог
Пример на Delphi
Код Delphi
Код:

procedure TForm1.StoreClick(Sender: TObject);
var
  W: TWriter;
begin
  W := TWriter.Create(
    TFileStream.Create('c:\source\delphi\example.dob', fmCreate), 4096);
  W.WriteSignature;
  W.WriteComponent(Spin);
  W.Free;
end;
 
procedure TForm1.LoadClick(Sender: TObject);
var
  R: TReader;
begin
  R := TReader.Create(
    TFileStream.Create('c:\source\delphi\example.dob', fmOpenRead), 4096);
  Spin := R.ReadRootComponent(nil) as TSpinner;
  Spin.Top := 0;
  Spin.Left := 0;
  Spin.Parent := Self;
  InsertComponent(Spin);
  R.Free;
end;

Может кто сталкивался с подобным ?

Последний раз редактировалось Stilet; 24.03.2013 в 22:14.
narkot вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись массива в файл Стремящийся Общие вопросы по Java, Java SE, Kotlin 12 26.06.2012 16:19
Запись массива в файл WIN32APIist Общие вопросы C/C++ 5 03.01.2011 02:38
Запись двумерного массива в файл rusasha Паскаль 7 03.05.2010 14:03
запись массива в файл lel-lis Общие вопросы C/C++ 6 25.01.2010 18:46
запись массива в файл Владимир1988 Помощь студентам 3 19.01.2010 10:25


13:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru