Hola Ezequiel,
Estoy intentando entender tu muestra de código. Lo único que estoy apreciando son unas definiciones de tipos. En tu caso me queda bien en claro que estás definiendo dos registros: siembra y empresa. El 2do (Empresa) a su vez define un vector de tamaño fijo (20 elementos) del 1er tipo (Siembra). Hasta allí entiendo bien.
Para usar estos dos un ejemplo sería algo así:
// defino una variable de tipo Empresa. Aunque sugiero anteponer el prefijo T a los tipos.
var MiEmpresa: Empresa;
// código de ejemplo de uso:
begin
MiEmpresa.Nombre := 'Fulanito Corrupto S.A';
MiEmpresa.ciudad := 'Ciudad Donde lavo plata';
// Aquí como se usa el vector de siembra
MiEmpresa.vector[1].Siembra := 'Lechuga';
MiEmpresa.vector[1].Meses := 6; // El ciclo de la lechuga puede hacerse anual
MiEmpresa.vector[1].Tipo := 'Hortaliza'; //¿A esto se refiere por tipo?
MiEmpresa.vector[1].Hectareas := 4;
end;
Ahora, lo que sigue no está del todo claro, ¿Que es lo que pretendes? Ahí falta mucho más. Pareciera que pretendes definir una lista dinámica. Si es el caso lo estás haciendo mal. Así se define una lista enlazada por medio de punteros:
PNodo = ^TNodo; // El prefijo "P" se suele usar para indicar que es un puntero
// El prefijo "T" para indicar que es un tipo.
TNodo = record
Item: TItem; // Aquí el tipo del item a colocar
Sig: PNodo;
Ant: PNodo; // Sólo si va a ser lista doble enlazada
end;
Vas a tener que comentarnos bien el problema y mostrarnos el código tal como lo tienes. De otra forma no sabremos decirte que está bien, que está mal, que podría mejorarse, etc. No está demás decir que si el compilador te da errores que nos los digas cuáles, y nos muestre las líneas de código en donde aparecen.
Saludos,