Преобразование дат туда-обратно

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 10:40:07

Предвидя раздраженное: "а чего ж тогда на нем и не пишешь?" отвечу:

1. инструмент коммерческий, и у меня мягко говоря, неофициальная лицензия.
2. на данный момент инструмент существует только под windows
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение Mirror » 13.05.2008 10:50:49

a='123'+32 давало '155' (один пять пять),
а должно, вообще-то, давать 12332 (что в случае с Variant’ом, насколько я понимаю, и получится), а то тут двойное неявное преобразование происходит: сначала в целое, потом в строку обратно. Нелогично. Слава богу, что в Паскале такого нет.

А всё-таки, в моём понимании «без всяких сжатий» и «со всей отладочной информацией» — это разные вещи.
Mirror
новенький
 
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 11:08:30

Mirror писал(а):«без всяких сжатий» и «со всей отладочной информацией» — это разные вещи
С необходимой отладочной информацией (полная инфа для отладчика плюс все проверки - стек, массивы, еще что-то) тот же exe занимает 266612 байт.
Про сжатия я имел в виду "без использования exepacker-ов".
Штатный отладчик для этой среды - logitech debug (может кто вспомнит многоязычную IDE logitech modula-2 - оттуда ноги растут). В комплекте Clarion, как наследство от той IDE, компиляторы CPP и M-2, то есть в проект можно включать модули на этих языках "как родные". Версии, что дебага, что компиляторов, понятно, осовремененные.
Mirror писал(а):a='123'+32 давало '155' (один пять пять),
а должно, вообще-то, давать 12332
Для слияния строк используется амперсанд:
a='123' & 32 даст 12332.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение B4rr4cuda » 13.05.2008 11:37:10

Mirror писал(а):А всё-таки, в моём понимании «без всяких сжатий» и «со всей отладочной информацией» — это разные вещи.

Troublemaker писал(а):Про сжатия я имел в виду "без использования exepacker-ов".

2.2 м и 700к с -O3, умным связыванием и стрипом. Так лучше? :lol:
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 12:09:34

B4rr4cuda писал(а):Так лучше?
Как я уже сказал: "не холивара ради". Не собираюсь хаять язык или среду, которой посвящен форум - "не лезь в чужой монастырь со своим уставом через колючую проволоку".
Но, возможно, какие-то идеи из рассказанного мной, окажутся полезны и будут реализованы. На данный момент меня сильно расстраивает невозможность визуально разрабатывать более одной формы на модуль.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение B4rr4cuda » 13.05.2008 12:47:42

Troublemaker писал(а):Как я уже сказал: "не холивара ради".

Я понял. Просто был немного раздражен...
Troublemaker писал(а):не лезь в чужой монастырь со своим уставом через колючую проволоку

Особенно в женский, со своими овощами... :lol:
Troublemaker писал(а):На данный момент меня сильно расстраивает невозможность визуально разрабатывать более одной формы на модуль.

В моем мировоззрении такая возможность даже не присутствует (видимо ввиду привычки).
Зачем это может быть нужно? Ладно два юнита используют одну форму, но один юнит - две формы...
Тоже, ни в коем разе, не собираюсь провоцировать или вести холивар. Мне интересно - это я консерватор или это действительно удобно?
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 13:21:05

B4rr4cuda писал(а):Зачем это может быть нужно? Ладно два юнита используют одну форму, но один юнит - две формы...
Начнем с того, что возможность использовать несколько форм на юнит присутствует "по определению". Не хватает именно визуального проектирования 2-ой и последующих форм. Полагаю, это связано с тем, что описание формы хранится не в самом модуле, а во внешнем файле.

Например, по каким-то причинам ввод каких-то данных удобнее делать в отдельном окне. Среднепотолочный пример: на форме нужно вводить много разных данных и разместить на ней полный комплект контролов очень трудно. (как, кстати, скрыть в дизайнтаме всякие таймеры и экшнлисты, чтобы глаза не мозолили?). Я делаю нужное количество субформ В ПРЕДЕЛАХ одного и того же модуля - это не отдельные модули и не отдельные процедуры, это просто дополнительные окна для ввода данных в форму основную. И эти формы открываются, реагируя на щелчок по тому или иному контролу.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение v-t-l » 13.05.2008 13:35:26

Насчет размера exe:
Код: Выделить всё
program hello;
uses
  windows;
begin
  MessageBox(0,'Hello world!','Привет, мир!',MB_OK);
end.

- 27688 байт без отладочной информации. :D

А насчет сования кучи форм в одно место :lol: - не вижу особой потребности.
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 13:54:02

v-t-l писал(а):27688 байт
Принято. У меня с дефолтными настройками получилось после стрипа 34304.
v-t-l писал(а):насчет ... кучи форм
Еще раз: засунуть их несколько штук в один модуль нетрудно. Создать в рантайме - тоже. И проблема именно в том, что их нельзя создавать-править визуально.

Еще вот пример пришел в голову: сделал я один дизайн формы. Потом решил переделать его с полным сохранением функционала и не стирая старого, не создавая новый модуль или форму с новым именем. Потом решил добавить еще один дизайн. Просто чтобы у пользователя был выбор внешнего вида без использования скинов, в которых я ни ухом ни рылом.

Как я понимаю, в классическом варианте "один модуль - одна форма", я буду вынужден вести три модуля, отличающихся только формами?
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение Mirror » 13.05.2008 16:54:58

Еще вот пример пришел в голову: сделал я один дизайн формы. Потом решил переделать его с полным сохранением функционала и не стирая старого, не создавая новый модуль или форму с новым именем. Потом решил добавить еще один дизайн. Просто чтобы у пользователя был выбор внешнего вида без использования скинов, в которых я ни ухом ни рылом.

Как я понимаю, в классическом варианте "один модуль - одна форма", я буду вынужден вести три модуля, отличающихся только формами?

Насколько я понимаю, в классическом варианте такое изде... чудо никто делать не будет — хватит одного дизайна формы. ^_^ Ну, а если очень хочется, то что мешает вынести все общие процедуры в отдельный, четвёртый модуль?
Mirror
новенький
 
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

Re: Преобразование дат туда-обратно

Сообщение B4rr4cuda » 13.05.2008 17:11:07

Troublemaker писал(а):Начнем с того, что возможность использовать несколько форм на юнит присутствует "по определению". Не хватает именно визуального проектирования 2-ой и последующих форм.

Вот я и говорю, что в моем мировозрении этого нет и надеюсь не появиться. :)
Случай создания в рантайме или клонирования формы не рассматриваем. Ситуации в которых это требуется далеки от стандартных условий.

Troublemaker писал(а):Например, по каким-то причинам ввод каких-то данных удобнее делать в отдельном окне.
Среднепотолочный пример: на форме нужно вводить много разных данных и разместить на ней полный комплект контролов очень трудно.

Вот для таких случаев и существуют фреймы. В лазаре они пока не доработаны, но я думаю это именно то, что тебе требуется.

Troublemaker писал(а):как, кстати, скрыть в дизайнтаме всякие таймеры и экшнлисты, чтобы глаза не мозолили?

Закинуть за границы формы.

Troublemaker писал(а):Я делаю нужное количество субформ В ПРЕДЕЛАХ одного и того же модуля - это не отдельные модули и не отдельные процедуры, это просто дополнительные окна для ввода данных в форму основную.

А вот за такое обычно по головке не гладят. Это кажется удобным первое время. Потом, когда юнит разрастается до пары тысяч строк, ты сам себе не рад. А разделить юнит после такого бывает ой-ой-ой как сложно. И не дай боже принять такой проект на сопровождение или доработку...

Troublemaker писал(а):Еще раз: засунуть их несколько штук в один модуль нетрудно. Создать в рантайме - тоже. И проблема именно в том, что их нельзя создавать-править визуально.

И слава богу! Почему см. выше. Я думаю проектировщики Делфи тоже не дураки: было бы это действительно востребовано - они бы это сделали.

Troublemaker писал(а):Потом решил переделать его с полным сохранением функционала и не стирая старого, не создавая новый модуль или форму с новым именем. Потом решил добавить еще один дизайн. Просто чтобы у пользователя был выбор внешнего вида без использования скинов, в которых я ни ухом ни рылом.

За это, тоже бы не похвалил. Это совершенно неправильный подход. Нужна смена дизайна - делай поддержку скинов. Именно из-за такого подхода к реализации у начинающих, дельфистов и не уважают. Ибо не следует чистить зубы через задний проход.

ЗЫ. Не холивар, так флейм... :oops: :cry: :roll: :wink: :mrgreen:
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Преобразование дат туда-обратно

Сообщение Troublemaker » 13.05.2008 17:41:57

B4rr4cuda писал(а):Не холивар, так флейм...

Ничего подобного! Обычный, нормальный и вполне цивилизованный обмен мнениями.

Хотя... кажется, до меня дошла идея. В том же Clarion окно - это лишь одна из переменных в процедуре (такая же, как файл или отчет), а в D/L - форма суть главный элемент, а все процедуры модуля ему подчиняются, ибо являются методами формы. Ну, или как-то так.

Понял, чего мне еще не хватает в редакторе лазаря. Или чего я не нашел, а оно есть: хоткея, дублирующего текущую строку или выделенную группу строк. То есть, стою на строке, жму, скажем, ^2 и под текущей строкой исходника вставляется ее дубликат.
(да-да, я знаю про копипаст, но с таким хоткеем всяко быстрее)
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Преобразование дат туда-обратно

Сообщение Padre_Mortius » 13.05.2008 21:23:18

Размер также зависит от параметров компиляции, ОС в которой будет работать бинарник и версии компилятора. На 0.9.24 ~11 метров (после стрипа ~1.2 Мб) под Win32, на 0.9.25 ~15 метров (после стрипа ~1.5 Мб) под win32. Под линуксом чуть больше (2-3 метра к нестрипаному и с метр после)

P.S. Стрип это не сжатие
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Преобразование дат туда-обратно

Сообщение Attid » 13.05.2008 23:33:41

Troublemaker писал(а):Среднепотолочный пример: на форме нужно вводить много разных данных и разместить на ней полный комплект контролов очень трудно. (как, кстати, скрыть в дизайнтаме всякие таймеры и экшнлисты, чтобы глаза не мозолили?). Я делаю нужное количество субформ В ПРЕДЕЛАХ одного и того же модуля - это не отдельные модули и не отдельные процедуры, это просто дополнительные окна для ввода данных в форму основную. И эти формы открываются, реагируя на щелчок по тому или иному контролу.

ээ а наследование ? оно конечно не очень прямо в лазаре сделано, но работает же вроде.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Преобразование дат туда-обратно

Сообщение alexs » 14.05.2008 07:15:36

Troublemaker
Если мгного элементов управления на твой взгляд - разбей на несколько форм. Или используй фрэймы (или их аналог).
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru