Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Свой тип данных или "Чего я хочу?" ))  (Прочитано 8405 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
NeferSky
Постоялец

ua
Offline Offline
Бессмертный


« : 16-01-2017 10:50 » 

Добрый день.
Помогите подумать Улыбаюсь Сам пока не пойму, чего именно хочу Отлично
Ситуация такая: работаю в D7 и MSSQL 2012. В MSSQL есть такой тип данных - "uniqueidentifier", aka "GUID". В делфи могу им пользоваться приводя к string. Но при этом еще надо дописывать кавычки. При написании запроса получается что-то типа
Код:
ADOQuery1.SQL.Text := 'select * from table where id = '''{6F9619FF-8B86-D011-B42D-00CF4FC964FF}'''';

Вот хочется как-то упростить эти кавычки, чтобы можно было просто присваивать строку в переменную, а потом из переменной подставлять в запрос.
- Можно использовать параметры. Но в некоторых запросах заранее не знаешь, сколько этих параметров будет. Да и подставлять туда тоже, наверное, с кавычками придется?
- Можно реализовать и класс, который будет уметь принимать/возвращать значение как простую строку и как uniqueidentifier, то есть уже с кавычками. Но возникает другой момент - с класса надо будет каждый раз создавать объект, убивать его. К свойствам обращаться. А хочется, чтобы с этим нечто можно было бы работать так же легко, как с обычным string.
- В новых версиях, я видел, можно и типы свои создавать, переопределяя операторы в record, но в D7 этого еще нет.

Так вот вопрос: чего бы такое с этим придумать? Класс без конструктора что ли какой-нибудь?
Записан

Не тронь налаженный механизм, и он тебя не подведет.
Делать надо хорошо, а плохо - само получится.
SCRIBE
Гость
« Ответ #1 : 16-01-2017 11:04 » 

Entity framework своими руками? нет уж, извольте=)
« Последнее редактирование: 16-01-2017 11:14 от ..::SCRIBE::.. » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 16-01-2017 11:16 » 

NeferSky, упаси боже рисовать таких уродцев! Используй биндинги.
https://www.google.ru/?gfe_rd=cr&ei=Oat8WN3_IoX07gTaroPAAQ&gws_rd=ssl#newwindow=1&q=delphi+ado+binding
« Последнее редактирование: 16-01-2017 11:18 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
NeferSky
Постоялец

ua
Offline Offline
Бессмертный


« Ответ #3 : 16-01-2017 12:10 » 

RXL, биндинг не совсем то... Все равно, спасибо)

..::SCRIBE::.., ну уж не весь фреймворк))
Записан

Не тронь налаженный механизм, и он тебя не подведет.
Делать надо хорошо, а плохо - само получится.
SCRIBE
Гость
« Ответ #4 : 16-01-2017 12:41 » 

- Можно реализовать и класс, который будет уметь принимать/возвращать значение как простую строку и как uniqueidentifier, то есть уже с кавычками. Но возникает другой момент - с класса надо будет каждый раз создавать объект, убивать его. К свойствам обращаться. А хочется, чтобы с этим нечто можно было бы работать так же легко, как с обычным string.

Не всегда надо явно создавать объекты, есть Class Static Methods:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Methods
Записан
NeferSky
Постоялец

ua
Offline Offline
Бессмертный


« Ответ #5 : 16-01-2017 13:41 » new

..::SCRIBE::.., о! То, что нужно! Спасибо большущее! Я вот и не знал, что class var и class property тоже можно делать. Пойду теперь изобретать свой велосипед))
Записан

Не тронь налаженный механизм, и он тебя не подведет.
Делать надо хорошо, а плохо - само получится.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines