Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - ivancea96

#831
Cita de: str0nghack en  7 Enero 2017, 00:34 AM
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?
CitarCopies 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 C/C++ / Re: Buscando Overflow.
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.
#833
Programación C/C++ / Re: BITS
6 Enero 2017, 21:56 PM
Puedes hacerlo manualmente con puertas lógicas. Pero tendrías que ir bit a bit. Será mucho menos eficiente, eso sin duda.
Sobre cómo sumar con puertas lógicas, es algo más dado a la electrónica: http://www.electronica.com.es/content/25-sumadores-binarios
No es solo una operación. Hay que hacer varias cosas. Todo eso y más es lo que hace el procesador ejecuta una instrucción de sumar.
#834
Programación General / Re: (Duda) Bots
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.
#835
La API de Windows lo que tiene es que hay que hacer las cosas paso a paso.

Para cualquier información de sus funciones, tendrás la MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx, con todo bastante bien explicado y, a veces, algún ejemplo de uso.

De todos modos, la WinAPI es muy grande. ¿Qué necesitas de ella?
#836
Programación C/C++ / Re: BITS
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:
3:   0011
4:   0100
3+4: 0111


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).
#837
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html

Lo primero que diré es: Usa el que más te convenga en cada momento, o al que mejor partido le saques. Hay ilimitadas formas de sacar leer datos de un stream, como es System.in, esas son 2 posibilidades.

Por poner diferencias, el Scanner tiene para leer int, float, palabras, etc... mientras que BufferedReader se limita a leer lineas. (A parte de todas las demás funciones que tienen ambos).

Si buscas algo rápido, yo te diría que utilices el Scanner. Pero es tu decisión.
#838
Exactamente. fgets va a presuponer que 's' apunta a una dirección válida con al menos un tamaño de 'n'.
#840
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í)