error en AssignFile
Hola a todos nuevamente en el foro esta vez para pedir ayuda porque este problema me esta volviendo loco, el asunto es que deseo crear un archivo binario con tipo pero me da error el codigo que utilizo es el siguiente
procedure carga_config; var config:registro; archivo: file of registro; begin {$i-} AssignFile(archivo,'domo.cgf'); reset(arch); blockread(arch,sizeof(registro); CloseFile(configa); {$I+} el error esta en AssignFile y es el siguiente: [Error] domo.pas(208): There is no overloaded version of 'AssignFile' that can be called with these arguments alguien podria explicarme que ocurre y como lo soluciono? desde ya muchas gracias |
Bueno una tonteria!!, Pero! estas seguro que la aplicacion se esta ejecutando en el mismo lugar que se encuentra el domo.cfg?
Yo te aconsejaria que utilises el path completo, ya que algunas veces se pierde la ruta. Podrias vefiricarl o con
o mostrar un mensaje de que el archivo no existe. Saludos |
Cita:
porque hay varias cosas que no me cuadran...
En la ayuda de Delphi 6, viene la siguente declaracion de BlockRead: Y creo que por eso el compilador te da ese error, no por el assignfile, sino por el blockread... |
Cita:
Creo que no leimos bien!1 Si es crear, cambia el RESET, por REWRITE ya que reWrite si el archivo no existe lo crea, y si existe lo hace Bosta :D |
Cita:
ESTAS HACIENDO UN ASSING a "ARCHIVO" pero Reseteas ARCH!!!!!! en block Read como dijo "defcon1_es" esta incompleto!! y por ultimo!! estas Cerrando cualquier cosa!! CloseFile(configa) calculo que querras decir!! config!! pero de todos modos. tendria que ser "archivo" o en el peor de los casos "arch" fijate y eso contanos como va la cosa |
assignfile
ok en 1º er lugar quiero agradeser la pronta repuesta y 2º quiero disculpame pues copie un bloque del programa que estava en proceso de modificacion y esta por ende no tiene sentido
el codi real es: type registro = record salida : array[1..8]of integer; clav1:string[30]; clav2:string[30]; saludo:string[30]; menu: array [1..8]of string[50]; articulo:array[1..8]of string[30]; ring:integer; end; procedure TForm1.Button1Click(Sender: TObject); var reg:registro; arch:file of registro; begin assignfile(arch,'c:\domo\config.dat'); reset(arch); read(arch,reg); end; el error se produce en assignfile y el error es: [Error] domo.pas(208): There is no overloaded version of 'AssignFile' that can be called with these arguments |
A ver, Podrias contarnos que version de delphi estas usando?
ya que al parecer todo funciona todo bien.. yo lo probre y no me da error! estoy trabajando con delphi 5 y si lo depuras paso a paso.. en que linea te da el error exactamente |
uso delphi7 y el error es el la linea de assingnfile.lo extraño es que genro una nueva aplicacion pruevo este codigo y funciona correctamemte asi que no se que puede estar pasado, en la plaicacion donde falla es la unica estructura que utilizo y tambien es el unico archivo que manejo. la plicacion corre sobre xp sp2
desde ya muy agradecido por responder |
El problema lo veo muy raro porque en Delphi 7, los parámetros que le pasas deben funcionar sí o sí. Lo único que se me ocurre es que ese AssignFile no sea el que todos estamos pensando, lo cual podría ocurrir si estás incluyendo alguna unidad que tenga un procedimiento con ese mismo nombre. Sea esto o no, pon el cursor del ratón sobre el nombre del procedimiento y verifica que el hint diga System.AssignFile, y revisa que la lista de parámetros (Ctrl+Shift+Espacio) sea en efecto (var F: File; FileName: String).
// Saludos |
OK roman sos un genio, te comento que todo estva bien uncluso verifique lo que me digiste pero merche preso no funciono, finalmente se me ocurrio la siguiente solucion
System.AssignFile(var F: File; FileName: String); de esta forma funciona de 10 estoy muy agradecido por la hayuda de todos |
La franja horaria es GMT +2. Ahora son las 19:40:06. |
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