Foros del Web » Programación para mayores de 30 ;) » Programación General »

Duda en pascal!!!

Estas en el tema de Duda en pascal!!! en el foro de Programación General en Foros del Web. En este programa lo que intento es sacar una serie de palabras que estan almacenadas en un archivo, las cuales las levanto en un arreglo ...
  #1 (permalink)  
Antiguo 06/12/2004, 17:59
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Duda en pascal!!!

En este programa lo que intento es sacar una serie de palabras que estan almacenadas en un archivo, las cuales las levanto en un arreglo (asumo que son 30 registros) pero cuando pongo el : "arreg_palab[cont]:=pal", me envia un error y no se la causa...

Aqui esta en codigo, lo compile en Turbo Pascal 7 de Borland :

Program archivo;
uses
Crt,dos;
type
arreg_palab = array[1..30] of string;
struct_palabra = record
pal:string;
end;

Var
arch_pal : file of struct_palabra;
palab:struct_palabra;
arch:text;
palabra:string;
op:integer;
cont,num_rand:integer;
cont:=0;


begin
assign(arch_pal, 'a:archiv.dat');
{$i-};
reset(arch_pal);
{$i+};
if ioresult<>0 then
begin
rewrite(arch_pal);
end;
while not eof(arch_pal) do
begin
read(arch_pal,palab);
cont:=cont+1;
with palab do
begin
writeln (pal);
arreg_palab[cont]:=pal;{Aqui es donde se pone el error }
end;
end;
end.


Saludos

P.D.
Si me pase en algun Begin o end no le presten atencion

Última edición por Yashiro; 06/12/2004 a las 18:02
  #2 (permalink)  
Antiguo 06/12/2004, 19:51
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 21 años, 10 meses
Puntos: 0
No estoy muy seguro pues hace mucho que no toco pascal, pero creo que es por lo siguiente:

Cuando pones:
type
arreg_palab = array[1..30] of string;

estás definiendo el tipo, hasta ahi todo bien pero al usar:

arreg_palab[cont]:=pal;

no puedes hacerlo ya que es un tipo y no una variable, tendrías que definir en el apartado de variables algo asi como:

var_arreg_palab : arreg_palab;

y hacer la asignación:

var_arreg_palab[cont]:=pal;

Creo que tu problema es ese. Espero te sirva de ayuda :)
  #3 (permalink)  
Antiguo 14/01/2009, 15:31
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Duda en pascal!!!

Creo que le problema es que estas utilizando el tipo record como una variable normal. Prueba esto:

var
estrucPal : struct_palabra; {le asignas el tipo record a una variable}

writeln (estrucPal.pal);
arreg_palab[cont]:= estrucPal.pal ;

Aún que en mi opinion creo que el record sobraría pues se suele usar para definir un conjunto de elementos, del mismo tipo o diferente.

ejemplo:

type

tPersona= record
nombre: string;
apellidos: string;
sexo: char;
estudiante: boolean;
end;


Saludos

Última edición por luna8; 14/01/2009 a las 15:53
  #4 (permalink)  
Antiguo 14/01/2009, 23:12
Avatar de Yashiro  
Fecha de Ingreso: mayo-2004
Mensajes: 139
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Duda en pascal!!!

Muchas Gracias por la ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.