Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#76: 2007-05-26 11:49:38 ЛС | профиль | цитата
Galkov, по первому и второму пункту непонятно только одно -- а если это не MT-методы, то куда пихать данные на какую из девяти верхних точек (или семи нижних), или, всеже, оставить поле Data (Result). По третьему -- нет такого KOL-го метода, самому сшивать прийдется, меня остановило, только то, что надо разделитель вписывать в доп свойство, а так подал на FormatStr и любую конфигурацию получил. Согласись, иногда нужна бывает только дата, или только время. По четвертому -- не знаю куда и как округлять, а что это число потом округлить под себя нельзя, или алгоритм вывода давайте -- типа: округлить до целого, или отбросить дробное не округляя? По пятому -- а на кой черт? Поставь два компонента и получишь все, что надо все 6 (вскоре 12) методов. В стандартном тоже нет некоторых преобразований, и что теперь, ведь никто не пищит

[size=-2]------ Добавлено в 11:08
Вячеслав писал(а):
что такое дробное

Заменю на дата Real

[size=-2]------ Добавлено в 11:49
Galkov, Еще непонятно -- что выдавать на onResult при целочисленном разложении, когда все данные внизу? Как обозвать метод разложения(сшивания), тоже непонятно? И чем только тебе MT-методы не понравились? Теперь один гемор с кучей точек
карма: 22

0
Ответов: 3655
Рейтинг: 69
#77: 2007-05-26 12:10:17 ЛС | профиль | цитата
nesco писал(а):
Заменю на дата Real

Я думаю лучше привести примеры
например:
12.54.03->3.555555
карма: 0

0
Ответов: 9906
Рейтинг: 351
#78: 2007-05-26 13:13:56 ЛС | профиль | цитата
nesco писал(а):
по первому и второму пункту непонятно только одно -- а если это не MT-методы, то куда пихать данные на какую из девяти верхних точек (или семи нижних)

Не надо так горестно все методы в HiAsm - MT на прием. На передачу - это специализированные методы.
Но сейчас не тот случай - порядок и количество явно переходят разумную границу
Думаю, что для Type=XxxxxToРассыпуха на выходе и на Result если будет data_nul, то это будет не самое и плохое
В этом варианте результат на 9 нижних точках (отличается от 7 верхних наличием DayOfWeek, и ВисокоЗностью - а не наоборот)
В остальных методах - да пусть хранит чего надо...


nesco писал(а):
По третьему -- нет такого KOL-го метода

А что, Date2StrFmt(Time2StrFmt(_prop_Format, DateTime), DateTime) - не срабатывает


nesco писал(а):
По четвертому -- не знаю куда и как округлять

Знаю. Дык ничего военного вроде: прибавил константу, умножил на константу, округлил. Осталось выяснить эту первую константу: явно не начало эры, в 4Г явно не вписывается...
Подождем, может кто подскажет начало отсчета
Если не скажет, пусть будет 31 декабря 1899 года... Т.е., отнять VCLDate0=693594
Судя по тому, что Кладов говорит:
Я сделал так потому, что считаю этот тип данных удобным не только для связи с SQL-серверами, разработчики стандартов для которых решили, что раньше XX века ничего не было такого, что можно было бы посчитать



nesco писал(а):
По пятому -- а на кой черт?

Потому-что наличие этих методов - АБСОЛЮТНО нулевые затраты для не знающих про них


nesco писал(а):
И чем только тебе MT-методы не понравились?

Тем что у тебя мало шансов угадать чего надо мне.
Не надо проявлять излишний интеллект - можно запросто попасть на человека, у которого его больше, и твоя "светочь разума" в его понимании - просто глупость и помеха, вместо помощи.
Леонид писал(а):
nesco, конечно, нижние точки в количестве 4 шт - как у системного Time, в режиме времени можно выдать мсек

карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#79: 2007-05-26 14:54:16 ЛС | профиль | цитата
Galkov писал(а):
А что, Date2StrFmt(Time2StrFmt(_prop_Format, DateTime), DateTime) - не срабатывает

Нет, не срабатывает -- отсекает время и впихивает вместо него кусок от формата -- например, HH:mm. Это конечно можно попытаться сделать, но надо подумать. Самый простой вариант сшить по отличию символов.
Galkov писал(а):
Дык ничего военного вроде: прибавил константу, умножил на константу, округлил.

Точный алгоритм преобразования DateTime в VCLDate, можно? Я проверил 693594 выдает 30.12.1899, почему не 693595? И куда девать дробную часть, вообще непонятно, отсекать, считая, что новый день еще не начался, округлять, тогда до какого знака. Какая точность у VCLDate, до чего -- дней, часов, минут, секунд, миллисекунд. Проще говоря -- на что надо умножить после вычитания константы, и какая, всеже, точно константа?

[size=-2]------ Добавлено в 14:54
Я тут посмотрел, но не согласен вот с этим
Кладов писал(а):
Если же кому-то нужна совместимость с SysUtils.TDatetime, то для преобразования из KOL'овской даты в VCL'евскую достаточно прибавить константу VCLDate0 (равную 693 594, т.е. числу дней от января 1 года до 31 декабря 1899 года), а для обратного преобразования - вычесть эту же константу.
Если отсчет в SysUtils от 31 декабря 1899 года, то эта дата там должна быть равна 0, а значит, надо не прибавлять а отнимать значение константы, так как наша дата заведомо больше по значению. И значение это типа Real, а не Integer и умножать ни что не надо.
карма: 22

0
Ответов: 8926
Рейтинг: 823
#80: 2007-05-26 17:11:44 ЛС | профиль | цитата
nesco, в VCL 0,5 = 00.01.1900 12:00:00, а 1,5 = 01.01.1900 12:00:00, поэтому константа именно 693594, точность 1/64 сек (наверное зависит и от ОС), умножать ни на что не надо, ведь Real - же.
карма: 19

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#81: 2007-05-26 22:48:07 ЛС | профиль | цитата
Леонид, спасибо за информацию. Мне не важно какая константа, мне важно какой должен быть результат, а константу я подберу. Продолжу доделывать. Жаль нэт сглючил, пришлось по диалапу сконнектиться ради информации.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#82: 2007-05-27 02:16:53 ЛС | профиль | цитата
nesco писал(а):
Нет, не срабатывает -- отсекает время и впихивает вместо него кусок от формата

Чего ты мне мозги паришь
code_1472.txt
карма: 9

0
файлы: 1code_1472.txt [841B] [347]
Разработчик
Ответов: 26151
Рейтинг: 2127
#83: 2007-05-27 11:29:26 ЛС | профиль | цитата
Galkov писал(а):
Чего ты мне мозги паришь

А ведь я правильно написал так оно и есть, остается кусок от формата, надо только его второй раз проконвертировать, и чего сразу на ум не пришло, даже не знаю Большое спасибо за решение.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#84: 2007-05-27 12:44:51 ЛС | профиль | цитата
Так я тоже сразу же и написал
Galkov писал(а):
А что, Date2StrFmt(Time2StrFmt(_prop_Format, DateTime), DateTime) - не срабатывает

карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#85: 2007-05-27 15:39:21 ЛС | профиль | цитата
Galkov, во блин, точно. Плохо смотрел, невнимательно, виноват

[size=-2]------ Добавлено в 15:39
Galkov, ты почему убил FileAttributes? Вот что оно стало выдавать под FPC
hiFileAttributes.pas(55,10) Error: Identifier not found "GetFileAttributesEx"[/code] В Windows.pas под FPC эта функция закрыта.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#86: 2007-05-27 15:56:26 ЛС | профиль | цитата
И чего теперь, из-за того, что какой-то down прикрыл половину API в Windows.pas под FPC - гланды через задний проход вырезать

В 98-й - это есть, к примеру...
Критерии таких "прикрытий" мне уже давно угадать не удается...
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#87: 2007-05-27 16:37:37 ЛС | профиль | цитата
Galkov, кстати, эта функция работает под FPC. Может все функции пооткрывать и выложить обновленный файл Windows.pas?

[size=-2]------ Добавлено в 16:37
Вот выкладываю конвертор версии 2.00 и штатные компоненты, переделанные под этот конвертор. Всего три, больше не нашел.
карма: 22

0
файлы: 1DateTime_Components.zip [18.9KB] [370]
Разработчик
Ответов: 26151
Рейтинг: 2127
#88: 2007-05-28 11:16:19 ЛС | профиль | цитата
Народ! А как вам нравится HiLightMemo с разноцветной программируемой подсветкой? KOL от всемогущего Кладова (вот он там намутил, чистый архимаг) я уже пограбил внутрь компонента. Present version скоро могу выложить. Amper'y руки поотбивать некому, он совершенно не знает принципов динамической чистоты. Посоздавал StrList"ов, а очищать дядя будет.
Galkov, слушай. Как мне напрямую обратиться к полям нового TControl'a, будучи наследником WinList'a? Я сколько не пытался, никак не получается, пока new Control не создан прямым наследником TControl'a. В этом комппоненте обработчкики сообщений работают напрямую с полями TControl'a. Это меня затормозило по адаптации к нашему стандарту.
карма: 22

0
Ответов: 899
Рейтинг: 43
#89: 2007-05-28 11:39:11 ЛС | профиль | цитата
nesco писал(а):
А как вам нравится HiLightMemo с разноцветной программируемой подсветкой?

очень нравиццо, жду-не дождусь доработанной версии

кстати касаемо непосредственно подсветки
например имеется строка на С
printf("Всем привет!");
очень хочется заставить светиться всю строку, независимо от того что стоит в кавычках
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#90: 2007-05-28 11:51:08 ЛС | профиль | цитата
unalex писал(а):
очень хочется заставить светиться всю строку, независимо от того что стоит в кавычках

Вау, но ты загнул.
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)