• Miércoles 17 de Abril de 2024, 08:29

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Ithilien

Páginas: [1] 2 3 ... 5
1
C# / Iis Y Windows Communication Foundation
« en: Miércoles 20 de Febrero de 2008, 10:56 »
Error.

2
C++ Builder / Re: Imagenes En C++ Builder
« en: Lunes 26 de Noviembre de 2007, 22:56 »
Has probado a hacer un ShowMessage del contenido de AbrirImagen->Filename? A lo mejor estas intentando cargar un path inválido. En cualquier caso, puedes probar a hacer lo siguiente: pese a que yo he cargado imagenes JPG en TImage ( de hecho, en modo diseño se puede cargar ), puedes coger y convertir a BMP el fichero JPG. Eso si, según el código que presento, si el fichero no es JPG, te levantará una excepción:

Código: Text
  1.  
  2.  
  3. //Se carga la imagen
  4. TJPEGImage *j = new TJPEGImage;
  5. j->LoadFromFile( OpenPictureDialogo->FileName );
  6. j->DIBNeeded();
  7.  
  8. //La asignas a un Bitmap
  9. Graphics::TBitmap *b = new Graphics::TBitmap();
  10. b->Assign(j);
  11.  
  12. //Y ese bitmap, lo asignas a la imagen
  13. Imagen->Picture->Assign(b);
  14.  
  15.  
  16.  

Creo que debería funcionar. Si no, puedes probar a depurar, porque me parece muy raro que no te cargue la imagen. Lo que podrías hacer es quitar el try catch para darte cuenta de qué es lo que exactamente pasa, o bien capturar la excepción y mostrarla por pantalla.

Saludos!

3
C/C++ / Re: Eliminar Archivo
« en: Jueves 27 de Septiembre de 2007, 20:10 »
También puedes usar
Código: Text
  1.  unlink("C:\\archivo.txt")
  2.  

4
C/C++ / Re: Archivos
« en: Jueves 27 de Septiembre de 2007, 20:08 »
La función isspace(*p) te devuelve true si *p es un espacio en blanco y false en otro caso ( p es un puntero a char ).

Saludos y espero que te sirva!

5
Visual C++ / Re: Apertura De Varios Ficheros SimultÁneamente
« en: Sábado 15 de Septiembre de 2007, 11:26 »
Imagino que estas con <fstream.h> . Si es así y tienes un ofstream, puedes añadir al final del fichero con la opción ios::end en el segundo argumento ( me parece ) de la función write.

Saludos!

6
C++ Builder / Re: Array De Caracteres
« en: Sábado 15 de Septiembre de 2007, 11:22 »
Por supuesto, solo que tienes que tener en cuenta que de esa manera lo haces estático, esto es, no puede modificar su tamaño.

Te recomiendo, bien que lo hagas dinámicamente con char * cadena = new char[variable] y luego haces deletes y news, o bien, que utilices la clase vector de la stl incluida en ( #include <vector.h> ). Si buscas algún tutorial sobre esa clase verás que es muy sencilla de manejar, intuitiva y bajo mi punto de vista, muy práctica.

Saludos!

7
C++ Builder / Re: Salto De Linea
« en: Martes 11 de Septiembre de 2007, 15:23 »
f.good te devolverá lo mismo que si haces fi.open y luego haces if ( fi ) ....

Por cierto, creo que no va bien el programa porque cuando se lee de fichero, no se tiene \n, sino que se tiene \0. Así deberás comprobar con  el caracter '\0'

8
C/C++ / Re: Concatenar Cadena Punteros
« en: Martes 11 de Septiembre de 2007, 15:19 »
Yo tengo una duda. Las cadenas de caracteres definidas en el propio código, por ejemplo char *cadena = "Hola" tienen, en este caso, 5 caracteres? Es decir, yo pensaba que era solo cuando se leía de fichero usando por ejemplo getline si tenía el '\0' del fin de linea, pero pensé que en punteros a char declarados en el codigo no pasaba eso.

Es más, yo tenía la idea de que era solo los string a los que le pasaba eso.
Entonces, si se puede, solo hay que hacer dos bucles que, con un puntero auxiliar, p:

Código: Text
  1.  
  2. int contador = 0;
  3. p = cadena1;
  4. int tope1, tope2;
  5.  
  6. while ( *p != '&#092;0' ){
  7.     p++;
  8.     contador++;
  9. }
  10. tope1 = contador;
  11.  
  12. p = cadena2;
  13. while ( *p != '&#092;0' ){
  14.     p++;
  15.     contador++;
  16. }
  17.  
  18. tope2 = contador - tope1;
  19. char *concatenada = ( char * ) malloc ( contador * sizeof(char) );
  20.  
  21. for ( int i = 0&#59; i &#60; tope1&#59; ++i )
  22.     concatenada[i] = cadena1[i];
  23.  
  24. for ( int i = 0&#59; i &#60; tope2; ++i )
  25.     concatenada[tope1 + i] = cadena2[i];
  26.  
  27.  
  28.  

Ya solo basta hacer el printf

Saludos!

9
C/C++ / Re: Me Sobreescribe Los Datos
« en: Martes 11 de Septiembre de 2007, 15:09 »
De primeras, no sé como no te peta el programa pues los rangos son de 0 a 4 y tú lo haces de 1 a 5. Recuerda que si tienes struct empleado emp[5], va de 0..4, por ejemplo.

Y después, tienes un strcut trabajo que no utilizas en empleado....es algo raro. Usas un vector de trabajos que definiste...deberías revisar el código!

Y respecto a las fechas, vas sobrescribiendolas en cada iteracion del bucle for, ya que solo tienes dos estructuras de este tipo y las machacas en cada iteracion.

Saludos!

10
JavaScript / Re: Integrando Javascript
« en: Jueves 6 de Septiembre de 2007, 19:48 »
Lo que necesito saber es qué parámetro tengo que modificar para que, cuando disponga de "mucho texto" para mostrar en el cuadro deslizante, me aparezca todo. Un ejemplo: Yo tengo 20 noticias. Las pongo en la cabecera de la web y cuando estoy probando en local la página me doy cuenta de que cuando va por la sexta, hay "algo" ( un temporizador imagino ) que hace que empiece de nuevo a mostrarse el texto sin que parezca que realmente es una tira de noticias deslizante y circular que se muestra completamente. Entoces quiero saber donde tengo que tocar para que eso me ocurra y se meustre todo de abajo a arriba sin problema.

No sé si ya me entiendes.

Gracias!

11
JavaScript / Re: Integrando Javascript
« en: Jueves 6 de Septiembre de 2007, 10:22 »
Pero exáctamente dónde? Esque he cambiado el sheight del principio, pero lo que hace es alargar el cuadro visual.... &lt;_&lt;  :lightsabre:

12
C++ Builder / Re: Ayuda Recursion
« en: Martes 4 de Septiembre de 2007, 19:16 »
Mira la función POW de math.h:

pow(i,j) ---> Eleva i a j-esima potencia

13
C/C++ / Re: Error Con Dev-c++
« en: Martes 4 de Septiembre de 2007, 17:46 »
De primeras, según veo, haces cont++, pero no j++, con lo que no terminaría nunca el bucle interior, no? Creo que puedes hacer esa función de una manera más limpia y claro, no?  B)

Suerte :comp:

14
JavaScript / Re: Integrando Javascript
« en: Martes 4 de Septiembre de 2007, 11:44 »
Hola Tanori, lo resolví. Era por un problema de la primera línea, que era diferente respecto de la página donde estaba hecho el menu. Ahora tengo un problema y es que no me me termina de mostrar todo lo que quiero ecribir ( noticias ) y se corta antes de tiempo y vuelve a empezar. Mi código es el siguiente:

Código: Text
  1.  
  2. &#60;script LANGUAGE=&#34;JavaScript&#34;&#62;
  3.  
  4. &#60;!-- This script and many more are available free online at --&#62;
  5. &#60;!-- The JavaScript Source!! http://javascript.internet.com --&#62;
  6.  
  7. &#60;!-- Begin
  8. //slider's width
  9. var swidth=105
  10.  
  11. //slider's height
  12. var sheight=150
  13.  
  14. //slider's speed
  15. var sspeed=1
  16.  
  17. //messages: change to your own; use as many as you'd like; set up Hyperlinks to URLs as you normally do: &#60;a target=... href=&#34;... URL ...&#34;&#62;..message..&#60;/a&#62;
  18. var singletext=new Array()
  19. singletext[0]='&#60;div align=&#34;center&#34;&#62;&#60;b&#62;&#60;u&#62;&#60;font face=Arial size=2 color=&#34;Red&#34;&#62;En pruebas&#60;/font&#62;&#60;/b&#62;&#60;/u&#62;&#60;/div&#62;&#60;br&#62;'
  20. singletext[0]=singletext[0]+'&#60;div align=&#34;left&#34;&#62;&#60;font face=Arial size=1 color=&#34;Navy&#34;&#62;&#60;a href=&#34;prueba.htm&#34;&#62;Prueba 1....&#60;/a&#62;&#60;/font&#62;&#60;/div&#62;'
  21.  
  22.  
  23. if (singletext.length&#62;1)
  24. i=1
  25. else
  26. i=0
  27.  
  28. function start(){
  29. if (document.all){
  30. ieslider1.style.top=sheight
  31. iemarquee(ieslider1)
  32. }
  33. else if (document.layers){
  34. document.ns4slider.document.ns4slider1.top=sheight
  35. document.ns4slider.document.ns4slider1.visibility='show'
  36. ns4marquee(document.ns4slider.document.ns4slider1)
  37. }
  38. else if (document.getElementById&&!document.all){
  39. document.getElementById('ns6slider1').style.top=sheight
  40. ns6marquee(document.getElementById('ns6slider1'))
  41. }
  42. }
  43.  
  44. function iemarquee(whichdiv){
  45. iediv=eval(whichdiv)
  46. if (iediv.style.pixelTop&#62;0&&iediv.style.pixelTop&#60;=sspeed){
  47. iediv.style.pixelTop=0
  48. setTimeout(&#34;iemarquee(iediv)&#34;,100)
  49. }
  50. if (iediv.style.pixelTop&#62;=sheight*-1){
  51. iediv.style.pixelTop-=sspeed
  52. setTimeout(&#34;iemarquee(iediv)&#34;,100)
  53. }
  54. else{
  55. iediv.style.pixelTop=sheight
  56. iediv.innerHTML=singletext[i]
  57. if (i==singletext.length-1)
  58. i=0
  59. else
  60. i++
  61. }
  62. }
  63.  
  64. function ns4marquee(whichlayer){
  65. ns4layer=eval(whichlayer)
  66. if (ns4layer.top&#62;0&&ns4layer.top&#60;=sspeed){
  67. ns4layer.top=0
  68. setTimeout(&#34;ns4marquee(ns4layer)&#34;,100)
  69. }
  70. if (ns4layer.top&#62;=sheight*-1){
  71. ns4layer.top-=sspeed
  72. setTimeout(&#34;ns4marquee(ns4layer)&#34;,100)
  73. }
  74. else{
  75. ns4layer.top=sheight
  76. ns4layer.document.write(singletext[i])
  77. ns4layer.document.close()
  78. if (i==singletext.length-1)
  79. i=0
  80. else
  81. i++
  82. }
  83. }
  84.  
  85. function ns6marquee(whichdiv){
  86. ns6div=eval(whichdiv)
  87. if (parseInt(ns6div.style.top)&#62;0&&parseInt(ns6div.style.top)&#60;=sspeed){
  88. ns6div.style.top=0
  89. setTimeout(&#34;ns6marquee(ns6div)&#34;,100)
  90. }
  91. if (parseInt(ns6div.style.top)&#62;=sheight*-1){
  92. ns6div.style.top=parseInt(ns6div.style.top)-sspeed
  93. setTimeout(&#34;ns6marquee(ns6div)&#34;,100)
  94. }
  95. else{
  96. ns6div.style.top=sheight
  97. ns6div.innerHTML=singletext[i]
  98. if (i==singletext.length-1)
  99. i=0
  100. else
  101. i++
  102. }
  103. }
  104. //  End --&#62;
  105. &#60;/script&#62;
  106.  
  107.  
  108.  

Y en el body:

Código: Text
  1.  
  2.  
  3. &#60;!-- STEP THREE: Copy this code into the BODY of your HTML document  --&#62;          
  4.                 &#60;div align=&#34;center&#34;&#62;
  5.                 &#60;span style=&#34;borderWidth:0; borderColor:black; width:105; height:150; background:#F0F3FF&#34;&#62;
  6.                 &#60;ilayer id=&#34;ns4slider&#34; width=&#34;&{swidth};&#34; height=&#34;&{sheight};&#34;&#62;
  7.                 &#60;layer id=&#34;ns4slider1&#34; height=&#34;&{sheight};&#34; onmouseover=&#34;sspeed=0;&#34; onmouseout=&#34;sspeed=1&#34;&#62;
  8.                        
  9.           &#60;script language=&#34;JavaScript&#34;&#62;
  10.                 if (document.layers)
  11.                   document.write(singletext[0])
  12.                 &#60;/script&#62;
  13.              
  14.                 &#60;/layer&#62;
  15.               &#60;/ilayer&#62;
  16.              
  17.           &#60;script language=&#34;JavaScript&#34;&#62;
  18.           if (document.all){
  19.                   document.writeln('&#60;div style=&#34;position:relative;overflow:hidden;width:'+swidth+';height:'+sheight+';clip:rect(0 '+swidth+' '+sheight+' 0);border:1 solid black;&#34; onmouseover=&#34;sspeed=0;&#34; onmouseout=&#34;sspeed=1&#34;&#62;')
  20.                   document.writeln('&#60;div id=&#34;ieslider1&#34; style=&#34;position:relative;width:'+swidth+';&#34;&#62;')
  21.                   document.write(singletext[0])
  22.                   document.writeln('&#60;/div&#62;&#60;/div&#62;')
  23.                 }
  24.        
  25.                 if(document.getElementById&&!document.all){
  26.                   document.writeln('&#60;div style=&#34;position:relative;overflow:hidden;width:'+swidth+';height:'+sheight+';clip:rect(0 '+swidth+' '+sheight+' 0);border:1px solid black;&#34; onmouseover=&#34;sspeed=0;&#34; onmouseout=&#34;sspeed=1&#34;&#62;')
  27.                   document.writeln('&#60;div id=&#34;ns6slider1&#34; style=&#34;position:relative;width:'+swidth+';&#34;&#62;')
  28.                   document.write(singletext[0])
  29.                   document.writeln('&#60;/div&#62;&#60;/div&#62;')
  30.                 }
  31.                 &#60;/script&#62;
  32.           &#60;/span&#62;
  33.                 &#60;/div&#62;&#60;br&#62;
  34.  
  35.  
  36.  

También me ocurre que cuando la primera línea escrita llega arriba del todo, todo el texto comienza a subir un poco más rápido.

A ver si alguien pudiera mostarme qué falla y como solucionarlo. Gracias.!

15
JavaScript / Integrando Javascript
« en: Lunes 3 de Septiembre de 2007, 12:17 »
Hola, soy nuevo en JavaScript y estoy intentando agregar a una página web una tabla en la que van apareciendo noticias de abajo a arriba. El modelo lo tengo de una prueba que se hizo hace un par de años y estoy tratando de integrarla. El problema es que me parece la tabla, las noticias que quiero que salgan pero sin moverse. No pasa nada y no sé por qué es.

En el código fuente que me han facilitado he quitado todo a excepción de la tabla con las noticias y funciona a la perfección así que no sé qué pasa.

Alguna sugerencia? Gracias de antemano!

16
Visual C++ / Re: Matrices
« en: Sábado 1 de Septiembre de 2007, 11:07 »
Respecto a la cuarta pregunta, yo diría, pero no estoy muy seguro, que cuando se lee desde teclado, el último carácter leido ( es decir, de final de línea ) es el '\n'. Sin embargo, cuando se lee desde fichero, una línea acaba con '\0' ( al hacer getline y almacenarlo en buffer seguro ).

Sobre la pregunta 3, yo diría que depende del tipo de matriz y depende de como lo almacenes. Si la matriz tiene celdas de char * , entonces puedes almacenar una palabra en una celda. Si no, si la matriz tiene celdas de char, obviamente cada caracter irá en una celda.

Saludos!

17
C++ Builder / Botones Personalizados
« en: Sábado 1 de Septiembre de 2007, 11:00 »
Hola, he estado buscado mucho pero no encuentro ( si es que existe ) las propiedades necesarias para diseñar algo similar a un TBitBtn de manera que por ejemplo, la imagen que inserte en el campo glyph sea lo que aparezca en el propio botón. Digo esto porque sé que en JBuilder se puede hacer quitando los bordes del Boton y dejando solo la imagen. Por lo tanto, es posible hacerlo aquí?

Saludos!

18
C/C++ / Re: Concatenar Variables En C
« en: Martes 28 de Agosto de 2007, 14:38 »
Yo creo que es porque tienes que reservar el espacio con ( char *)malloc( longitud * sizeof(char)).

Al haber puesto las variables con un valor, en tiempo de ejecución el compilador reserva memoria. Sin embargo, cuando lee de un fichero, no es así. Por lo tanto, deberás reservar la memoria ( y luego free(...) ). Y siempre reserva uno o dos caracteres más para los \0.

Suerte!

P.D.: Espero no haber metido la pata con lo de conocer en tiempo de ejecución el tamaño. SI alguien sabe la respuesta correcta, por favor, lo diga, gracias!

19
C++ Builder / Re: Infinito
« en: Martes 28 de Agosto de 2007, 14:33 »
También puedes usar MAX_INT de math.h como infinito.

P.D.: Ya no recuerdo si era MAX_INT o INT_MAX.

Suerte!

20
MySQL / Re: Exportar Mysql
« en: Domingo 26 de Agosto de 2007, 18:45 »
Ya terminé el programa, pero quisiera saber Altareum como lo hiciste. Por favor, cuando tengas un momento me gustaría que me explicaras. Gracias!

21
Diseño de Algoritmos / Re: Arboles Y Nodos Hojas Inciales
« en: Domingo 26 de Agosto de 2007, 17:25 »
Lo que puedes hacer, por ejemplo, es hacer un recorrido en preorden y eliminar los nodos cuyos punteros a hijos sean null. Si no quieres hacerlo recursivo porque no puedas, yo hice una vez un recorrido en preorden, iterativo, usando pilas ( de la stl para c++ ).

Saludos!

22
C/C++ / Re: Problema Con Programa "fallo En Vector"
« en: Lunes 20 de Agosto de 2007, 20:08 »
Gracias  :lol:  :comp:

23
C/C++ / Re: Problema Con Programa "fallo En Vector"
« en: Lunes 20 de Agosto de 2007, 18:04 »
A mi me gustaría añadir dos cosas:

La primera: Usar un FOR no tiene por qué ser malo en tantoen cuanto uses una variable booleana que controle la salida cuando encuentres o hagas todo lo que tengas que hacer:

Código: Text
  1. for ( int i = 0&#59; i &#60; n && !encontrado&#59;++i ) { ... if ( condicion ) encontrado = true; ... }
  2.  

Yo uso más bien eso en vez de WHILE. Sin embargo, cada cual elige lo que le resulta más fácil.

La segunda: SObre depuradores no estoy muy puesto y siempre recurro al printf("llega\n") o cout << "llega\n" ; que es un poco feo...Eternal Idol, puedes facilitarme algún tutorial? Y, en que programa lo depuras? Gracias de antemano.

24
C++ Builder / Re: Puedo Cambiar La Imagen De Un Componente Vcl ??
« en: Domingo 19 de Agosto de 2007, 23:09 »
Simplemente brillante. Gracias!

25
C++ Builder / Re: Problema Copiando Ficheros
« en: Viernes 17 de Agosto de 2007, 10:14 »
Madre mía! Me parece increible...bueno, como nota positiva, todos los días se aprende algo, ¡y vaya qué algo!

Te doy las gracias por molestarte en mirar el código, pero pudiste ver como, el código parece correcto y un error te dejaa  :unsure: ...

De nuevo gracias!

Páginas: [1] 2 3 ... 5