Ctrl+Alt+Supr, blog de Ollydbg
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
No hace mucho Btc me comentó algunos problemas que tenía con su B-File Renamer, en concreto con la gestión de hilos que hace su programa para el renombrado masivo de los archivos. Por este motivo me he animado a escribir este pequeño tutorial para mostrar un pequeño ejemplo práctico de como implementar una 'solución' que emplea el uso de hilos (threading en inglés).
Una de las principales ventajas de las aplicaciones que emplean hilos es que pueden hacer 'más de una cosa' al mismo tiempo. En la realidad prácticamente todas las aplicaciones ya usan internamente más de un hilo, lo que ocurre es que esto se realiza de forma transparente para nosotros.
En nuestro caso queremos que un determinado método, función, clase o lo que sea se ejecute en otro hilo. Normalmente estos métodos, funciones, clases o lo que sea que queremos ejecutar dentro de un hilo consumen bastante tiempo.
Pongamos el caso del B-File Renamer. Renombrar todos los archivos de una determinada carpeta puede llevar 1 minuto o más, dependiendo lógicamente de la cantidad de archivos a renombrar.
Lo que no debería hacer la aplicación (B-File Renamer en este caso) es 'quedarse colgada' mientras renombra 2000 ficheros.
Ya hace algún tiempo vimos cómo trabajar con bases de datos (Tutorial 22 y Tutorial 23) Hoy veremos como usar una base de datos, SQL Server en este caso en una aplicación Web.
En esta base de datos que está alojada en un servidor Web enviaremos una serie de "puntuaciones" mediante una aplicación de Windows Forms que posteriormente se visualizarán.
Lo primero que deberemos hacer es crear tanto la base de datos como la tabla para las "puntuaciones".
Una forma rápida de hacer esto es usando el Microsoft SQL Server Management Studio del que ya hablamos en los tutoriales anteriores.
Para este tutorial se ha creado la base de datos: testASPdatabase
En dicha base de datos se ha creado una tabla llamada: HIGHSCORES
Sería algo como esto:
La tabla HIGHSCORES tiene únicamente tres campos:
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
Nuevos enlaces descargas Tutoriales
1 al 24, MouseOdometerNET, PingScanner y
OllySecrets (1 y 2) (Actualización 05/02/2011)
