Inicio > Delphi > vctr2003 > arreglos

arreglos

Experto:
Usuario:
Fecha: 01/06/2004
Valoración: (2,00 sobre 5) Categoría: Delphi
31/05/2004
lailajordan, usuario preguntando en Delphi
Usuario
tengo una duda hice un programa de llenar un arreglo pero al momento de guardar los datos si el arreglo estaba lleno me mandaba un mensaje de que estaba lleno pero resulta que meto y meto informacion y no aparece el error porfa ayudenme
asi guardo el tamano del arreglo
N:= STRTOINT(INPUTBOX('TAMAÑO','DAME EL TAMAÑO DEL ARREGLO:',''));
SETLENGTH(A,N);

aqui guardo el valor de z
procedure TForm1.FormActivate(Sender: TObject);
begin
z:=0;
end;


y asi lo guardo pero no funciona
procedure TForm1.Button2Click(Sender: TObject);
begin

z:=0;
band:=false;
FOR y:= 0 TO (N-1) DO
BEGIN
IF EDIT1.TEXT = A[y].CLAVE THEN
begin
SHOWMESSAGE('LA CLAVE YA EXISTE');
band:=true;
end;
END ;

if band= false then
begin

if z <=(N-1) then
begin

A[z].CLAVE:=EDIT1.TEXT;
A[z].NOM:=EDIT2.TEXT;
A[z].APE:=EDIT3.TEXT;
z:=z+1;
end


else
SHOWMESSAGE('EL REGISTRO ESTA LLENO');
end;
end;
31/05/2004
lailajordan, experto respondiendo en Delphi
Experto
Hola

El problema esta aqui

procedure TForm1.Button2Click(Sender: TObject);
begin
z:=0; //Con esta linea, siempre sobreescribes la primera posicion del arreglo

band:=false;
FOR y:= 0 TO (N-1) DO
BEGIN
...

tienes que dejar z como puntero a tu proxima posicion libre.
Te recomiendo que hagas una funcion que te muestre el contenido del todo el arreglo, eso te mostrara el problema mas claramente.

Saludos

Victor
01/06/2004
lailajordan, usuario preguntando en Delphi
Usuario
Regular. Podría haber puesto más interés
Más opciones
Enlaces patrocinados
Respuestas relacionadas