Varios comentarios a tu codigo
Cita:
Posteado originalmente por esquerda21
procedure TForm1.Button1Click(Sender: TObject);//Genera el array
var
i: integer;
begin
i:= 1;
repeat
SetLength(matriz1,i);
matriz1[i-1].x1:= i - 1;
matriz1[i-1].y1:= i + 1;
i:= i + 1;
until i = max;
end;
|
El SetLength solo hace falta hacerlo una vez, por lo que lo puedes quitar del repeat
Código:
procedure TForm1.Button1Click(Sender: TObject);//Genera el array
begin
SetLength(matriz1,i);
for i := 1 to max do
begin
matriz1[i-1].x1:= i - 1;
matriz1[i-1].y1:= i + 1;
end;
end;
Y, no crees que queda mas elegante el codigo (en este caso) con el uso de una sentencia repetitiva como FOR en lugar de REPEAT?
Cuando se utilizan contadores (como es el caso de tus REPEATS aqui), lo mas elegante y claro es utilizar bucles de tipo FOR (aparte de ahorrarnos algunas lineas de codigo

)
Con respecto a la forma de grabar el fichero, puede que te interese abrirlo luego con un NotePad y ver su contenido (tal y como lo haces). Si no es el caso, graba la estructura directamente con el write
Código:
procedure TForm1.Button2Click(Sender: TObject);//Crea el archivo TXT
begin
AssignFile(F, 'd:\delphi5\basura\pro.txt');
Rewrite(F);
for i := 1 to max do
Write(F, matriz1[ i ]);
CloseFile(F);
end;
y claro, declarando F no como un TextFile sino...
F: file of matriz;
como tienes en tu linea comentada
PD: como ya he dicho en otras ocasiones, no me gusta meterme donde no me llaman, pero, mientras escribes el mensaje, si te fijas, debajo del cuadro donde estas escribiendo (y por debajo de los botones de
Submit Reply y
Preview Reply, tienes TODO el hilo, con sus respuestas y autores de las mimas