• Viernes 17 de Mayo de 2024, 00:34

Autor Tema:  Problema con la segunda lista  (Leído 8448 veces)

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #25 en: Miércoles 21 de Mayo de 2003, 08:49 »
0
Buenas,

gracias por el archivo zip, lo estuve probando y me da problemas en la compilacion al linkarlo, me dice:

Undefined symbol _BuscaFiles in module ....radarmanjuank.c

Pero lo que voy a intentar hoy es hacerlo mismo pero con mi programa, ya te dire como va la cosa.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #26 en: Miércoles 21 de Mayo de 2003, 14:09 »
0
eso se debe a que lo estas compilando mal,
hay dos formas:
1-abriendo los tres archivos al tiempo en tu compilador... me refiero a juank.c, filework.c y listwork.c, y luego compilarlo.
2-crea un proyecto sea cual sea la aplicacion que uses y una vez hecho esto agrega los 3 archivos, por lo general al proyecto no se agregan los .h y listo.


juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #27 en: Viernes 23 de Mayo de 2003, 14:29 »
0
Hola Juank,

soy un inutil redomado, me he convencido de ello, no consigo utilizar lo que me has madnado para mi programa, intento hacerlo lo mismo pero mandando los adtos que tengo que mandar yo, osea el nombre del archivo, su pafd, y todo eso y me digue dando los mismos problemas, con lo que creo que no voy a poder acabar la practica, pero que se le va hacer.

Muchas gracias por tu ayuda, si has mirado algo mas del programa que te envie dimelo y a ver si lo puedo equipara a lo mio luego.

Un saludo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #28 en: Viernes 23 de Mayo de 2003, 16:03 »
0
Si no pudiste utilizar mi funcion... no te des por vencido, de todos modos asi es como se aprende, pero tambien debes tebner en cuenta el tiempo, asi que dedicate al resto de tu programa, para que por lo menos lo termines en una version alpha...no te enfrasques en una sola cosa..por esta semana, y hasta el viernes 30 de junio lo mas seguro es que no te pueda ayudar en nada porque estoy haciendo un trabajo para la universidad...
te cuento que aprendi java hace como 3 años y ni mas... y esta vez me pusierion un trabajo para el examen final.. tengo que hacer  una aplicacion que utilice sockets o rpc bajo cualquier lenguaje...incluso bajo flash, cualquier aplicacion sencilla, pasar un archivo, mostrar un texto..en fin cosas basicamente faciles...

Pero como el profesor me vio algo aventajado y es fanatico de java, me dijo que lo hiciera en java y que se manejara a manera de comunicacin entre peers, yo decidi hacer un juego de triqui en red, y me dispuse a hacerlo con lo poco que me acordaba de java..

Ohhh sopresa!!! cuando maneje java por ultima vez, era jdk1.1.2 la version que se usaba y todo lo que habian enseñado trabajaba con AWT y con  unos handlers..
Problemas!!! las cosas han cambiado bastante y ahora se manejan unas cosas llamadas Swings y los handlers se trabajan ahora con unas coasas llamadas listeners...ouuuccccchhhhhhhhhh!!!!
y adicionalmente todo lo que usaba antes aunque funciona, me dice..
Esto ha sido modificado y puede que no aparezca en nuevas versiones.. utilice mejor la instruccion bla, bala, bla

Asi que como te daras cuenta estoy en grandes problemas..TENGO QUE APRENDER JAVA DE NUEVO !!! y casi desde ceros...y es para el viernes que te mencione...

Necesito suerte  y tiempo

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #29 en: Lunes 26 de Mayo de 2003, 09:32 »
0
Hola Juank, te deseo mucha suerte con tu programa, lo siento pero yo de Java no tengo ni idea nunca lo he dado o me he puesto con el, asi que no tepuedo ser de mucha ayuda.

Bueno espero que puedas resolver el trabajo este de una manera rapida y esficaz para dejar a tu profesor alucinado, mucha suerte.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #30 en: Viernes 30 de Mayo de 2003, 15:29 »
0
ya termine mi programa de java..bueno no lotermine 100% pero ya lo entregue y me fue muy bien, me dedicare a tu programa, espero que no sea demasiado tarde,


Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #31 en: Viernes 30 de Mayo de 2003, 15:49 »
0
Bueno, con tanto que he tenido que hacer ...se me olvido que hacia tu program.. busca archivos .c y .h, y....

guarda los defines e includes en un archivo que se pueda ver desde escel???
o algo asi?...se me olvido..

cuanteme  chao.


Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #32 en: Viernes 30 de Mayo de 2003, 18:53 »
0
Hola Juank,

antes de nada desearte mucha suerte  con la nota de tu trabajo. :suerte:
 
Bueno a ver si me puedo explicar bien para que me entiendas.

A ver el programa debe de buscar en la carpeta que le indique el usuario, todos los archivos con extension .C y .H.

Hacer una lista doblemente enlazada con ellos.

Luego leer esta lista y con cada archivo hacer lo siguiente.

Leer los archivos en busca de los includes ( a otros archivos, no los includes de las librerias normales de C), los defines, las variables y las funciones, y con todo ello hacer otras tantas listas doblemente enlazadas.

Con los includes, luego se puede saber que archivos dependen de otros, y realizar asi una especie de arbol, son un archivo arriba del todo y que de el van desplejandose los demas archivos.

Con los define, el programa debe leer una vez el archivo para encontrar los defines y despues debe de leerlo otra vez para sustituirlos, me explico, si tenemos por ejemplo:
#define TRUE 1, tiene que poner un 1 donde encuentre la palabra TRUE. :question:

Luego con las variables debe ver domnde estan estas definidas y donde estan inicializadas.

Y cpon las funciones debe de ver que funsciones hay en cada programa, para saber como se llaman unos a otros.

Espero que me entiendas sino vuelveme a escribir, no se si te podre contestar antes del lunes, ya que aqui es fiesta desde ayer y no se si voy a poder acceder a un pc el fin de semana, pero lo intentare por si tienes alguan otra duda.

Bueno pues agradecerte toda la ayuda prestada hasta ahora y la que venga, muchas gracias de verdad :gracias:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #33 en: Viernes 6 de Junio de 2003, 03:53 »
0
Listo, hasta hoy que tuve algo de tiempo, porque tenia mucho trabajo, pero bueno...

Te anexo lo que llevo, que es lo que te mostre la otra vez para crear las lista de archivos y lo nuevo que es que ya busca los include con " o sea los de los archivos propios y los guarda en un archivo de texto, agrupados por archivo.

La funcion que te pase de la busqueda de archivos la otra vez, debes revisarla porque se totea con listas extremadamente grandes con listas normales funciona ok.

No tengo mucho tiempo para documentar, asi que espero que ya hayas entendido como se hacia lo de la bhusqueda de archivos porque la funcion, o mejor las funciones de crear la lista y grabar los include  no estan documentadas, hasta ahora las acabe y se que las necesitas de afan.

..Estyasmo hablando si me queda tiempo para ayudarte más , con gusto..
me debes una bien grande porque son las 9:pm aca y todavia estaba con tu programa, y eso que trabajo de 6:30 am a 4pm...creo que me convertire en angel si me sigo sacrificando tanto.. :angel:

Por cierteo no estaba nada facil, más aun teniendo en cuenta que algunos includes pueden ir con espacio #include "dfe"  y otros sin espacio #unclude"jnhj"
es se ncilla la solcion pero para deducirla me tome casi toda la tarde.

Cualquier duda me cuentas.. animo, que ya no falta nada para acabatr, porque con base en esta funcion , puedes sacar las de los defines.

Juank
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #34 en: Jueves 12 de Junio de 2003, 11:35 »
0
Hola Juank,

a ver he estado estudiando tu programa para ver como o puedo utilizar con el mio, y em han surgido un par de dudas que te expongo a continuacion:

en el modulo FileWork dentro de la funcion BuscaFiles:

1.- No me ha quedado del todo claro como miras tu si es un directorio o no, comparas dos veces el nombre que tengamos en "list->d_name" con "." y "..", y no entinedo porque, ya que si se cumple la pregunta entraria en el "then", y no iria al "else" que es donde vuelves a mirarlo.

en el mismo modulo pero dentro de la funcion BuscaIncludes:

1.- La instrruccion "fileno", asigna la puntero "fd" la direccion de la lista???, :think:, es la primera vez que veo esa instruccion, la verdad es que contigo estoy aprendiendo un par de instruciones que no tenia ni idea que existieran.

2.- A la hora de ver si lo qzue tenemos metido en e buffer es un include o no, utilizas la instruccion "strncmp" y escribes "#incude"" y luego un 9 o un 10, mi pregunta es, para que utilizas "" para indicar un espacion en blanco?, el 9 o a0, incican la posicion de las primeras comillas??? .

3.- me puedes explicar que hace la instruccion "fseek", lo he estado leyendo en al ayuda de Borlandc pero como mi aleman no es todavia muy bueno como que me he quedado a dos velas, estoy esperando que mi padre me envie el libro de: El lenguaje de programacion C, a ver si se me aclaran las ideas con el :question:.

Por ahora esas son mis dudas, a ver si de una vez por todas consigo avanzar algo, creo que voy a empezar el programa casi de cero, definiendo todas las estrucutras como as tienes tu y llamando a las funciones de la misma manera, a ver sino me lio mucho, jeje.

Bueno un saludo, y muchisimas gracias de verdad por tu infinita paciencia y ayuda.

Un saludo desde Alemania.

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #35 en: Jueves 12 de Junio de 2003, 16:30 »
0
ola de nuevo, anad que no estaras cansado ya de mi!!!!!!:).

A ver te cuento he realizado el programa escribiendo las funciones como las que tu me mandastes, me refiero en el primer parametro tu escribias "Lista" y ya despues asterisco, nombre funcion, ....., bueno pues al hacerlo yo me da varios errores al compilarlo, me dice:

1.- Uso impropio del typedef con "Lista"
2.- No me reconoce el primer parametro de la funcion que es lo de la "listaf" por ejemplo.
3.- Mas de uan inicializacion de Lista

Porque puede ser, se te ocure algo?

Gracias por todo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #36 en: Jueves 12 de Junio de 2003, 17:57 »
0
si el archivo que te envie te compila bien..entonces deberias revisar tu codigo, siquieres te ayudo pero necesito que me lo envies...

despues te explico lo de los directorios.

juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema con la segunda lista
« Respuesta #37 en: Jueves 12 de Junio de 2003, 19:42 »
0
1 pregunta
veamos el codigo:
 
Código: Text
  1.  
  2. if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
  3.     {
  4.       strcpy(listad->info,pathaux);
  5.       aux=(Lista *)malloc(sizeof(Lista));
  6.       listad->next=aux;
  7.       aux->back=listad;
  8.       listad=aux;
  9.     }
  10.     else
  11.     {
  12.       if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
  13.       {
  14.         i=strlen(list->d_name)-1;
  15.  
  16.         if( ( list->d_name[i]=='c'|| list->d_name[i]=='h' ) && list->d_name[i-1]=='.' )
  17.         {
  18.  
  19.  
 
La primera vez usamos:
 
Código: Text
  1.  
  2. if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
  3.  
  4.  

opendir(pathaux)!=NULL  esta parte nos controla que abra la ruta especificada

strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..") y esta
nos controla que no entre al if si la ruta especificada es el directorio
"." o el directorio ".."

Luego hacemos esto:
 
Código: Text
  1.  
  2.     else
  3.     {
  4.       if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
  5.  
  6.  

Esto nos valida que si no entro por el if sino por el else
se determinan dos razones:
la primera que no haya entrado porque era el directorio "." o el ".."
y que si no entro al if por una razon diferente, osea porque
fallo opendir, es porque es un archivo..!!!

2 pregunta
 
Código: Text
  1.  
  2.  
  3.     if((fp=fopen(listaf->info,"rt"))!=NULL)
  4.     {
  5.       fd=fileno(fp);
  6.       tamtot=0;
  7.       while(tamtot <filelength(fd))
  8.       {
  9.         memset(larguebuff,'',sizeof(larguebuff));
  10.  
  11.  
es una trampa que yo jejeje .. dado que la funcion filelength() requiere como parametro un numero identificador de archivo, y yo trabajo más comodamente con apuntadores, con la funcion fileno() obtengo un numero identificador de archivo con base al apuntador de un archivo.. de esta manera , puedo usar el numero identificador para pasarselo como parametro a filelength() y obtener el tamaño del archivo...

3- pregunta
fseek, mueve el apuntador del archivo a una posicion especifica, es decir para recorrer el archivo, necesitas desplazar el apuntador del archivo a otra posicion, eso es lo que hace fseek.

Esta es una copia de la referencia del libc en ingles para fseek:

Juank
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

radarman

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema con la segunda lista
« Respuesta #38 en: Martes 17 de Junio de 2003, 11:30 »
0
Hola Juank,

aqui te mando el prorama como lo etngo ahora, lo he dividido en tantos programilas, como ocsas tengo que hacer, tambein he escritos os archivos "h", aunque como es la primera vez pues no se si esta bien, espero que lo entiendas, estoy trabajando tambein con el porgrama que tngo entero, entonces si prefieres que te mande el otro dimelo y te lo mando cuando acabe con el.

Al compilar me dice que no me puede abrir el archivo "h", con lo que tu me enviaste la compilarlo me pone que no esta defineida la funcion "__BuscaFiles", con lo que em imagino que sera porque tampoco lee entonces el archivo "h".

Un salduo y muchas gracias.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.