|
831
|
Programación / Programación C/C++ / Re: aprender a usar la API de windows.
|
en: 7 Enero 2017, 16:21 pm
|
BOOL WINAPI CopyFileEx( _In_ LPCTSTR lpExistingFileName, _In_ LPCTSTR lpNewFileName, _In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine, _In_opt_ LPVOID lpData, _In_opt_ LPBOOL pbCancel, _In_ DWORD dwCopyFlags );
Esa función, ¿qué hace? Copies an existing file to a new file, notifying the application of its progress through a callback function. Copia un archivo a un nuevo archivo, y notifica a la aplicación del progreso. Bien, pues por partes. Hay argumentos que se deducen solos, sin necesidad de ver la documentación (Aunque siempre está bien revisar): - lpExistingFileName - Nombre del archivo a copiar
- lpNewFileName - Nuevo nombre del archivo
- lpProgressRoutine - Como pone en la descripción de la función, la función notifica a la aplicación del progreso. Este parámetro es una función, un callback que será llamado para notificar el progreso. En la MSDN especifica: "This parameter can be NULL.". Así que lo ponemos a NULL si no queremos notificación. Si quisieras tener notificación, en la MSDN poneq ue está función tiene que recibir estos parámetros: https://msdn.microsoft.com/es-es/library/windows/desktop/aa363854(v=vs.85).aspx
- lpData - El callback recibe un parámetro que tú le puedes pasar. Lo que pongas en este parámetro lo recibirá el callback.
- pbCancel - Este parámetro es un puntero a bool (LPBOOL). Si en algún momento mientras la función está trabajando, cambias el bool al que apunta a TRUE, se cancelará la copia.
- dwCopyFlags - Este parámetro es un conjunto de "flags" para indicar cómo quieres que trabaje la función. En la MSDN ves qué flags le puedes pasar. Por ejemplo, podrías pasarle: COPY_FILE_FAIL_IF_EXISTS | COPY_FILE_NO_BUFFERING (Al pasar flags, se suele utilizar el operador OR (|))
En fin. Tendrás que leer la MSDN para cada parámetro. Está todo explicado. Si tienes alguna duda en algún parámetro en especial de alguna función, exponla. No sé si hay MSDN en español, pero no creoq ue sea necesaria. Toca aprender inglés. Y sino, traducirlo con algún traductor.
|
|
|
832
|
Programación / Programación C/C++ / Re: Buscando Overflow.
|
en: 6 Enero 2017, 22:25 pm
|
El segmentation fault salta cuando el Sistema Operativo lo detecta y así ocurre. Digo esto, porque es posible que, si bien la memoria no pertenece a esa variable, pertenezca igualmente a tu programa. Luego, están los mecanismos que use el SO para detectar este problema, de los cuales no tengo información.
Por ejemplo, a mi ese programa me tira la violación de acceso al salir del buffer por 13 bytes, mientras que por 12 bytes no tira error.
|
|
|
834
|
Programación / Programación General / Re: (Duda) Bots
|
en: 6 Enero 2017, 20:02 pm
|
Bots se pueden hacer en multitud de lenguajes. Cualqquier lenguaje que pueda, por ejemplo, generar eventos de teclado y click, podría servir. Depende de las necesidades del bot, claro está.
Cada persona tardará lo que tarde en programar un programa :X
Y no tengo nada que comentar de ese bot.
|
|
|
836
|
Programación / Programación C/C++ / Re: BITS
|
en: 6 Enero 2017, 14:35 pm
|
Un 3 y un 4 sí, se pueden sumar con el operador OR. Pero no todos lso números pueden. 3 y 4 sí, porque no hay bits repetidos: Sin embargo, 3+2: 3: 0011 2: 0010 3+2 != 0011 (3) Y sobre información sobre estas operaciones, pues lo que puedas encontrar por ahí tanto sobre puertas lógicas en electrónica como de operadores a nivel de bit. Lo único, que en programación, estos operadores afectan a cada uno de los bits (una puerta lógica generalmente acepta solo 2 bits, así que los operadores hacen esta puerta en cada uno de lso bits).
|
|
|
840
|
Programación / Programación C/C++ / Re: Listas - ¿Cómo enfocaríais el valor de retorno de las búsquedas?
|
en: 4 Enero 2017, 23:39 pm
|
Nunca he usado una lista queriendo saber la posición de los elementos. Para ello suelo escoger un array dinámico.
En cualquier caso, si quieres que la función de búsqueda retorne la posición, puedes hacer una estructura que almacene puntero al nodo y posición.
Si el conocer la posición es algo que usarás contadas veces, puedes hacer lo que comentas, de una función que diga la posición de un nodo en la lista.
Es tu lista, tú la usarás, y tú dirás cómo quieres que esté implementado. Lo más estándar que te puedo decir, es la implementación de la librería estándar, y ahí no te dice la posición. (Hay funciones que dan la posición dado un iterador, eso sí)
|
|
|
|
|
|
|