Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2011, 13:07   #21
fucil
Форумчанин
 
Регистрация: 24.02.2010
Сообщений: 148
Восклицание чет я не вкурил

что из этого следует ?
как с этим бороться ?
я в тупике не знаю что и сказать !
fucil вне форума Ответить с цитированием
Старый 01.09.2011, 13:21   #22
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

хм вот как нужно выводить массивы вариантов:
Код:
function VariantType(varVar: Variant): Integer;
begin
  Result:=(VarType(varVar));
end;

procedure PrintArrayOfVar(aVar:Variant);
var
  i,i2:Integer;
begin
  if VariantType(aVar) <> VarArray then
  begin
    i2:=VarArrayDimCount(aVar);
    for i:=VarArrayLowBound(aVar,i2) to VarArrayHighBound(aVar,i2) do
    begin
      case VariantType(aVar[i]) of
        varString: Form1.Memo1.Lines.add(Format('aVar[%d] String: %s',[i,aVar[i]]));
        varInteger: Form1.Memo1.Lines.add(Format('aVar[%d] Integer: %s',[i,IntToStr(aVar[i])]));
      end;
    end;
  end;
end;
Но т.к. aVar у нас является Variant array of Variant(Двухмерный массив???) я хз как его расплостать.
Человек_Борща вне форума Ответить с цитированием
Старый 01.09.2011, 13:27   #23
fucil
Форумчанин
 
Регистрация: 24.02.2010
Сообщений: 148
Восклицание Ой беда ...

Я же говорил тут какой то пи... хрен знает как вытащить вложение массива
Товарищи эксперты прошу вашей помощи !
fucil вне форума Ответить с цитированием
Старый 01.09.2011, 13:42   #24
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Вызывайте процедуру рекурсивно: если тип является массивом - отправляйте его в процедуру PrintArrayOfVar()
ReportCube вне форума Ответить с цитированием
Старый 01.09.2011, 15:55   #25
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

1000 рублей

(это шутка, если не понятно)
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 01.09.2011, 16:04   #26
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Там трёхмерный массив:

Цитата:
id, 1,
name, Терминалы,
priority, 50,
slug, Terminals,

id, 286,
name, Турция,
priority, 50,

id, 4845,
name, Украина,
priority, 2,
slug, Ukraine,

id, 4846,
name, Россия,
priority, 1,
slug, Russia,

id, 5687,
name, Узбекистан,
priority, 50,

id, 45412,
name, Казахстан,
priority, 5,
slug, Kazakhstan,

id, 45414,
name, Беларусь,
priority, 4,
slug, Belarus,

id, 45872,
name, Канада,
priority, 50,
slug, Canada,

id, 45878,
name, Таджикистан,
priority, 6,
slug, Tajikistan,

...
Выводится тем кодом, что я выше давал.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 01.09.2011, 16:29   #27
fucil
Форумчанин
 
Регистрация: 24.02.2010
Сообщений: 148
Восклицание Шоб ты пачку баксов нашол )) ЖЕсть

о щас буду пробывать выложи полный код плиз он у тя же есть уже !
а то у меня почему то ни ошибки ни вывода ((
Ну ты блин а еба... я тут щаслив

Последний раз редактировалось fucil; 01.09.2011 в 16:36.
fucil вне форума Ответить с цитированием
Старый 01.09.2011, 16:36   #28
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Я использовал этот код. Только в VarArrayLowBound/VarArrayHighBound отсчёт от 1, а не от 0.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 01.09.2011, 16:51   #29
fucil
Форумчанин
 
Регистрация: 24.02.2010
Сообщений: 148
Печаль ппц

чет у меня снова каке то ошибка с индексом ёма ё !
fucil вне форума Ответить с цитированием
Старый 01.09.2011, 16:53   #30
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Голову включи. VarArrayLowBound/VarArrayHighBound отсчёт от 1, а не от 0.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Variant как параметр по умолчанию Gregor Общие вопросы Delphi 4 06.05.2011 11:15
Тип Variant Дэкан1 Помощь студентам 1 21.05.2010 20:31
тип Variant Михаил Юрьевич Общие вопросы Delphi 3 31.01.2008 09:05
как variant из текста преобразовать в булин? Deceased Общие вопросы Delphi 10 18.12.2007 10:24