Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

*.my   Найти похожие ветки 

 
Rooot   (2007-04-03 15:18) [0]

Как создать файл своего собственного формата.?


 
Плохиш ©   (2007-04-03 15:20) [1]

CreateFile


 
Сергей М. ©   (2007-04-03 15:21) [2]

TFileStream.Create("Файл.МоегоСобственногоФормата", fmCreate).Free;


 
Rooot   (2007-04-03 15:22) [3]


> Плохиш ©   (03.04.07 15:20) [1]

А как скажем туда объект записать...


 
Сергей М. ©   (2007-04-03 15:24) [4]


> А как .. туда объект записать


Известно как - в "своем собственном формате"


 
{RASkov}   (2007-04-03 15:38) [5]

> Как создать файл своего собственного формата.?

А чем собственно отличается создание файла твоего собственного формата от создания файла моего собственного формата?

> А как скажем туда объект записать...

Конкретно как, наверное все-таки, завист от формата...


 
Desdechado ©   (2007-04-03 16:10) [6]

и от того, что есть "объект"


 
SergeR ©   (2007-04-03 16:16) [7]

Что то подобное в орешнике было....


 
Elen ©   (2007-04-03 17:15) [8]


> А как скажем туда объект записать...

Получить список свойств такого-то обьекта (если имеется ввиду типа TForm или другие делфийские объекты) и записать этот список в файл.

Вот из DelphiWorld получение списка свойств:

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   Button1: TButton;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
procedure ListComponentProperties(Component: TComponent; Strings: TStrings);
var
  Count, Size, I: Integer;
  List: PPropList;
  PropInfo: PPropInfo;
  PropOrEvent, PropValue: string;
begin
  Count := GetPropList(Component.ClassInfo, tkAny, nil);
  Size  := Count * SizeOf(Pointer);
  GetMem(List, Size);
  try
    Count := GetPropList(Component.ClassInfo, tkAny, List);
    for I := 0 to Count - 1 do
    begin
      PropInfo := List^[I];
      if PropInfo^.PropType^.Kind in tkMethods then
        PropOrEvent := "Event"
      else
        PropOrEvent := "Property";
      PropValue := VarToStr(GetPropValue(Component, PropInfo^.Name));
      Strings.Add(Format("[%s] %s: %s = %s", [PropOrEvent, PropInfo^.Name,
        PropInfo^.PropType^.Name, PropValue]));
    end;
  finally
    FreeMem(List);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);

begin
ListComponentProperties(form1, ListBox1.Items);

end;

end.


 
Игорь Шевченко ©   (2007-04-03 17:38) [9]

Elen ©   (03.04.07 17:15) [8]

Опять мимо. Матчасть учить. TStream.WriteComponent


 
Elen ©   (2007-04-03 17:42) [10]


> Игорь Шевченко ©   (03.04.07 17:38) [9]

А если я не все свойства хочу сохранить? Если выборочно скажем первые 20 штук? И к тому же полезно иметь на руках список свойств, а про WriteComponent я знаю, но альтернатива никогда не помешает :)


 
{RASkov}   (2007-04-03 17:45) [11]

> А если я не все свойства хочу сохранить? Если выборочно
> скажем первые 20 штук?

Как это и [8] связано с

> Как создать файл своего собственного формата.?

? :)


 
Игорь Шевченко ©   (2007-04-03 22:07) [12]

Elen ©   (03.04.07 17:42) [10]


> А если я не все свойства хочу сохранить? Если выборочно
> скажем первые 20 штук? И к тому же полезно иметь на руках
> список свойств


А если вопрос почитать ? Или не судьба, а знанием поделиться хочется ?


 
Elen ©   (2007-04-04 08:12) [13]


> А если вопрос почитать ?

А ты сам почитай - [3] "А как скажем туда объект записать...", т.е. автору нужно скинуть в файл значения свойств обьекта, а вопрос про формат немножко непонятный



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
3-1170161987
Megabyte
2007-01-30 15:59
2007.04.22
Экспорт в Эксель поля типа Blob


2-1175707626
Новичёк
2007-04-04 21:27
2007.04.22
Как дать pointer со смещением


2-1174083171
DiX
2007-03-17 01:12
2007.04.22
Подключение к интернету


2-1175599129
Rooot
2007-04-03 15:18
2007.04.22
*.my


15-1174650082
Vlad Oshin
2007-03-23 14:41
2007.04.22
Самая быстрая технология забора данных из большого Excel-файла.