Полный список определяет для версий Delphi

$product->pricing и $product->productInfo являются отдельными объектами, а не массивами объектов. Если вы хотите зациклить свойства объекта, вы можете использовать get_object_vars() для возврата ассоциативного массива.

foreach($pricing->categories as $category){ 

    $priceResult[] = $category->categoryCode;
    $priceResult[] = $category->category_description;

    foreach($category->products as $product){
        foreach (get_object_vars($product->pricing) as $amount) {
            $priceResult[] = $amount;
        }
        foreach (get_object_vars($product->productInfo) as $info) {
            $priceResult[] = $info->desc;
            $priceResult[] = $info->quantDetails;
        }
    }
}
29
задан Brian Tompsett - 汤莱恩 27 November 2015 в 11:36
поделиться

2 ответа

Очень, очень хороший файл включения версии Delphi - это jedi.inc из библиотеки кодов JEDI ( JCL ).

Он всегда актуален и имеет директивы, такие как DELPHI2009 или DELPHI14_UP, ... и включает в себя множество «Директив функций», таких как SUPPORTS_INT64 или SUPPORTS_UNICODE_STRING. ]

Вот ссылка на хранилище .

37
ответ дан TLama 28 November 2019 в 01:34
поделиться

Вы могли бы использовать GX_CondDefine.inc Из большого плагина gexperts :

{$IFDEF CONDITIONALEXPRESSIONS}
  {$IFDEF BCB}
    {$DEFINE GX_BCB}
  {$ELSE}
    {$DEFINE GX_Delphi}
  {$ENDIF}

  {$IF CompilerVersion >= 14}
    {$DEFINE GX_VER140_up} // Delphi 6
    {$IFDEF LINUX}
      {$DEFINE GX_KYLIX}
      {$IF RTLVersion = 14.2}
        {$DEFINE GX_KYLIX2} // Kylix 2
      {$IFEND}
      {$IF RTLVersion = 14.5}
        {$DEFINE GX_KYLIX3} // Kylix 3
      {$IFEND}
    {$ENDIF}
    {$IF CompilerVersion >= 15}
      {$DEFINE GX_VER150_up}  // Delphi 7
      {$IF CompilerVersion >= 16}
        {$DEFINE GX_VER160_up}  // Delphi 8
        {$IF CompilerVersion >= 17}
          {$DEFINE GX_VER170_up}  // Delphi 9/2005
          {$IF CompilerVersion >= 18}
            {$DEFINE GX_VER180_up}  // BDS 2006
            {$IFDEF VER185}
              {$DEFINE GX_VER185_up}  // Delphi 2007
            {$ENDIF}
            {$IF CompilerVersion >= 19}
              {$DEFINE GX_VER190_up}  // Delphi .NET 2007
              {$IF CompilerVersion >= 20}
                {$DEFINE GX_VER200_up}  // RAD Studio 2009
              {$IFEND}
            {$IFEND}
          {$IFEND}
        {$IFEND}
      {$IFEND}
    {$IFEND}
  {$IFEND}
{$ELSE not CONDITIONALEXPRESSIONS}
  Sorry, but this version of GExperts does not support the IDE
  you are using. Please visit the GExperts web site at
  http://www.gexperts.org/ to obtain more information about
  support for your IDE.
{$ENDIF}
7
ответ дан Davy Landman 28 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: