• Sábado 10 de Mayo de 2025, 17:02

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

Páginas: 1 ... 5 6 [7] 8 9 ... 14
151
C/C++ / Re: Handles
« en: Miércoles 4 de Abril de 2007, 12:19 »
es lo mismo:

Código: Text
  1. typedef void* PVOID
  2.  

que

Código: Text
  1. typedef void *PVOID
  2.  

152
C/C++ / Re: Handles
« en: Martes 3 de Abril de 2007, 00:59 »
estuve revisando la documentacion y encontre esto que no entiendo.
Citar
Handle to an object.
This type is declared in WinNT.h as follows:


typedef PVOID HANDLE;

y busque que es un PVOID.

Citar
Pointer to any type.
This type is declared in WinNT.h as follows:


typedef void *PVOID;
no entiendo el *PVOID. Que hace ese operador de indireccion? si no hay definido un PVOID de esta forma.

Citar
typedef void PVOID;
Yo me refiero a que si quiero usar un tipo de dato PVOID es posible pero no esta definido, o si?

153
C# / Re: Trabajar Con Varios Formularios.
« en: Martes 3 de Abril de 2007, 00:55 »
a ver si entiendo... vos lo que queres es que cada form sea independiente de los demas?, y que si cerras el main form  te queden los demas abiertos?

154
C# / Re: Trabajar Con Varios Formularios.
« en: Lunes 2 de Abril de 2007, 19:13 »
mmmm, no entiendo bien que queres hacer, pero estas seguro que un form MDI no es lo que buscas?

http://www.codeproject.com/csharp/mdiformstutorial.asp

155
C/C++ / Re: Api De Windows
« en: Lunes 2 de Abril de 2007, 17:01 »
Cita de: "SteelX"
como dijo Eternal MFC es un Wrapper del Api de Windows. En el Api de windows se debe escribir mas codigo y el MFC es mas comodo de usar, claro esta cuando lo aprendas.

El Visual C++ express NO trae MFC, en cambio de eso podras usar ATL o WTL . para poder usar el API de Windows deberas descagar el PSDK.
si bajo el visual c++ express 2005 para usar la api necesito el PSDK?

156
C/C++ / Handles
« en: Lunes 2 de Abril de 2007, 15:57 »
Hola, algunas cosas no me quedan claras con respecto a que son los handles. Encontre esta definicion simple que fue lo que mas me aclaro las cosas.

Citar
manejadores ( handles ). Esto es un valor entero único definido por el entorno operativo y utilizado para referirse a objetos tales como formularios, controles, etc. Un handle es un número de identificación. HWnd es un handle para referirse a una ventana, hDC es un handle para referirse al contexto de dispositivo de un objeto ( Device Context ).

Por lo que entiendo es un numero entero que lo "entrega" el SO para referirse a algo en particular, no?. Bueno, pero mi duda radica en que por ej tuve que usar un par de funciones para manejar directorios y una de ellas devolvia un handle.

Código: Text
  1.  HANDLE hFind;
  2.  
  3.  hFind = FindFirstFile("c:\\*", &FindFileData);
  4.  

Lo que no entiendo es el por que de tantos manejadores en la API?, o sea, ahi a que hace referencia ese handle, a algun objeto en particular?. Luego ese mismo manejador se lo tengo que pasar a la funcion FindNextFile.

157
C/C++ / Re: Api De Windows
« en: Lunes 2 de Abril de 2007, 15:16 »
Cita de: "L1zb3th"
mmmmmm, de IDE uso el Dev-cpp que ya viene con lo de la api de windos yyyy...
para eso que queres, te subi el manual de referencia de API WIN32
ahi tan todas las funciones detalladas ..
yo queria lo mismo que vos xD y ese manual me salvo ^.^
te explica todo, como hacer hilos,obtener info de la pc,etc,etc,etc,etc xD

aca te subi ese manual : rapidshare.com/files/21334525/BC52HLP1.ZIP.html
enjoy !
si queres lo paso a megaupload ...
ya lo descargue, esta muy bueno. Muchas Gracias. Se puede saber de donde lo conseguiste?

158
C/C++ / Re: Leer El Contenido De Un Directorio[c]
« en: Lunes 2 de Abril de 2007, 14:36 »
Muchas Gracias. Me surgio una duda. Cuando programas usando la API, como haces para conocer los campos de las estructuras?, en el MSDN esta, pero el ide que usas tiene intellisense?

159
C/C++ / Re: Api De Windows
« en: Lunes 2 de Abril de 2007, 13:35 »
Cita de: "JuanK"
se trata de evitar y esa es la tendencia...

que si tiene futuro ... lo sera por unos años mas, o puede que nunca se deje de usar del todo pero en esencia es no usarla sino es estrictamente necesario.
si tengo que hacer un proyecto sobre windows y si o si tiene que ser C++ que alternativas hay para dejar de usar la API?. Bueno, ya que mencionaron esta la MFC, wxwidgets y cuales mas?

160
C/C++ / Re: Api De Windows
« en: Lunes 2 de Abril de 2007, 03:44 »
tiene futuro seguir usando la API, o ya se trata de evitar, o microsoft tiene una tendencia a que se deje de usar?

161
C/C++ / Re: Leer El Contenido De Un Directorio[c]
« en: Domingo 1 de Abril de 2007, 23:10 »
lo intente usar con la api de windows pero tengo un error y todavia no logro solucionarlo.

Código: Text
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. int main()
  6. {
  7.   WIN32_FIND_DATA FindFileData;
  8.   HANDLE hFind;
  9.  
  10.   hFind = FindFirstFile("c:\\", &FindFileData);
  11.   if (hFind == INVALID_HANDLE_VALUE)
  12.   {
  13.     printf ("Invalid File Handle. GetLastError reports %d\n", GetLastError ());
  14.   }
  15.   else
  16.   {
  17.     printf ("The first file found is %s\n", FindFileData.cFileName);
  18.  
  19.     FindClose(hFind);
  20.   }
  21.  
  22.   getch();
  23.   return 0;
  24. }
  25.  

el error es:
Citar
Invalid File Handle. GetLastError reports 2

162
C/C++ / Re: Uso De Funciones De C En C++
« en: Domingo 1 de Abril de 2007, 20:13 »
yo lo que no entiendo a lo que se refiere cuando dice "una funcion de C", como se distingue una funcion de C y otra de C++?

163
C/C++ / Uso De Funciones De C En C++
« en: Domingo 1 de Abril de 2007, 15:42 »
hola, me parecio curioso el hecho de que para usar funciones de C en C++ haya que hacerlo de la siguiente manera.
Código: Text
  1. extern "C" void xmalloc (unsigned size);
  2.  

o en bloque:

Código: Text
  1. extern "C"
  2. {
  3.      .
  4.      .
  5.      .
  6. }
  7.  
Lo que no entiendo es el porque hay que hacerlo asi?, a que se refiere el hecho de usar una funcion de C en C++, el codigo no es el mismo en C++?

164
GNU/Linux / Re: Instalar Firefox-2.0.0.3
« en: Domingo 1 de Abril de 2007, 15:29 »
fijate en seguro trae algun archivo con nombre README o INSTALL y te explica como hacerlo.

165
C/C++ / Re: Como Ejecutar Un .exe Desde C++
« en: Sábado 31 de Marzo de 2007, 22:27 »
creo que con la funcion system y exit podrias hacer lo que pedis.

http://www.conclase.net/c/librerias/funcion.php?fun=system

166
C/C++ / Punteros A Funciones
« en: Viernes 30 de Marzo de 2007, 18:11 »
Hola, debido a que surgio un thread muy interesante de punteros a punteros, me gustarian si es posible explicar un poco para que sirven los punteros a funciones y como se utilizan.

167
C/C++ / Re: Puntero A Punteros
« en: Viernes 30 de Marzo de 2007, 17:17 »
Cita de: "JuanK"
Según he tradtado de en entender
el punto de vista de Eternal Idol es que dado que

float p

es una variable y toda variable es una direccion de memoria, el hecho de tener

float f= 2.0f;
float *pf= &f;

implica que pf este apuntando a f y que como f es otra dirección de memoria entonces pf es un puntero a un puntero, cosa que no estoy de acuerdo.  <_<
creo que si.

168
C/C++ / Re: Puntero A Punteros
« en: Viernes 30 de Marzo de 2007, 15:53 »
Cita de: "JuanK"
Lo que tu citas es un puntero a 4 punteros, no 4 punteros a punteros,

float f;<- variable (que obviamente es una dirección de memoria donde se contiene el float)

float* fp;<- puntero a float, una variable que contiene una direccion de memoria, de ahi que para 'mover el puntero' se pueda hacer fp++ lo cual es aumentar el valor contenido en uno, o sea desplazarce una posicion en la direccion de memoria apuntada
 
float** fpp;-> puntero a puntero float, pero es solo un puntero que puede direccionar 4 posiciones de memoria reservadas.

Un reflexion adicional:

si tengo

Código: Text
  1. char *c;
  2.  
  3. c = (char*)malloc(10);
  4.  

esta claro que c contiene la direccion de memoria del bloque creado con malloc, pero ese bloque no es un 'bloque de punteros' es un 'bloque de caracteres'.

entonces

Código: Text
  1. char** z;
  2. z = (char**)malloc(10 * sizeof(char*));
  3.  

z tiene la dirección de un 'bloque de 10 punteros' , o sea z es un puntero a 'un bloque de 10 punteros'...
estos a su vez pueden apuntar a '10 bloques de caracteres' cada uno.

así que tenemos solo un puntero apuntado 4punteros más.

En conclusión  z es puntero a puntero... solo 1 no 10.
exactamente es lo mismo que yo entiendo, pero no logro entender a lo que se refiere Eternal Idol.

169
C/C++ / Re: Puntero A Punteros
« en: Viernes 30 de Marzo de 2007, 13:38 »
Cita de: "Eternal Idol"
El primer grafico no representa lo que yo le dije que hiciera, te lo dejo con el codigo y tal vez lo entiendas. Hay cuatro direcciones de memoria (punteros float **) reservadas con la primera linea del codigo y estas apuntan a otras cuatro direcciones de memoria (punteros float *) reservadas en un bucle en la segunda linea. Por lo tanto tenemos 4 PUNTEROS (float **) A PUNTEROS (float*) que apuntan a cuatro valores distintos asignados en las lineas siguientes. Posteriormente vemos los valores en pantalla y liberamos primero los cuatro float * y despues los cuatro float **. ¿No es lo que muestra tu grafico, no? Eso es un puntero a puntero, eso es lo que pidio AnioN y lo que vos propones es un PUNTERO, A PUNTERO, A PUNTERO (TRIPLE PUNTERO) que obviamente contiene un PUNTERO A PUNTERO (DOBLE PUNTERO) que es lo que yo propongo. Considero entonces que estas dando una solucion mas compleja que el problema planteado.

Código: Text
  1.  
  2. float **float_value s= float_values = (float**)malloc(4 *sizeof(float*));
  3. for (int x= 0; x &#60; 4; x++) {  float_values[x] = (float*)malloc(sizeof(float)); }
  4. *float_values[0] = 3.51;
  5. *float_values[1] = 4.62;
  6. *float_values[2] = 5.73;
  7. *float_values[3] = 6.84;
  8. for (int x= 0; x &#60; 4; x++) { printf(&#34;%f&#092;r&#092;n&#34;, *float_values[x]); }
  9. for (int x= 0; x &#60; 4; x++) {  free(float_values[x]); }
  10. free(float_values);
  11.  
  12.  

Este grafico si representa mi codigo:


Notese que puedo acceder a los datos con dos indirecciones, por algo sera, es un puntero a un puntero. ¿AnioN te parece que lo que vos querias era eso que dice JuanK? JuanK hacenos el favor y mostranos tu codigo completo que sirva para trabajar con 4 punteros a punteros.
si es como decis, en la primera linea reservas memoria para los dobles punteros, en el bucle para los punteros pero donde reservas para las variables que apuntan los punteros?
No entiendo que hace la s.
Código: Text
  1. float **float_value s= float_values = (float**)malloc(4 *sizeof(float*));
  2.  

170
C/C++ / Re: Puntero A Punteros
« en: Viernes 30 de Marzo de 2007, 01:09 »
cada vez entiendo menos, a ver, vamos por partes.

Segun esto:
Código: Text
  1.  
  2.  
  3.           float **float_values;
  4.  
  5.  
  6.  
  7.      //allocate memory for rows
  8.  
  9.      float_values = (float**)malloc(4 *sizeof(float*));
  10.  
  11.  



Con esto se estarian creando 4 punteros?

171
C/C++ / Re: Puntero A Punteros
« en: Jueves 29 de Marzo de 2007, 23:09 »
no te entiendo que es lo que queres decir, podes ser un poco mas claro?. Si me decis que con esto se puedel almacenar 4 punteros entonces son punteros a punteros.

float **float_values;
float_values = (float**)malloc(4 *sizeof(float*));

y que estarias haciendo con esto?
float_values = (float***)malloc(4 *sizeof(float**));

172
C/C++ / Re: Puntero A Punteros
« en: Jueves 29 de Marzo de 2007, 22:53 »
Cita de: "JuanK"
SI
entonces la forma que mencionas para crear 4 punteros a punteros es erronea, o me equivoco?

173
C/C++ / Re: Puntero A Punteros
« en: Jueves 29 de Marzo de 2007, 22:50 »
o sea podes almacenar 4 punteros no? con esto?

float **float_values;
float_values = (float**)malloc(4 *sizeof(float*));

174
C/C++ / Re: Puntero A Punteros
« en: Jueves 29 de Marzo de 2007, 21:55 »
otra duda es, con este codigo:

Código: Text
  1.  
  2.  float **float_values;
  3.  float_values = (float**)malloc(4 *sizeof(float*));
  4.  

Ahi lo que hace es crear 4 punteros en forma dinamica, no?, y si quiero crear en forma dinamica 4 punteros a punteros?

175
C/C++ / Re: Puntero A Punteros
« en: Jueves 29 de Marzo de 2007, 21:40 »
Cita de: "Bicholey"
:P  :P  :P  :P


En una retornas el valor de cpp y en otra lo que contiene la direccion de cpp
o sea, la segunda linea muestra donde apunta el puntero a puntero?

Código: Text
  1. #include &#60;stdio.h&#62;
  2. #include &#60;string.h&#62;
  3. #include&#60;stdlib.h&#62;
  4.  
  5.  
  6. int main()
  7. {
  8.  char **cpp;
  9.  char *cp;
  10.  char c = 'a';
  11.  
  12.  cp = &c;
  13.  
  14.  cpp = &cp;
  15.  
  16.  printf(&#34;%c&#092;n&#34;, c);
  17.  printf(&#34;%x&#092;n&#34;, &c);
  18.  
  19.  printf(&#34;%p&#092;n&#34;, &cpp);
  20.  printf(&#34;%p&#092;n&#34;, cpp);   //  esta es equivalente a  printf(&#34;%x&#092;n&#34;, &cp);
  21.  
  22.  return 0;
  23. }
  24.  

Páginas: 1 ... 5 6 [7] 8 9 ... 14