![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
variant massiv [D7]
Екатерина © (2012-04-02 08:59:00)Помогите найти ошибку, пожалуйста. Нужно найти 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;
han_malign (2012-04-02 15:36:00) [1]
> Значение Null указывает на наличие в переменной данных неизвестного
> типа или потерю данных.
- значение Null(V.VType=varNull) - это вполне конкретное значение троичной логики, в отличие от Unassigned(V.VType=varEmpty) - как раз - явнозадаваемое...
(Null и Unassigned отличаются исключительно значением V.VType)
З.Ы. Если что - varUnknown - тоже отнюдь не " данные неизвестного
типа", а указатель на интерфейс унаследованный от IUnknown...
(OLE)VARIANT - относится к OLE Automation - и данных неизвестного типатам не может(не должно) быть в принципе(чисто концептуально), а потеря данныхобычно сигнализируется через SEH...
Anatoly Podgoretsky (2012-04-02 10:57:00) [2]> Екатерина (02.04.2012 10:21:10) [10]
Чего пробовать, просто пользуйся и прочитай про варианты, что это такое, как
оно хранится.
Екатерина (2012-04-02 10:21:00) [3]Anatoly Podgoretsky, спасибо большое. буду пробывать
Anatoly Podgoretsky (2012-04-02 10:06:00) [4]> Екатерина (02.04.2012 09:57:08) [8]
Семейство функций VarIs???
Екатерина (2012-04-02 09:57:00) [5]
> Для вариантов есть специальная функция.
подскажите, пожалуйста, какая функция
Anatoly Podgoretsky (2012-04-02 09:52:00) [6]> Екатерина (02.04.2012 09:49:05) [5]
Поэтому прямое сравнение не возможно.
Екатерина (2012-04-02 09:51:00) [7]
> Для вариантов есть специальная функция.
подскажите, пожалуйста, какая функция
Екатерина (2012-04-02 09:49:00) [8]Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных. Разницу между этими двумя значениями трудно уловить. Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.
Екатерина (2012-04-02 09:49:00) [9]
> Что такое null? Есть nil, а для вариантов unassigned
Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных. Разницу между этими двумя значениями трудно уловить. Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.
Anatoly Podgoretsky (2012-04-02 09:37:00) [10]Для вариантов есть специальная функция.
Dimka Maslov (2012-04-02 09:25:00) [11]Что такое null? Есть nil, а для вариантов unassigned
sniknik (2012-04-02 09:19:00) [12]> Помогите найти ошибку
ошибка
d1[i,j] = null