Массив логических значений в число

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Массив логических значений в число

Сообщение Yufil »

Делал когда-то перехват GetIni-Putini с заменой оных на свои процедуры. Вместо автоматического сохранения в каталоге windows файл конфигурации копировался в недра %APPDATA% , при считывании исправлялись координаты окон xpos-ypos-width-height, дабы окна за край экрана не уползали. Ну и само хранение можно было написать по вкусу (я хранил в стандартном формате ini, но убирал пустые реквизиты). Есть желание-подниму...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8025
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 95 раз

Массив логических значений в число

Сообщение Игорь Столяров »

RaFaeL писал(а): Быстрее читаются настройки -> быстрее запускается программа -> более радостные пользователи
Мне почему-то кажется, что время преобразования числа в массив и обратно, значительно уменьшит радость пользователей от увеличения скорости обмена. Мы храним такие матрицы настроек в строках и никаких заморочек с преобразованием. Ну или по крайне мере эти настройки читабельны при просмотре БД ...
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Массив логических значений в число

Сообщение RaFaeL »

Yufil писал(а): evaluate('0' & str & ''b') не преобразует ?
Можно попробовать. А обратно?

Про перехват интересно!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Массив логических значений в число

Сообщение RaFaeL »

Игорь Столяров писал(а): Мне почему-то кажется, что время преобразования числа в массив и обратно, значительно уменьшит радость пользователей от увеличения скорости обмена.
Ой ну точно нет, преобразование целых чисел в памяти это быстрее быстрого
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8025
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 95 раз

Массив логических значений в число

Сообщение Игорь Столяров »

Я имел ввиду вариант с evaluate('0' & str & ''b') - он не будет быстрым. Хотя все нужно мерить и смотреть конечно.
Make Clarion Great Again ! 😎
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Массив логических значений в число

Сообщение Yufil »

Вынул из FreeAbc, сам когда-то пользовал

Код: Выделить всё

MODULE('C')
    vsL2A                        (LONG, *CSTRING, ULONG), CSTRING, RAW, NAME('_ltoa')
    vsA2L                        (*CSTRING), LONG, RAW, NAME('_atol')
 END

Код: Выделить всё

LongToHex PROCEDURE(LONG pValue)
Temp CSTRING(32)
  CODE
  RETURN CLIP(UPPER(vsL2A(pValue,Temp,16)))
Сильное подозрение, что если 16 заменить на 2, то будет самое оно...
kreator
✯ Ветеран ✯
Сообщения: 5158
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Массив логических значений в число

Сообщение kreator »

RaFaeL писал(а):Вот такой пример - приложение хранит ini в каталоге с базой, база на сервере.
А зачем на сервере? Если это настройки для конкретного пользователя, то нужно хранить на машине пользователя. Если общие, то в самой базе.
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Массив логических значений в число

Сообщение RaFaeL »

kreator писал(а): А зачем на сервере? Если это настройки для конкретного пользователя, то нужно хранить на машине пользователя.
Идеология такая, что на компьютере пользователя вообще ничего не хранится, кроме ярлыка к программе. Всё на сервере

Вообще, конечно, хотелось бы уйти от ini файлов в принципе, но надо глобально всё переделывать... и не факт, что чтение/запись всех этих положений окон и т.п. в SQL будет быстрее в итоге, может и наборот быть
Последний раз редактировалось RaFaeL 28 Декабрь 2015, 20:36, всего редактировалось 1 раз.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Массив логических значений в число

Сообщение Yufil »

Фрагмент из действующей (скорее всего, помершей от старости) программы. В начале работы исполняется setmyiniproc() , после чего GetIni и PutIni подменяются на процедуры MyGetIni и MyPutIni, а как их реализовать-дело хозяйское.
myini.zip
(2.93 КБ) 160 скачиваний
kreator
✯ Ветеран ✯
Сообщения: 5158
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Массив логических значений в число

Сообщение kreator »

RaFaeL писал(а):и не факт, что чтение/запись всех этих положений окон и т.п. в SQL будет быстрее в итоге, может и наборот быть
Да быстрее, факт. Но это, действительно, идеологически всё по-другому. И, думаю, найдутся проколы в этой схеме. INI-файл всё же довольно гибкая структура в отличии от таблиц БД.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Массив логических значений в число

Сообщение Admin »

RaFaeL писал(а):не факт, что чтение/запись всех этих положений окон и т.п. в SQL
А вот тут подтверждаю. К примеру MAV. Были у меня процедуры GetOption и PutOption для SQL. На 40-50 опциях начинала тормозить загрузка программы. Пришлось добавить GetAllOptions которая одним селектом все грузит в очередь. А GetOption уже дергает оттуда.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Массив логических значений в число

Сообщение Yufil »

Я бы хранил параметры в старом добром TPS. А SQL-баловство это...
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Массив логических значений в число

Сообщение Admin »

Yufil писал(а): Я бы хранил параметры в старом добром TPS. А SQL-баловство это...
У нас все мутно.
Настройки окон и формат бровзов хранится мавом в реестре.
Локальные настройки пользователя в INI файле в \Users\[username]\AppData\Local
Настройки подключения в INI файле в папке с программой.
Глобальные настройки конфигурации в SQL таблице.
У нас такая каша еще и из за того что пользователь может работать с кучей разных баз. При авторизации есть выбор базы, сервера и т.д.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ответить