Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 05.07.2013, 16:33
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Интересно а почему так можно
Код:
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  
Старый 05.07.2013, 17:19
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ты с какой луны упал? Типы в виде числа представляются.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #18  
Старый 05.07.2013, 17:25
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

А имена то нельзя например wsMinimized в виде строки получить. наверняка можно такие типы как
Код:
Type TPageSheet=(PgsCommand, PgsEvents, PgsStates, PgsActions, PgsOptions);

превратить в строку и обратно в тип
Ответить с цитированием
  #19  
Старый 05.07.2013, 17:29
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

пример нашел как такие типы перевести в строку
Код:
procedure TForm1.Button1Click(Sender: TObject);
var mypr: TPriority;
begin
mypr:=Critical;
Label1.Caption:=GetEnumName(TypeInfo(TPriority),Ord(mypr));
end;

но как их перевести в тип
Ответить с цитированием
  #20  
Старый 05.07.2013, 17:35
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Не занимайся грыжей (hernia). Сереализируй в стрим да и все.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #21  
Старый 05.07.2013, 17:36
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Чудак, да зачем такой огород городить-то с типами? Вы его для читабельности запишете в Ini как строку, затем обратно из Ini прочитаете как строку и преобразуете в тип понятный компилятору. И зачем это все делать?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #22  
Старый 05.07.2013, 17:42
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Цитата:
Сообщение от Страдалецъ
Чудак, да зачем такой огород городить-то с типами? Вы его для читабельности запишете в Ini как строку, затем обратно из Ini прочитаете как строку и преобразуете в тип понятный компилятору. И зачем это все делать?
А как это сделать. Может код дадите но не дыбло код.

вот это дыбло код

Код:
case Priority of
    Critical: Label1.caption := 'Critical';
    Warning: Label1.caption := 'Warning';
    Info: Label1.caption := 'Info';

А если там пару сотен имен. Надо имена перевести в строку и обратно в имя чтобы легко в ини было изменить а если делать числом то там будет не понятно какое число какое имя. иногда они с 0 начинаются а иногда с 1.
Ответить с цитированием
  #23  
Старый 05.07.2013, 18:10
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Не занимайся грыже, блин. GetEnumName в цикле вызывай, если так надо.

Дыблокод:
Код:
for type := low(ttype) to high(ttype) do
  showmessage(GetEnumName(type)
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #24  
Старый 05.07.2013, 18:14
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Не занимайся грыже, блин. GetEnumName в цикле вызывай, если так надо.

Дыблокод:
Код:
for type := low(ttype) to high(ttype) do
  showmessage(GetEnumName(type)
Цель записать имя типа в ини чтобы легко мпрямо в ини можно было изменить стиль окна
Ответить с цитированием
  #25  
Старый 05.07.2013, 18:19
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

NativeXML умеет формы в xml сереализировать со всеми типами. Так, что хватит велосипедики делать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #26  
Старый 05.07.2013, 18:24
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Я говорю тип в ини записать для того чтобы стиль формы сохранялся а также в самом ини можно было изменять стиль формы в данном случае WindowState
вот какой код сейчас
Код:
Script_Dynamic_Editor_Ini.WriteInteger('Project and Forms','Form1->WindowState',Byte(Form1.WindowState));
Минус: нельзя изменять в самом ини так как записывается в виде числа
Ответить с цитированием
  #27  
Старый 05.07.2013, 18:53
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А я про что? То же самое (запись, изменение и загрузка), но уже готово, только в XML формате (который лучше чем ини)
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #28  
Старый 05.07.2013, 18:55
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Ну я не хочу код с нуля переделывать если учесть что пару сотен строк кода я уже написал
Ответить с цитированием
  #29  
Старый 05.07.2013, 19:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Сначала надо исследовать предметную область, а не бросаться писАть непойми что.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter