Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Вниз*.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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c