FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Arreglos
Alguien me puede ayudar con respecto a la sintaxis del procedure VarClear(var V : Variant); lo cual necesito para limpiar un arreglo que se crea con el VarArrayCreate..!!!
|
#2
|
||||
|
||||
No entiendo bien cuál es tu duda. VarClear "desasigna" el "variant".
VarClear(V) es lo mismo que V := Unassigned Por favor especifica un poco más. // Saludos |
#3
|
|||
|
|||
TablaBoletos esta declarada como variant;
Creo un arreglo en el cual guardo valores de 1 .. count (n) , pero necesito limpiarlo o borrarlo cada vez que se crea ya que me marca el siguente error: 6532ORA-06532; Subscript outside of limit cuando lo hago 10 veces consecutibvas... TablaBoletos := VarArrayCreate([1, lista.Items.count], varVariant); for i := 1 to lista.Items.count do tablaboletos[i] := lista.items[i - 1]; Espero haya sido mas explicito... Saludos.!!! |
#4
|
||||
|
||||
Primero quiero decirte que soy partidario de evitar utilizar tipos Variant, y segundo que no se que es lo que quieres hacer pero no me parece lógico sacar los datos de un tipo "TString" a algo mas primitivo para trabajarlos, vos sabrás.
Con VarClear limpias la variable completa... no limpias cada item del array!!.. es como si fuera un puntero apuntado a 0. Si lo que quieres es limpiar los valores de cada item del array, puedes hacer algo como lo que te escribo aqui: Código:
procedure VarArrayClear(AValue: Variant); var lBound, hBound, i: Integer; begin if not VarIsArray(AValue) Then raise Exception.Create('Invalid Variant Type'); lBound := VarArrayLowBound(AValue, 1); hBound := VarArrayHighBound(AValue, 1); for i := lBound to hBound do AValue[i] := Null; end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|