• Martes 14 de Mayo de 2024, 10:57

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 - JuanK

Páginas: 1 ... 225 226 [227] 228 229 ... 231
5651
C/C++ / ensamblador dentro de c
« en: Martes 1 de Abril de 2003, 18:26 »
Para incluir sentencias de assembler en un programa en c, debes trabajarlo detro del siguiente tag:


asm
{
/*...contenido en assembler  */
}



espero que te sea de utilidad

5652
Novedades en SoloCodigo / Re: Cambio de servidor
« en: Lunes 31 de Marzo de 2003, 16:52 »
No estoy seguro,
cuando colocaba un mensaje solia salir tambien  en la parte superior , el segmento de formulario para cambiar la clave, ya no me sale pero igual no tiene importancia.

Gracias

5653
Novedades en SoloCodigo / Re: Cambio de servidor
« en: Lunes 31 de Marzo de 2003, 16:44 »
Ok me parece muy bien,
ya puedo entrar a foros solocodigo, normalmente y lo del codigo esta OK
te agradezco mucho, chau

:lightsabre:

5654
DirectX / Welcome?
« en: Domingo 30 de Marzo de 2003, 18:51 »
:alien:
estoy a prendiendo directX pero no bajo c++ sino bajo C#, creo que no es un tema muy conocido, claro que eso se debe a que directX bajo c++ es algo complicado, verdad?
Este foro se ve limitado solo para los más avanzados, sin embargo me pareceria conveniente publicar algo de codigo de ejemplo para impulsar a los que no se hayan atrevido, asi que si quieres r3dsk1 puedes incluir un codigo sencillo, yotengo pensado hacerlo, pero nunca he trabajado directX en , tan solo estpoy comenzando a aprender DirectX en C# y espero que en poco tiempo pueda hacer alguna publicacion de C++.
:lightsabre:

5655
Novedades en SoloCodigo / Re: Cambio de servidor
« en: Domingo 30 de Marzo de 2003, 18:44 »
creo que esto tambien lo han notado ya, y seguramente se solucionara cuando se pueda incluir el dominio foros.solocodigo, pero ahi va:

http://foros.solocodigo.com/viewthread.php?tid=2918


el link se rompe puesto que por ahora el dominio tiene otro nombre.

5656
Novedades en SoloCodigo / Re: Cambio de servidor
« en: Domingo 30 de Marzo de 2003, 10:29 »
hola, espero que les este terminando de ir bien con lo del traslado,
solo quiero reportar lo que he visto por ahi como raro y son tan solo dos cosas:
1.El Chat..no aparece
2.El codigo que se pega m,ediante la opcion de formato con
 
Código: Text
  1.  
  2. struct prueba
  3. {
  4.    int algo;
  5. };
  6. int main()
  7. {
  8.  
  9.  
  10. }
  11.  
  12.  

aparece con espacios demasiado grandes entre cada linea, lo que dificulta su lectura de una manera coherente, primero crei que era mi navegador, pero a mis amigos les ha pasdado lo mismo.

Gracias..!!! y hasta luego

-_-

5657
C/C++ / Necesito conocer el funcionamiento interno del QuickSort
« en: Domingo 30 de Marzo de 2003, 09:53 »
:alien:
No te entiendo aún... no conoces el algoritmo?.. te referias alo que respondio gmantill?

Por cierto, lo de hacerlo con punteros facilita muchisimo las cosas, seguramente que debe haber muchas otras formas de hacerlo , pero esta es la más efectiva y natural, de todos modos los limites los puedes vencer, sino te gusta hacerlo con punteros,,, tendras que quemarte la cabeza como 1000 veces para implementar el algoritmo con otro sistema
en todo caso... aqui te anexo una página donde encontraras una referencia del algoritmo basico, nuevamente su explicacion,ejemplo y codigo fuente,  todo esto para trabajo con arays de enteros de longitud fija, no exactamente con punteros, ya que se mueven de una manera mucho más natural por ser en un array estatico:
http://galeon.com/analisisdealgoritmos/ ... 28098.html

Sin embargo, si te interesa, estoy trabajando por ahi en un software educativo, y para lo cual necesite algo de trabajo con el QuickSort y con solo apuntadores, asi que no le veo inconveniente, al publicar el segmento correspondiente al mismo.
El algoritmo realiza el ordenamiento quicksort a una estructura dinámica que almacena numeros enteros, segun como se ve en el siguiente código; adicionalemente utilizo algunas funciones adicionales que hice para facilitar el trabajo:
 
Código: Text
  1.  
  2. /*[b]Definicion de la estructura o tipo de dato[/b]*/
  3.  
  4. struct Data
  5. {
  6.    struct Data *Pre;
  7.    int info;
  8.    struct Data *Post;
  9. };
  10. /*una vez definida es necesario llenarla con datos lo cual se hace en otra funcion
  11. [b]Algoritmo quicksort[/b]
  12. Este  recive una estructura con datos y los ordena*/
  13. void INquicksort(struct Data *rider,int desde,int hasta)
  14. {
  15.   int izq,der,cont,CRUCE=0;
  16.   struct Data *IZQ,*DER,*DESDE,*HASTA;
  17.  
  18.   if(desde<hasta)//si el array o subarray es mayor a 1 item
  19.   { // Valores iniciles de la b£squeda.
  20.     cont=Counter(rider);
  21.     izq=desde+1;
  22.     der=hasta;
  23.     IZQ=(struct Data *)MoveToN(rider,izq);
  24.     DESDE=(struct Data *)MoveToN(rider,desde);
  25.     DER=HASTA=(struct Data *)MoveToN(rider,hasta);
  26.     while(!CRUCE)
  27.     {
  28.       while(IZQ!=HASTA && IZQ->info<=DESDE->info)//busqueda de un # mayor
  29.       {
  30.         IZQ=IZQ->Post;
  31.       }
  32.       while(DER!=DESDE && DER->info>=DESDE->info)//busqueda de un # menor
  33.       {
  34.         DER=DER->Pre;
  35.       }
  36.       if(MyNumber(IZQ)<MyNumber(DER)) // si no se han cruzado:
  37.       {
  38.         IZQ->info+=DER->info; // Intercambiar.
  39.         DER->info=IZQ->info-DER->info;
  40.         IZQ->info-=DER->info;
  41.       }
  42.       else // si se han cruzado:
  43.        CRUCE=1;// salir del bucle.
  44.     }
  45.     //el m s peque¤o, desde se cambia con ‚l menor encontrado.
  46.     if(DER!=DESDE)
  47.     {
  48.       DER->info+=DESDE->info;// Colocar el pivote
  49.       DESDE->info=DER->info-DESDE->info; // en su posici¢n.
  50.       DER->info-=DESDE->info;
  51.     }
  52.     if(MyNumber(DER)!=1)
  53.       INquicksort(rider,desde,MyNumber(DER->Pre)); // Ordenar el primer array.
  54.     if(MyNumber(DER)!=cont)
  55.       INquicksort(rider,MyNumber(DER->Post),hasta); // Ordenar el segundo array.
  56.   }
  57. }
  58.  
  59. /*[b]Funciones Complementarias para manejar la estructura[/b]
  60.  
  61. Deja el apuntador de una estructura en el primer registro*/
  62. struct Data *GoFirst(struct Data *dat)
  63. {
  64.   while(dat->Pre!=NULL)
  65.     dat=dat->Pre;
  66.   return dat;
  67. }
  68.  
  69. /*Funcion para pruebas de datos
  70.   lo que hace es imprimir
  71.   una estructura de tipo Data->info
  72.   En pantalla*/
  73. void PrintGDF(struct Data *MyPrint)
  74. {
  75.  MyPrint=(struct Data *)GoFirst(MyPrint);
  76.  while (MyPrint->Post!=NULL)
  77.  {
  78.    printf("%dn",MyPrint->info);
  79.    MyPrint=MyPrint->Post;
  80.  }
  81. }
  82.  
  83. /*Devuelve el numero de nodos de la estructura*/
  84. int Counter(struct Data *items)
  85. {
  86.   int cont=0;
  87.   items=(struct Data *)GoFirst(items);
  88.  
  89.   while(items->Post!=NULL)
  90.   {
  91.     cont++;
  92.     items=items->Post;
  93.   }
  94.   return cont;
  95. }
  96.  
  97. //devuelve el numero del nodo actual.
  98. int MyNumber(struct Data *items)
  99. {
  100.   int cont=1;
  101.   struct Data *aux;
  102.   aux=(struct Data *)GoFirst(items);
  103.   while(aux!=items)
  104.   {
  105.     cont++;
  106.     aux=aux->Post;
  107.   }
  108.   return cont;
  109. }
  110.  
  111. //cambia el apuntador a la posicion indicada.
  112. struct Data *MoveToN(struct Data *items,int GoToNumber)
  113. {
  114.   items=(struct Data *)GoFirst(items);
  115.   int i;
  116.   for(i=1;i<GoToNumber;i++)
  117.     items=items->Post;
  118.   return items;
  119. }
  120.  
  121.  

Espero que te sirva, mucha suerte con tu trabajo, por ahora me voy a descansar porque hoy he tenido mucho trabajo.. y mañana... es decri en unas horas... meespera aun mas trabajo..

Juank. -_-


:angel:nota: te recomeindo que para entenderlo , le realices una prueba de escritorio, con una estructura que apunte a un lista de 10 nodos sera suficiente para que puedas entender que es lo que hace.

5658
C/C++ / Re: Necesito conocer el funcionamiento interno del QuickSort
« en: Miércoles 26 de Marzo de 2003, 18:38 »
Claro que se puede...pero conoces el fuincionamiento básico del algoritmo?
es decir la ordenacion de enteros?

No es nada complicado lo que pides pero si un poco largo de hacer, lo del puntero es lo de menos, todo depende de como hagas tu aplicacion.
Obviamente la funcion de ordenamiento de enteros no te sirve para cadenas , por ello te pregunto si conoces bien el algoritmo , ya que hay que modificarlo segun tus necesidades.

5659
C/C++ / Para todos los principiantes y nuevos de la comunidad...
« en: Miércoles 26 de Marzo de 2003, 18:30 »
:alien:
No soy principiante en c pero tampoco soy muy avanzado, loa verdad estoy en TOTAL DESACUERDO con las personas que pretenden que en el foro les hagamos las tareas, una cosa es colaborar, o hacer notar los errores o ayudarles a corregir su codigo o a hacerlo más eficiente, y otra cosa muy diferente es que pretendan que les hagamos todo, no solo me parece un descaro sino que ademas deshonesto para con ellos mismos... a donde pretenden llegar!!! :hitcomp:   :bad:
Esto de la programación se aprende con practica muchachos, y con  mucha dedicacion, No podemos ser egoistas y negarles a los demas el derecho de aprender, cuando le hacemos todo el trabajo a alguien, estamos truncando sus capacidades humanas.
Como dice Jaime Jaramillo No hay que darles el pescado, sino enseñarles a pescar.

Jaime Jaramillo es muy reconocido a nivel mundial, porque rescata los niños que viven en la calle...en las alcantarillas, y los forma como gente de bien , productiva para la sociedad... muchos niños que han pasado por sus manos, partieron de ser indigentes que no sabian leer ni ecribir, y muchos se encontraban dominados por la droga, hoy en dia son jovenes de bien y excelentes  profesionales.

Por este motivo cite su frase.


Un saludo para todos.

5660
C/C++ / ayuda urgente!!!!!
« en: Miércoles 26 de Marzo de 2003, 18:01 »
si lo requieres hacer con "n" numero de items, debes emplear una estructura dinamica y no un arreglo
es decir no
char cinta[31];

sino algo asi como

struct cadena
{
  struct cinta *back;
  char item;
  struct cinta *next;
}cinta;

La verdad no esta dificil pero si bastante dispendioso, ya que hacer n combinaciones implica que elabores una funcion que te diga la cantidad de nodos en la estructura, otra  que haga iteraciones en cada nodo, otra que controle el numero total de iteraciones en fin...
suerte.
coimo recomendacion borra el codigo que tienes y comienza desde cero ya que tienes bastantes bug... por ahi.

5661
C/C++ / Re: Buscar Funciones en un archivo .c o .h
« en: Miércoles 26 de Marzo de 2003, 17:20 »
:alien:
sinceramente...
muy pocas veces he podido ver un codigo tan horrible... y no lo digo porque este mal programado...
para nada, sino porque sumado a la dificultad "sicologica" del idioma ...ese codigo esta repleto de garabatos y de vueltas innecesarias, como por ejemplo esto:

 
Código: Text
  1.  
  2. /*~E:A3*/
  3. /*~A:4*/
  4. /*~+:Konstanten*/
  5. /*~T*/
  6. #define Zeilenende   ''
  7. #define Punkt        0x2E
  8. #define Buchstabe_C  0x43
  9. #define Buchstabe_H  0x48
  10. #define Klammer      0x7B
  11. #define Semikolon    0x3B
  12. #define LineFeed     0x0A
  13. #define Escape       0x1B
  14. char Backslash[2] =  {0x5C, Zeilenende};
  15.  
  16. /*~E:A4*/
  17. /*~A:5*/
  18. /*~+:Funktionen*/
  19. /*~T*/
  20.  
  21.  
  22.  

No creo que sea màs practico escribir
#define Semikolon    0x3B
y despues invocar Semikolon    , a solo escribir ','... no crees?..., ademas, pues me perdonas por la ignorancia pues tal vez no conozca, pero que le aporta al codigo o a la documentacion del programa esto:

/*~E:A1*/
/*~A:2*/

si se quiere representar algo, no creo que sea la manera mas efectiva de hacerlo .

En fin.  la verdad si me gustaria ayudarte , pero seria muy util que nos enviaras una version del codigo que tu hayas modificado y depurado para hacerle más entendible.

:lightsabre:

5662
C/C++ / Re: Creación de ficheros de forma directa
« en: Miércoles 26 de Marzo de 2003, 16:40 »
quieres manejar archivos en uns estructura de base de datos, manejando por consiguiente el concepto de sinonimos, indices, etc, etc... cierto?

de ser asi, ...ummmm
la verdad no conozco el comando que me dices , habria que investigar las librerias que lo contienen, no se si lo haces en c o en c++ pero lo cierto es que de ser en c yo implementaria mis rutinas con funciones de medio nivel, como el fopen, fwrite etc... y crearia el indice apoyado en las direcciones de memoria(en el disco claro esta).
Para resevar el espacio del archivo crearia primero el espacio de la base de datos, esto es creando un archivo binario lleno de null;
seguidamente escribiria los archivos dentro de este deposito, utilizando fwrite y fseek y al tiempo diligenciando los campos correspondientes en el archivo, o el segmento de la base de datos que hayas reservado como indice.
Para lo de los archivos duplicados(sinonimos) seria conveniente  utilizar un archivo de BD paralelo, igualmente con su respectivo indice...
espero que mis comentarios te sirvan de alguna manera.

5663
C/C++ / Re: no se que más hacer !!!
« en: Miércoles 26 de Marzo de 2003, 16:07 »
:alien:
He detectado estos errores en la escritura de tu codigo:

1.Cero que el primer error, y gravisisimo es que no declaras algunas variables para usarlas, como es el caso de :
-
cin >> n;
no declaraste que ivas a usar la variable entera n en la funcion main

-
int factorial (x) //definicion de la funcion
{

tienes que declararlo asi:
int factorial (int x) //definicion de la funcion
{

-Luego utilizas :
{
factorial=1;
for (int counter=x; counter>=1; counter--)

nuevamente no has declarado  la variable factorial(diferente de la funcion factorial)
ni tampoco la variable counter, segun el tipo de dato que necesites.

-Al final no declaras las variables serie, contador, y factorial.
-al final en:
serie=1+1/factorial;
no le pasaste el parametro a factorial , asi que te quedaria:
serie=1+1/factorial(n);

Creo que no tinese algo claro
, y es que aunque en las funciones utlices variables del mismo nombre que en otras funciones o del mismo nombre que en el main, es necesario que las declares nuevamente ya que cada funcion posee un espacio de memoria independiente* y el compilador necesita saber para que tipo de dato debe reservar memoria... por eso mientras uno aprende, es recomendable no utilizar los mismos nombres de variables entre funciones.
*(esto es cierto con exepcion de los hilos , pero eso ya es un cuento que por ahora sera mejor que no lo toques)


Ahora bien tu programa con estos errores corregidos quedaria como esta a continuacion, aunque corregir esos errores de gramática no garantiza que tu programa haga lo que tu quieres:
 
Código: Text
  1.  
  2. //calculo del numero "e" mediante el desarrollo en serie
  3.  
  4. #include <iostream.h>
  5.  
  6. double serie ([b]int[/b]); //prototipo de funcion
  7. int factorial (int); //prototipo de funcion
  8.  
  9. [b]int[/b] main()
  10. {
  11.   [b]int n=0;[/b]
  12.   cout << "teclee un numero entero positivo para calcular la serie: "<<endl;
  13.   cin >> n;
  14.   cout << "el valor de la serie es de" << serie [b](n)[/b] << endl;
  15.   return 0;
  16. }
  17.  
  18. int factorial ([b]int[/b] x) //definicion de la funcion
  19. {
  20.   [b]int factorial=1;
  21.   int counter; [/b]
  22.   for (int counter=x; counter>=1; counter--)
  23.     factorial*=counter;
  24.   return factorial;
  25. }
  26.  
  27. double serie (int n) //definicion de la funcion
  28. {
  29.   [b]double serie;
  30.   int contador;[/b]
  31.   serie=1+1/factorial[b](n)[/b];
  32.   for(contador=0; contador<=n; contador++)
  33.      serie+ =contador;
  34.   return serie;
  35. }
  36.  
  37.  

Me he tomado el atrevimiento de reescribir tu programa para que haga lo que necesitas, si quieres que te de una explicacion màs detallada de como funciona , o de que hece cada cosa, con gusto lo hare, solo escribeme al foro.
chao suerte.  :lightsabre:
 
Código: Text
  1.  
  2. //calculo del numero "e" mediante el desarrollo en serie
  3.  
  4. #include <stdio.h>
  5.  
  6. double serie (int); //prototipo de funcion
  7. double factorial (double); //prototipo de funcion
  8.  
  9.  
  10. int main()
  11.  
  12. {
  13.   int n=0;
  14.   printf("nteclee un numero entero positivo para calcular la serie: ");
  15.   scanf("%d",&n);
  16.   printf("nel valor de la serie es de: %2.30G",serie(n));
  17.   getch();
  18.   return 0;
  19. }
  20.  
  21. double factorial (double x) //definicion de la funcion
  22.  
  23. {
  24.   double fact=1;
  25.   int count;
  26.  
  27.   for (count=x; count>1; count--)
  28.     fact*=count;
  29.   return fact;
  30. }
  31.  
  32.  
  33. double serie (int n) //definicion de la funcion
  34.  
  35. {
  36.   double ser,e=1;
  37.   int cont;
  38.  
  39.   for(cont=1; cont<=n; cont++)
  40.   {
  41.     ser=1/factorial(cont);
  42.     e+=ser;
  43.   }
  44.   return e;
  45. }
  46.  
  47.  

5664
C/C++ / Re: Creación de ficheros de forma directa
« en: Miércoles 26 de Marzo de 2003, 05:18 »
no entiendo muy bien tu problema, te refieres a crear archivos controlando que ya exista un con el mismo nombre en el mismo directorio-?:think:

5665
C/C++ / Re: Nivel de Conocimientos de los miembro!!!
« en: Martes 25 de Marzo de 2003, 13:45 »
:alien:
Solocodigo posee muchos foros, la mayoria muy interesantes aunque solo dos foros se destacan de los demasos, e Visual Basic y el de C, sin embargo no creo que se deba a alguna telaraña extraña o algo asi(jejeje), naturalmente se debe a que la inmensa mayoria de los programadores del mundo usa Visual Basic, y que la inmensa mayoria de Institucionesuniversitarias o tecnológicas, comienzan a enseñar programacoin con el lengueje C, el resto de lenguajes no son muy conocidos, aunque si me extraña el foro de Java.
Creo que el hecho de que el numero de visitantes sea tan superior al numero de usuarios registrados es normal, ya que finalmente las personas que se registran son las que verdaderamente estan interesadas en la programacion o en aprender algo relacionado y no solo eso sino que los usuarios que se registran son los que tienen interes en enseñar y aportar algo para el grupo.
Nuestro foro ,solocodigo, tiene una interfaz muy amigable, con muchos beneficios como los que nos ha indicado JoseD y el hecho de que no tenga tantos usuario como LWP, creo que solo se debe a 2 cosas:
1. No lleva tanto tieempo como LWP
2. No tiene anuncios de publicidad en muchos lugares "públicos" o algo asi, y esto es una enorme ventaja ya que si tuviera este tipo de anuncios , seguramente tendria que pagarlos y estariamos repletos de publicidad..(guacalaaaa), solo he visto anuncios en algunas paginas independientes.
3.Las pregunatas que he visto sin contestar en estos foros son ese tipo de preguntas que no aportan nada, tales como:
--"Por favor, Necesito que alguien me ayude con un programa en  c que me haga una nomina completa y que imprima asi y asa...etc"

Preguntas que desde luego solo tienen  el interes de que les hagan el trabajo, más no el interes de aprender ni de enseñar nada.

..en fin, creo que no tenemos nada que envidiarles a LWP, las comparaciones suelen ser odiosas, pero nada más mirar la interfaz gráfica, el orden en los foros, el tipo de participaciones...la publicidad(guacala o tra vez), y muchas otras cositas para darnos cuenta que aunque no somos perfectos, si estamos por buen camino. :birthday: :comp:
-+Yo llegue a soloodigo nuevamente(es un poco larga la historia)por un profesor qu me dijo que tal vez aqui conseguiria la informacionque necesitaba para mi trabajo de tesis, sin embargo no lo consegui porque es bastante más avanzado, pero me quede aqui porque me gusto... antes solia visitar LWP porque no tenia un mejor lugar, aunque a decir verdad nunca me senti a gusto con esta WEB, puedo decir que en solocodigo me siento como en casa :food:  :)

5666
C/C++ / Re: Buscar Funciones en un archivo .c o .h
« en: Viernes 21 de Marzo de 2003, 15:38 »
seria de mucha ayuda que pudieramos er el codigo. :lightsabre:

5667
C/C++ / Re: ayuda urgente!!!!!
« en: Viernes 21 de Marzo de 2003, 15:04 »
No entiendo que es lo que pretendes hacer...:
for(a=0;a<31;a=a+3)
{
  cinta[a]='A';
  cinta[a+1]='B';
  cinta[a+2]='C';
}

Aqui entiendo que llenas 'cinta' con valores :
[A][C][A]<b>[C][A]<b>[C][A]<b>[C][A]<b>[C][A]<b>[C]..
Hasta llegar al indice 30.
Seguidamente, si te fijas lo primero que haces en cada vuelta del <b>do
:

do
  {
    Combinaciones(l,m);

es llamar a la funcion Combinacion, y cada que invocas esta funcion llenas el arreglo palabra del caracter ''
  for(a=0;a<101;a++)
  {
    palabra[a]='';
  }
hasta ahi todo va bien, pero luego haces algo innecesario:
cinta[0]='A';
asi que cada vez que llamas a combinacion cinta[0] que da igual a 'A'.. no es necesario que hagas siempre lo mismo.
luego haces esto:
for(a=o;a<n;a++)
  {
    temp[0]= cinta[a];
    temp[1]='';
    strcat(palabra,temp);
  }
para que?  si te fijas el arreglo temp solo tiene dos pocisiones asi que cada entrada al for le borras lo que le acabas de colocar para dejar en temp[1] el mismo '' y cambiar el valor de temp[0], si te fijas el ciclo no hace nada diferente de cambiar siempre los valores de temp.

Revisa muy bien tu programa porque tiene bastntes inconsistencias, acostumbrate siempre a hacer pruebas de escritorio y a correr los programas paso por paso , para asi poder revisar que valores toman las variables en los diferentes momentos de ejecucion.

Suerte. :lightsabre:

5668
C/C++ / Re: numero de serie del disco duro
« en: Miércoles 19 de Marzo de 2003, 16:39 »
tienes varias opciones  pero particularmente en c es mas complicado,
seguramente que debes recurrir a las interrupciones de la bios para accesar al disco y seguramente que abra un servicio de intyerrupcion que te devuelve el numero de serie.
Deben haber en internet varias librerias para el manejo de discos incluso en el libc clasico debe estar un rutinas que haga eso.
Otro metodo seria invocando un comando en el sistema operativo (en este caso vol), invocar esta funcion y capturar su respuesta desde la pantalla.

tratare de averiguar más al respecto.
suerte
:lightsabre:

5669
Visual Basic 6.0 e inferiores / Re: Error en Imagen en un boton
« en: Miércoles 19 de Marzo de 2003, 12:52 »
:alien:
El problema no se debe solucionar copiando solo el archivo ya que cuando hablamos de  CLSID nos referimos a una de las entradas del registro hasta donde tengo entendido.
La solucion de volver a registrar el ocx parece ser muy buena pero la verdad no tengo conocimiento de como hacerlo.Se hace igual que para registrar una dll?
José D me gustaria que me explicaras como puedo hacer lo de volver a registrar el ocx.

gracias :rain:

5670
Visual Basic 6.0 e inferiores / Re: Error en Imagen en un boton
« en: Martes 18 de Marzo de 2003, 20:01 »
:alien:
hay un problema en el registro de uno de los componentes de tu VBasic, asi que lo que te recomiendo es que lo desisntalaes por completo, luego reinicies el equipo, borres de manera permanente las carpetas de Visual Basic, luego reinstala visual basic y si te pregunta si debe sobreescribir o no un componente siempre dile que si.
Cabe la posibilidad de que tu cd de instalacion sea el que este dañado asi que es probable que te siga saliendo el error, entonces como recmendacion, seria conveniente que consiguieras otra copia para instalar.

Suerte
:lightsabre:

5671
Visual Basic 6.0 e inferiores / datareport
« en: Martes 18 de Marzo de 2003, 19:54 »
Podrias detallar un poco mas tu inquitud?

como estas haciendo el select en la base de datos?

5672
C# / Paso de una estrucutra a una funcion,como repanpanos se hace
« en: Lunes 17 de Marzo de 2003, 23:06 »
bueno, ya instale el compilador,
esta es una adaptacion de tu programa para que puedas pasar los parametros:
1.declaré la estructura omo global para poder pasarsela a la funcion, ya que de otro modo la funcion no podria saber que tipo de dato le estoy pasando.
2-Cambie la funcion a debajo del main, ya que ese es mi estilo de programar.:P
3-En este caso pase la estructura como referencia, es decir le entrgue a la funcion la direccion de memoria de mi estructura:
 
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. struct victor
  6. {
  7.   int h;
  8. };
  9.  
  10. void p(struct victor *);
  11.  
  12. int main()
  13. {
  14.   int i;
  15.   struct victor array[10];
  16.  
  17.   for(i=0;i<10;i++)
  18.     array[i].h=0;
  19.   p(array);
  20.   return(int)1;
  21. }
  22. void p(struct victor *v)
  23. {
  24.  printf("holaaa");
  25. }
  26.  
4-en este caso lo hice por valor, es decir le entregue a la funcion el contenido de la direccion de memoria de mi estructura y lo recibi como un espacio completo de memoria:
 
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. struct victor
  6. {
  7.   int h;
  8. };
  9.  
  10. void p(struct victor );
  11.  
  12. int main()
  13. {
  14.   int i;
  15.   struct victor array[10];
  16.  
  17.   for(i=0;i<10;i++)
  18.    array[i].h=0;
  19.   p(*array);
  20.   return(int)1;
  21. }
  22.  
  23. void p(struct victor v)
  24. {
  25.  printf("holaaa");
  26. }
  27.  
  28.  
:lightsabre:

5673
C/C++ / insertar un .obj
« en: Lunes 17 de Marzo de 2003, 22:24 »
bueno, no he utilizado ese compilador
pero seguramente que debe traer la opcion de compilar por consola, si es asi ervisa la sintaxis, ya que debe ser algo muy parecido a esto, que es como se compilaria lo que nos mencioans pero en el gcc.
gcc archivo.c objeto.obj  -o archivo.exe es decir se compila igual que si fueran dos archivos de codigo fuente.
Intenta agregar al proyecto el archivo.obj como si fuera otro archivo de codigo.

Suerte!!!:lightsabre:

5674
Visual Basic 6.0 e inferiores / Re: Comparar los archivos de dos carpetas
« en: Lunes 17 de Marzo de 2003, 19:36 »
con gusto pero lamentablemente estoy en horas de trabajo y no tengo ya instalado el vb por un lado y por otro estoy algo ocupado, talvez en el transcurso de la semana instale otra vez el vb aca, y te pueda ayudar con el codigo
suerte

5675
Tomado de la pagina del guille
http://guille.costasol.net/vb_db.htm#db017
 
Citar
...eso es cierto para el VB5 y para el VB6 pre-SP4, ya que el DAO Datacontrol que se incluye con la nueva "revisión" del VB6 SI reconoce dicho formato, además de que carga de forma automática la Microsoft DAO 3.6 Object Library, sin la cual no se puede acceder a las bases del Access 2000.
Pero puedes llevarte una sorpresa si, (a pesar de indicar en las referencias que se use el nuevo motor de bases de datos 3.6), el VB te avisa de que no hay datos que mostrar...
Esto es cierto si lo que estás probando es un proyecto que ya tuvieras hecho anteriormente, ya que con los nuevos proyectos no hay problemas... la razón es que, (si miras con un editor de textos el contenido de un formulario de VB), lo que se asigna a la propiedad Connect, para un control existente, es diferente del que se asigna para uno nuevo... con lo cual, si quieres que tus proyectos pre-SP4 funcionen sin problemas y sin tener que quitar el control existente y añadirlo de nuevo, (que sería la forma lógica de hacerlo), simplemente tendrás que cambiar la asignación que se le hace a dicha propiedad:
 
Código: Text
  1.  
  2. Nuevo: (vb6, SP4)
  3. ------
  4.       Begin VB.Data Data1
  5.          Caption         =   "Data1"
  6.          Connect         =   "Access 2000;"
  7.  
  8.  
  9. Antiguo: (vb6 SP3... o anterior)
  10. --------
  11.       Begin VB.Data Data1
  12.          Caption         =   "Data1"
  13.          Connect         =   "Access"
  14.  
  15.  
Es decir, cambia el "Access" por "Access 2000;"

Espero que este "truquillo" te alivie algún que otro quebradero de cabeza...
Nos vemos
Guillermo


Como la vez? buenisimo no??
no lo he provado con access 2002 o sea XP, pero de seguro que si te servira.

Esto, es mucho màs recomendado que migrar la base de datos a access 97 y devolverla a access 2002 cada vez que necesites m,odificar algo.
Suerte.
:lightsabre:

Páginas: 1 ... 225 226 [227] 228 229 ... 231