Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2012
maxi915 maxi915 is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 63
Poder: 13
maxi915 Va por buen camino
duda con un programita

HOla, no sabia bien en que lugar colocar mi mensaje, y decidi este lugar, si no es el correcto pido disculpas..

les comento que soy estudiante de analista de sistemas 2do año, tengo que hacer un programa importante (para mi nivel).
Es un programa utilizando listas enlazadas con archivos obiamente.
el problema que me surge es: yo creo el archivo con un procedimiento asi:

"Me" se refiere a metodo estructural.
----------
procedure crearMeDatos(var meDatos:tipomeDatos);
var
rc:tiporegcontroldatos;

begin
assignFILE(medatos.datos,_ruta+_archdatos);
assignFILE(medatos.control,_ruta+_archcontrol);
{$I-} //debilito el control de errores

reset(medatos.control);
if ioresult <>0
then
begin
rewrite(medatos.control);
rc.primero:=_posNula;
rc.ultimo:=_posNula;
rc.borrados:=_posNula;
rc.total:=0;
write(medatos.control,rc);
end;
reset(medatos.datos);
if ioresult <>0
then
rewrite(medatos.datos);

close(medatos.control);
close(medatos.datos);
{$I+}
end;

y luego ya en la aplicacion, al hacer clik en un "boton de altas" debo ingresar los datos ingresados en los edit correspondientes, hasta ahi joya, ahora el problema me surge en el procedimiento "abrirMe"

el boton "dar altas" lo que hace es esto:

procedure TForm2.Button1Click(Sender: TObject);
var
reg:tipoRegDatos;
pos:tipoPos;
begin
reg.clave1:=strtoint(edit1.Text);
reg.clave2:=edit2.Text;
reg.nombre:=edit3.Text;
abrirMeDatos(meDatos); <------------------------cuando entra aqui surge el problema-----------------


insertarDatos(meDatos,reg,pos);
showmessage('fue ingresado');
cerrarMeDatos(meDatos);
end;
-------------------------------
procedure abrirMeDatos( var MeDatos:tipoMeDatos);
begin
reset(medatos.datos);
reset(medatos.control);
end;


espero haberme explicado, el error que me salta es: (I/O error102).
Soy nuevo en esto de listas y me cuesta bastante y el tiempo me corre,gracias por haberlo leido y si alguien iene alguna idea es bienvenida, gracias!!!
Responder Con Cita
  #2  
Antiguo 25-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, gracias por tu colaboración.

Este mensaje no puede ir en "Debates" porque no es ningún debate, ¿verdad?, así que lo pasaré a "Varios"

Procura poner títulos descriptivos a tus preguntas, sirve luego para hacer búsquedas y tener todo bien organizado, ya que "duda con un programita" no dice nada de lo que trata en el hilo.

También recuerda usar las etiquetas/tags cuando pongas código fuente, ejemplo:




Y de momento, nada más, todas estas cosas les ocurre a los nuevos cuando todavía no han leído nuestra guía de estilo.

Por cierto, ¿has seguido paso a paso el programa con el depurador?.
Responder Con Cita
  #3  
Antiguo 25-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, si se revisa la ayuda de delphi (Runtime errors) el error es bastante claro:

Cita:
102 File not assigned

Reported by Reset, Rewrite, Append, Rename, or Erase if the file variable has not
been assigned a name through a call to Assign or AssignFile.
Posiblemente no llamas a tu procedimiento crearMeDatos antes de llamar a abrirMeDatos.

// Saludos
Responder Con Cita
  #4  
Antiguo 25-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola maxi915.

Opino del mismo modo que que roman.

También aprovecho para desaconsejarte el antiguo uso de {$IOCHECKS ON}/{$IOCHECKS OFF} en favor de [try/except].
Código Delphi [-]
procedure crearMeDatos(var meDatos:tipomeDatos);
var
 rc: tiporegcontroldatos;
begin
  AssignFile(medatos.control,_ruta + _archcontrol);
  try
    Reset(medatos.control);
  except
    Rewrite(metadatos.control);
    rc.primero  := _posNula;
    rc.ultimo   := _posNula;
    rc.borrados := _posNula;
    rc.total    := 0;
    Write(medatos.control,rc);
  end;
  Close(medatos.control);

  AssignFfile(medatos.datos,_ruta+_archdatos);
  try
    Reset(medatos.datos);
  except
    Rewrite(medatos.datos);
  end;
  Close(medatos.datos);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-08-2012 a las 00:14:43. Razón: Corregir: exept -> except
Responder Con Cita
  #5  
Antiguo 02-09-2012
maxi915 maxi915 is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 63
Poder: 13
maxi915 Va por buen camino
Problema abrirMeDatos

Hola, soy estudiante de programacion, y tengo que hacer un trabajo obligatorio, el tema es que me salta error en el procedimiento abrirMeDatos:

procedure abrirMeDatos( var MeDatos:tipoMeDatos);
begin
reset(medatos.datos);
reset(medatos.control);
end;

ya tengo creado el procedimiento crearMe en el momento de crear el formulario, pero me salta error 102 en el proc abrirMedatos.
alguna sugerencia?
Responder Con Cita
  #6  
Antiguo 02-09-2012
maxi915 maxi915 is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 63
Poder: 13
maxi915 Va por buen camino
Muchas gracias por las sugerencias, ya cambie la forma del crearMeDatos que me sugirieron.
Igualmente sigo con el mismo problema, error 102.

El procedimiento CrearMeDatos lo llamo en el TForm1.FormCreate(Sender: TObject); para que lo cree en el momento de iniciar el formulario.

no puedo solucionar el problema,igualmente gracias por los aportes
Responder Con Cita
  #7  
Antiguo 02-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola maxi915.

Combiné tus mensajes observando el punto 6 de la guía de estilo:
Cita:
Nadie me contesta

Si te encuentras en esta situación, te aconsejaría que en vez de abrir otro tema, con lo que podría perderse información previa sobre el tema que expusiste en un principio, siguieses el tema que tu mismo iniciaste en su día, escribiendo una nueva contestación. De esta manera el tema se actualizará y pasará a la cabecera del foro, y se marcará como no leido para el resto de usuarios. Así evitamos duplicar información innecesariamente.

Otro motivo por el que es posible que no te hayan contestado es porque puedes haberte explicado mal. Sería conveniente en este caso que trataras de ampliar la información que has escrito en el primer mensaje de tu tema. Así podrías ayudar al resto de usuarios a que respondan más claramente.
En cuanto al problema sería interesante poder ver la parte del código donde haces la declaración de tipos. No es necesario que sea muy detallado, solo la declaración de los tipos como para poder hacer algunas pruebas.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 02-09-2012 a las 19:46:23.
Responder Con Cita
  #8  
Antiguo 03-09-2012
maxi915 maxi915 is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 63
Poder: 13
maxi915 Va por buen camino
gracias por los aportes y disculpen mi ignorancia (mezclada con apuro) al expresar mis dudas.
les cuento que solucione el problema y estaba en que no debia declarar la variable ME_d:tipoMeDatos, al poner en uses las units que voi a utilizar parece q no es necesario declarar variables.

prometo ponerme a leer la guia de uso del foro. gracias!!
Responder Con Cita
  #9  
Antiguo 03-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por maxi915 Ver Mensaje
prometo ponerme a leer la guia de uso del foro. gracias!!
Estsá escrito, ya no puedes decir que no lo sabías
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
programita en delphi skynet Internet 10 31-08-2010 16:23:33
Busco un programita que dibuje un rectangulo transparente en la pantalla ... JoysticK Varios 4 07-08-2008 16:18:38
Mi primer programita en Delphi JoseFco Varios 12 05-01-2008 01:44:02
Hacer un programita Delphi REHome OOP 9 26-05-2006 20:21:50
soy nuevo y me urge crear un programita en DELPHI ferchmon Impresión 6 01-03-2005 13:19:59


La franja horaria es GMT +2. Ahora son las 17:19:51.


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
Copyright 1996-2007 Club Delphi