![]() |
|
|
#16
|
||||
|
||||
|
Интересно а почему так можно
Код:
Script_Dynamic_Editor_Ini.WriteInteger('Project and Forms','Form1->WindowState',Byte(Form1.WindowState));Код:
Script_Dynamic_Editor_Ini.WriteString('Project and Forms','Form1->WindowState',String(Form1.WindowState)); |
|
#17
|
||||
|
||||
|
Ты с какой луны упал? Типы в виде числа представляются.
|
|
#18
|
||||
|
||||
|
А имена то нельзя например wsMinimized в виде строки получить. наверняка можно такие типы как
Код:
Type TPageSheet=(PgsCommand, PgsEvents, PgsStates, PgsActions, PgsOptions); превратить в строку и обратно в тип |
|
#19
|
||||
|
||||
|
пример нашел как такие типы перевести в строку
Код:
procedure TForm1.Button1Click(Sender: TObject); var mypr: TPriority; begin mypr:=Critical; Label1.Caption:=GetEnumName(TypeInfo(TPriority),Ord(mypr)); end; но как их перевести в тип |
|
#20
|
||||
|
||||
|
Не занимайся грыжей (hernia). Сереализируй в стрим да и все.
|
|
#21
|
||||
|
||||
|
Чудак, да зачем такой огород городить-то с типами? Вы его для читабельности запишете в Ini как строку, затем обратно из Ini прочитаете как строку и преобразуете в тип понятный компилятору. И зачем это все делать?
|
|
#22
|
||||
|
||||
|
Цитата:
вот это дыбло код Код:
case Priority of
Critical: Label1.caption := 'Critical';
Warning: Label1.caption := 'Warning';
Info: Label1.caption := 'Info';А если там пару сотен имен. Надо имена перевести в строку и обратно в имя чтобы легко в ини было изменить а если делать числом то там будет не понятно какое число какое имя. иногда они с 0 начинаются а иногда с 1. |
|
#23
|
||||
|
||||
|
Не занимайся грыже, блин. GetEnumName в цикле вызывай, если так надо.
Дыблокод: Код:
for type := low(ttype) to high(ttype) do showmessage(GetEnumName(type) |
|
#24
|
||||
|
||||
|
Цитата:
|
|
#25
|
||||
|
||||
|
NativeXML умеет формы в xml сереализировать со всеми типами. Так, что хватит велосипедики делать.
|
|
#26
|
||||
|
||||
|
Я говорю тип в ини записать для того чтобы стиль формы сохранялся а также в самом ини можно было изменять стиль формы в данном случае WindowState
вот какой код сейчас Код:
Script_Dynamic_Editor_Ini.WriteInteger('Project and Forms','Form1->WindowState',Byte(Form1.WindowState)); |
|
#27
|
||||
|
||||
|
А я про что? То же самое (запись, изменение и загрузка), но уже готово, только в XML формате (который лучше чем ини)
|
|
#28
|
||||
|
||||
|
Ну я не хочу код с нуля переделывать если учесть что пару сотен строк кода я уже написал
|
|
#29
|
||||
|
||||
|
Сначала надо исследовать предметную область, а не бросаться писАть непойми что.
|