Size: a a a

2020 October 05

GB

George Bakhtadze in Delphi & Lazarus
МихаИл
попробовал твое предложение
str111:=v_proff_i.GetValue('fuel_begin');
                           if str111<>nil then
                           fuel_begin_i:= (str111 as TJSONString).Value
                           else
                           fuel_begin_i:= '';
там проблема не в том, что оно nil, а в том, что оно нифига не TJSONString. если было бы nil, ошибка другая была б. отладчиком смотри что там реально
источник

KB

Kit Bayun in Delphi & Lazarus
George Bakhtadze
там проблема не в том, что оно nil, а в том, что оно нифига не TJSONString. если было бы nil, ошибка другая была б. отладчиком смотри что там реально
согласен
источник

KB

Kit Bayun in Delphi & Lazarus
George Bakhtadze
там проблема не в том, что оно nil, а в том, что оно нифига не TJSONString. если было бы nil, ошибка другая была б. отладчиком смотри что там реально
к сожалению, отладчик не показывает нормально ничего, что связано с джесоном :( недопилили "просмотрщик" джесон-типов у отладчика :(
источник

GB

George Bakhtadze in Delphi & Lazarus
Kit Bayun
к сожалению, отладчик не показывает нормально ничего, что связано с джесоном :( недопилили "просмотрщик" джесон-типов у отладчика :(
причем тут жсон? тип str111 я имею в виду
источник

KB

Kit Bayun in Delphi & Lazarus
v_proff_i.GetValue() это же джейсон
источник

AK

Alexey Kulakov in Delphi & Lazarus
а точно там TJSONString возвращается? не JSONNode какой-нибудь
источник

Ш

Шляпник in Delphi & Lazarus
Во, по курсу дошёл до темы в пику последних обсуждений :)
https://ru.wikipedia.org/wiki/Null_object_(шаблон_проектирования)

думаю будет полезно в качестве повышения общего образования в ООП.
источник

Ш

Шляпник in Delphi & Lazarus
Для тех, кто не знает: в Java пустой объект = null, в Делфи = nil.
источник

AS

Alexey Shumkin in Delphi & Lazarus
до паттернов добрался! 👍 ))))
источник

Ш

Шляпник in Delphi & Lazarus
Alexey Shumkin
до паттернов добрался! 👍 ))))
да они по ходу курса разбросаны, правда из всех более-менее в голове отложился Синглтон :) блин, сколько же заморочек, за годы Делфи я с этим ни разу не сталкивался :)
источник

Ш

Шляпник in Delphi & Lazarus
оно и понятно, когда пишешь на Делфе - ты просто набиваешь логику класса формы, добавляя иногда утилитарные модули с вспомогательными функциями. В Java же ты, как ранее точно говорили, на каждый чих создаёшь отдельный класс (с). Отсюда, наверное, и бОльшие заморочки с паттернами программирования.
источник

AS

Alexey Shumkin in Delphi & Lazarus
Шляпник
да они по ходу курса разбросаны, правда из всех более-менее в голове отложился Синглтон :) блин, сколько же заморочек, за годы Делфи я с этим ни разу не сталкивался :)
ну, на фортране писать можно на любом языке программирования...
так что джава сама по себе не провоцирует использовать паттерны как таковые...
другое дело, что много существующего джава-кода написано с их применением.. и там волей-неволей их познаёшь ))
источник

Ш

Шляпник in Delphi & Lazarus
Alexey Shumkin
ну, на фортране писать можно на любом языке программирования...
так что джава сама по себе не провоцирует использовать паттерны как таковые...
другое дело, что много существующего джава-кода написано с их применением.. и там волей-неволей их познаёшь ))
ога, ещё бы в процессе познания понимать, что ты познал паттерн, а не умственную эквилибристику обдолбавшегося кофиём прогера из Тмутараканска. :)
источник

AS

Alexey Shumkin in Delphi & Lazarus
Шляпник
ога, ещё бы в процессе познания понимать, что ты познал паттерн, а не умственную эквилибристику обдолбавшегося кофиём прогера из Тмутараканска. :)
тоже верно...
так что для этого надо книжки умные читать ))
источник

Ш

Шляпник in Delphi & Lazarus
Alexey Shumkin
тоже верно...
так что для этого надо книжки умные читать ))
набуя? Если читать умные книжки из-за того, что они умные - будет только хуже. Хотя фз, я вот в Делфе прожил, не зная о существовании паттернов программирования и мне плохо не было, знал бы ... может быть бы, когда-нибудь бы и применил, получается мне бы тогдашнему сия инфа была бы левым грузом в голове. В идеале, надо читать умные обзорные источники, которые бы говорили, что мол есть такая вот "муля" и она щикарно работает примерно в таких-то и таких-то местах, если хочешь познать "мулю" - проследуй по следующему адресу и познай там дзен. Но позновать всё подряд.... такое себе решение. Я вот окунаюсь сейчас в Java, так там столько классов, которые вроде бы делают одно и то же, но нет, в какой-то финтифлюшке они отличаются и пойди разгребись, что куда пихать. На мой взгляд в Делфе с этим всё намного проще и понятнее.
источник

AW

Alex Wow in Delphi & Lazarus
МихаИл
попробовал твое предложение
str111:=v_proff_i.GetValue('fuel_begin');
                           if str111<>nil then
                           fuel_begin_i:= (str111 as TJSONString).Value
                           else
                           fuel_begin_i:= '';
Когда так пишет значит у тебя типы не совпадают . Вытаскиваешь строку ,а у тебя там массив
Грубо говоря
источник

AS

Alexey Shumkin in Delphi & Lazarus
Шляпник
набуя? Если читать умные книжки из-за того, что они умные - будет только хуже. Хотя фз, я вот в Делфе прожил, не зная о существовании паттернов программирования и мне плохо не было, знал бы ... может быть бы, когда-нибудь бы и применил, получается мне бы тогдашнему сия инфа была бы левым грузом в голове. В идеале, надо читать умные обзорные источники, которые бы говорили, что мол есть такая вот "муля" и она щикарно работает примерно в таких-то и таких-то местах, если хочешь познать "мулю" - проследуй по следующему адресу и познай там дзен. Но позновать всё подряд.... такое себе решение. Я вот окунаюсь сейчас в Java, так там столько классов, которые вроде бы делают одно и то же, но нет, в какой-то финтифлюшке они отличаются и пойди разгребись, что куда пихать. На мой взгляд в Делфе с этим всё намного проще и понятнее.
паттерны - они ж не для красного слова  и не для умничания "придуманы" (к слову, как таковые , они не придуманы, а просто обозваны и систематизированы...)

В идеале, надо читать умные обзорные источники, которые бы говорили, что мол есть такая вот "муля" и она щикарно работает примерно в таких-то и таких-то местах,
>>
С.ка, так это и есть в книгах про паттерны!.. только ты почему-то против книг  )))))) ...

на вот тебе в интернетиках:

Вы можете вполне успешно работать, не зная ни одного паттерна. Более того, вы могли уже не раз реализовать какой-то из паттернов, даже не подозревая об этом.

Но осознанное владение инструментом как раз и отличает профессионала от любителя. Вы можете забить гвоздь молотком, а можете и дрелью, если сильно постараетесь. Но профессионал знает, что главная фишка дрели совсем не в этом. Итак, зачем же знать паттерны?

Проверенные решения. Вы тратите меньше времени, используя готовые решения, вместо повторного изобретения велосипеда. До некоторых решений вы смогли бы додуматься и сами, но многие могут быть для вас открытием.

Стандартизация кода. Вы делаете меньше просчётов при проектировании, используя типовые унифицированные решения, так как все скрытые проблемы в них уже давно найдены.

Общий программистский словарь. Вы произносите название паттерна, вместо того, чтобы час объяснять другим программистам, какой крутой дизайн вы придумали и какие классы для этого нужны.

https://refactoring.guru/ru/design-patterns/why-learn-patterns


Из чего состоит паттерн?
Описания паттернов обычно очень формальны и чаще всего состоят из таких пунктов:

проблема, которую решает паттерн;
мотивации к решению проблемы способом, который предлагает паттерн;
...
https://refactoring.guru/ru/design-patterns/what-is-pattern
источник

AS

Alexey Shumkin in Delphi & Lazarus
Шляпник
набуя? Если читать умные книжки из-за того, что они умные - будет только хуже. Хотя фз, я вот в Делфе прожил, не зная о существовании паттернов программирования и мне плохо не было, знал бы ... может быть бы, когда-нибудь бы и применил, получается мне бы тогдашнему сия инфа была бы левым грузом в голове. В идеале, надо читать умные обзорные источники, которые бы говорили, что мол есть такая вот "муля" и она щикарно работает примерно в таких-то и таких-то местах, если хочешь познать "мулю" - проследуй по следующему адресу и познай там дзен. Но позновать всё подряд.... такое себе решение. Я вот окунаюсь сейчас в Java, так там столько классов, которые вроде бы делают одно и то же, но нет, в какой-то финтифлюшке они отличаются и пойди разгребись, что куда пихать. На мой взгляд в Делфе с этим всё намного проще и понятнее.
про джаву соглашусь, но паттерны - они не про джаву вовсе ))
а про организацию кода так, чтобы его , в том числе, было легче поддерживать...
источник

Ш

Шляпник in Delphi & Lazarus
Не ругайся, :) просто в последнее время мне столько не просто умных, а заумных книжек пришлось прочесть, причем в переводе с "американского", что просто тошнит от одного упоминания об "умных" книгах.
источник

AK

Alexey Kulakov in Delphi & Lazarus
...для того и придуманы обфусикаторы :)))
источник