Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объект в Stream, для сохранения 
:(
    Опции темы
Rodman
Дата 21.8.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Цитата(Rennigth @  21.8.2007,  09:34 Найти цитируемый пост)
SHandle, SVersion, CountSelected какой тип переменных? 

см. коменты - это глобальные константы (SHandle - строка; SVersion - целое, но можно и строковое если надо)
CountSelected - целое
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Rennigth
Дата 21.8.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Rodman
Код

var
  fs: TFileStream;
  SHandle: string;
  SVersion: Integer;
  CountSelected: Integer;
begin
  SHandle := '123';
  SVersion := 123 ;
  CountSelected := 321;
  fs := TFileStream.Create('c:\test.dat', fmCreate or fmOpenWrite);
  try
    fs.WriteBuffer(SHandle[1], Length(SHandle));
    fs.WriteBuffer(SVersion, SizeOf(Integer));
    fs.WriteBuffer(CountSelected, SizeOf(Integer));
  finally
    fs.Free;
  end;


Это сообщение отредактировал(а) Rennigth - 21.8.2007, 10:11


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Rodman
Дата 21.8.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Rennigth, тот же эффект...

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Exapmle.rar 2,98 Kb
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Rennigth
Дата 21.8.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



чет файл не присоединяется...

Добавлено через 34 секунды
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const SHandle: string = 'SGP';
      SVersion: Integer = 1;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    function CountSelected():Integer;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  fs:TFileStream;
  lTmp: Integer;
begin
  fs:=TFileStream.Create('c:\1.txt', fmCreate);
  try
    fs.WriteBuffer(SHandle[1], Length(SHandle));
    fs.WriteBuffer(SVersion, SizeOf(Integer));
    lTmp := CountSelected;
    fs.WriteBuffer(lTmp, SizeOf(Integer));
  finally
    fs.free;
  end
end;

function TForm1.CountSelected():Integer;
begin
  Result:=15;
end;

procedure TForm1.Button2Click(Sender: TObject);
var fs:TFileStream;
    RHeandle:String;
    RData, i:Integer;
begin
  fs:=TFileStream.Create('c:\1.txt', fmOpenRead or fmShareDenyWrite);
  try
    SetLength(RHeandle, 3);
    fs.Read(RHeandle[1], 3);
    if(RHeandle=SHandle)then
    begin
      fs.Read(RData, SIZEOF(RData));
      if(RData>=1)then
      begin
        fs.Read(RData, SIZEOF(RData));
        ShowMessage('Ура');
      end
      else
    end
    else
      Showmessage('не Ура');
  finally
    fs.free;
  end;
end;

end.



Добавлено через 3 минуты и 20 секунд
Метод просто нельзя использовать в качестве буффера, плю тип константы нужен иногда явный.


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Samurai_I
Дата 22.8.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.8.2007

Репутация: нет
Всего: нет



Snowy
Цитата(Snowy @  20.8.2007,  15:18 Найти цитируемый пост)
Положи его на панельку и сохраняй и читай панельку.
Контейнер сам сохранит и прочитает детей.
И парента им назначит.
Просто текстсодержащие контролы не могут иметь текст, пока не получат окно, т.к. работа идёт через сообщения.
Текст назначается в процессе чтения, а паретн позже.
Поэтому нужно назначать парента в процессе чтения.
А это возможно только, если парент сохранён вместе с компонентом.

К сожалению если все эти процедуры с панелькой проделывать в design time, то возникает другая проблема. Panel, являесь parent'oм для всего содержимого самого себя, не является их хозяином. Хозяином остается форма - потому нужно либо эту панель создавать в runtime и кидать туда этот лист бокс(неуверен, что поможет), либо что-то придумывать с передачей владения Control'ом во время runtime. 
PM MAIL   Вверх
sentry
Дата 22.8.2007, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

Репутация: 2
Всего: 10



Цитата(Samurai_I @  22.8.2007,  11:30 Найти цитируемый пост)
Panel, являесь parent'oм для всего содержимого самого себя, не является их хозяином. Хозяином остается форма - потому нужно либо эту панель создавать в runtime и кидать туда этот лист бокс(неуверен, что поможет), либо что-то придумывать с передачей владения Control'ом во время runtime.

Изменить владельца можно, вызвав у панели InsertComponent. А сериализуют компоненты действительно только то, чем владеют...

Это сообщение отредактировал(а) sentry - 22.8.2007, 16:42
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0829 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.