Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Arreglos (https://www.clubdelphi.com/foros/showthread.php?t=3752)

Lobo 18-09-2003 20:11:10

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..!!!

roman 18-09-2003 21:01:29

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

Lobo 18-09-2003 21:10:54

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.!!!

delphi.com.ar 19-09-2003 00:09:19

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;

Saludos!


La franja horaria es GMT +2. Ahora son las 16:29:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi