Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

variant massiv   Найти похожие ветки 

 
Екатерина   (2012-04-02 08:59) [0]

Помогите найти ошибку, пожалуйста. Нужно найти null элемент двумерного массива и его окружение (предварительно считываю массив d1 из excel,и затем его данными заполняю massiv)

massiv := VarArrayCreate([0,(K-1),0,(kolich-1)],varVariant);
for i:=0 to VarArrayHighBound(massiv,1) do
 for j:=0 to VarArrayHighBound(massiv,2) do
   massiv[i,j]:=d1[i,j];
for i:=0 to (K-1) do
 for j:=0 to (kolich-1) do begin
  if ((d1[i,j] = null) and ((d1[i-1,j-1]) <> null) and (d1[i-1,j]) <>  null) and (d1[i,j-1]) <>  null) ) )  then do
   d1hint[i,j] :=(d1[i,j-1]*d1[i-1,j])/d1[i-1,j11];

   if (d1[i,j] = null) and (d2[i,j-1])  <>  null)
                               (d1[i+1,j-1])<> null)
                               (d1[i+1,j])<> null)    then do
   d2hint[i,j] :=(d1[i,j-1]*d1[i+1,j])/d1[i+1,j-1];

   if (d1[i,j] = null) and (d2[i-1,j) <> null)
                               (d1[i+1,j+1])<> null)
                               (d1[i,j+1])<> null)    then do
   d1hint[i,j] :=(d1[i-1,j]*d1[i,j+1])/d1[i-1,j+1];

   if (d1[i,j] = null) and (d2[i,j+1) <> null)
                               (d1[i+1,j])<> null)
                               (d1[i+1,j+1])<> null)    then do
   d1hint[i,j] :=(d1[i+1,j]*d1[i,j+1])/d1[i+1,j+1];

                      end;


 
sniknik ©   (2012-04-02 09:19) [1]

> Помогите найти ошибку
ошибка
d1[i,j] = null


 
Dimka Maslov ©   (2012-04-02 09:25) [2]

Что такое null? Есть nil, а для вариантов unassigned


 
Anatoly Podgoretsky ©   (2012-04-02 09:37) [3]

Для вариантов есть специальная функция.


 
Екатерина   (2012-04-02 09:49) [4]

Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных. Разницу между этими двумя значениями трудно уловить. Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.


 
Екатерина   (2012-04-02 09:49) [5]


> Что такое null? Есть nil, а для вариантов unassigned

Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных. Разницу между этими двумя значениями трудно уловить. Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.


 
Екатерина   (2012-04-02 09:51) [6]


> Для вариантов есть специальная функция.

подскажите, пожалуйста, какая функция


 
Anatoly Podgoretsky ©   (2012-04-02 09:52) [7]

> Екатерина  (02.04.2012 09:49:05)  [5]

Поэтому прямое сравнение не возможно.


 
Екатерина   (2012-04-02 09:57) [8]


> Для вариантов есть специальная функция.

подскажите, пожалуйста, какая функция


 
Anatoly Podgoretsky ©   (2012-04-02 10:06) [9]

> Екатерина  (02.04.2012 09:57:08)  [8]

Семейство функций VarIs???


 
Екатерина   (2012-04-02 10:21) [10]

Anatoly Podgoretsky, спасибо большое. буду пробывать


 
Anatoly Podgoretsky ©   (2012-04-02 10:57) [11]

> Екатерина  (02.04.2012 10:21:10)  [10]

Чего пробовать, просто пользуйся и прочитай про варианты, что это такое, как
оно хранится.


 
han_malign   (2012-04-02 15:36) [12]


> Значение Null указывает на наличие в переменной данных неизвестного
> типа или потерю данных.

- значение Null(V.VType=varNull) - это вполне конкретное значение троичной логики, в отличие от Unassigned(V.VType=varEmpty) - как раз - явно задаваемое...
(Null и Unassigned отличаются исключительно значением V.VType)

З.Ы. Если что - varUnknown - тоже отнюдь не "данные неизвестного
типа
", а указатель на интерфейс унаследованный от IUnknown...

(OLE)VARIANT - относится к OLE Automation - и данных неизвестного типа там не может(не должно) быть в принципе(чисто концептуально), а потеря данных обычно сигнализируется через SEH...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.073 c
2-1328430400
FIL-23
2012-02-05 12:26
2013.03.22
переменная типа memo


4-1227867160
dmitry_12_08_73
2008-11-28 13:12
2013.03.22
Запрещение реакции на нажатие кнопки WIN на клавиатуре


15-1354259144
Mikishanya
2012-11-30 11:05
2013.03.22
элемент selec с javascript


15-1339431392
Рамон
2012-06-11 20:16
2013.03.22
Подскажите мотивирующий фильм.


15-1351869908
Dennis I. Komarov
2012-11-02 19:25
2013.03.22
ОКУД: xml + xsl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский