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ú

Temas - xassiz~

#1
Hardware / Cómo limpio la lectora de DVD
12 Marzo 2011, 21:59 PM
Bueno, hace unos días me empezó a fallar la lectora de DVD (grabadora).


Supongo que puede ser por la suciedad acumulada.

¿Como la limpio y con qué?


Saludos! :rolleyes:
#2
#Solucion del post

Bueno, estaba practicando con listas enlazadas en C, pero no se porque no me va esto :xD

El caso es que no me deja ingresar bien los datos, ¿uso mal fgets()?

Código (c,21,23,45) [Seleccionar]

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct _contacto {
   char nombre[33];
   char telefono[13];
   struct _contacto *siguiente;
};
struct _contacto *primero, *ultimo;

void agregar_contacto()
{
    struct _contacto *nuevo;
    nuevo = (struct _contacto*)malloc(sizeof(struct _contacto));
    if(nuevo==NULL){
        printf("\nNo hay espacio suficiente.");
        return;
    }
    printf("\n\nAgregar contacto\n");
    printf("------------------");
    printf("\nNombre: ");
    fgets(nuevo->nombre,32,stdin);
    printf("\nTelefono: ");
    fgets(nuevo->telefono,12,stdin);
    nuevo->siguiente = NULL;
    if(primero==NULL){
        primero = nuevo;
        ultimo = nuevo;
    } else {
        ultimo->siguiente = nuevo;
        ultimo = nuevo;
    }
}

void buscar_contacto_tlfn()
{
    struct _contacto *busqueda, *actual;
    busqueda = (struct _contacto*)malloc(sizeof(struct _contacto));
    if(busqueda==NULL){
        printf("\nNo hay espacio suficiente.");
        return ;
    }
    printf("\n\nBuscar contacto por telefono\n");
    printf("----------------------------");
    printf("\nTelefono: ");
    fgets(busqueda->telefono,12,stdin);
    actual = primero;
    while(actual!=NULL){
        if(strcmp(actual->telefono,busqueda->telefono)==0){
            printf("+Nombre: %s\n", actual->nombre);
            return;
        }
        actual = actual->siguiente;
    }
    printf("No encontrado.");
}


int opcion = 0;

void mostrar_menu()
{
    opcion = 0;
    printf("\n\n\n MENU\n");
    printf("======\n");
    printf("1. Agregar contacto\n");
    printf("2. Buscar contacto por telefono\n");
    printf("3. Salir\n");
    scanf("%i", &opcion);
}

int main()
{
   while(opcion!=3){
       mostrar_menu();
       switch(opcion)
       {
           case 1:
               agregar_contacto();
               break;
           case 2:
               buscar_contacto_tlfn();
               break;
           default:
               break;
       }
   }
   return 0;
}


Saludos!
#3
ASM / [MASM] Busca offsets
5 Febrero 2011, 22:36 PM
Bueno, os dejo mi primera aplicación en ASM (MASM32).

Busca el offset de una función específica en una DLL. Solo hay que modificar "libreria" y "funcion" en .data (tengo que aprender a hacerlo pasando parámetros por línea de comandos).

Código (asm) [Seleccionar]
;Busca offsets - by pablomi
.386
.model flat, stdcall
option casemap :none

include \masm32\include\masm32rt.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\masm32.lib

Main PROTO

.data
    libreria db "msvcrt.dll",0
    funcion db "printf",0
    error db "No se encontro el proceso.",0

.code
codigo:
    invoke Main
    invoke ExitProcess, 0

Main PROC
    LOCAL resultado:DWORD
   
    invoke LoadLibrary, addr libreria
    invoke GetProcAddress, eax, addr funcion
    mov resultado, eax
    cmp resultado, NULL
    je Error
    invoke StdOut, uhex$(resultado)
    ret
Error:
    invoke StdOut, addr error
    ret
Main ENDP

end codigo


Espero críticas, sugerencias o lo que sea :xD
#4
Bueno, antes tenía XP y todo iva bien.

Ahora tengo Windows 7, y no puedo conectarme a mi router de forma inalámbrica, tengo que estar por cable.

Mi Adaptador USB Wifi no me detecta nada.


Estuve buscando drivers, llegué a encontrar este modelo en la página oficial de telefónica, y había un apartado que ponía Software, pero la descarga ponía hasta XP.

Igualmente me lo bajé para probar, y lo ejecuté en modo de compatibilidad con XP.

Todo iva bien hasta el final hasta que me tiró un error:
CitarERROR_LOCAL_SERVICE


¿Alguien sabe si no es compatible con Windows 7 o si existe algún driver que funcione?

Algo me dice que me voy tener que comprar otro T.T
#5
Veamos, la historia es larga.

Yo tenía Windows XP instalado en C:\ ocupando los 232 gigas de disco.

Me pareció interesante reducirlo 30 gigas y dejarlos libres para poner un bonito Ubuntu 10.10.

Lo hice, y creé una nueva partición U:\ (de Ubuntu :xD).


Vale, me puse a instalar ubuntu desde el cd, y elegí (o creí elegir) la nueva partición. El caso es que al final me dio un error y no se me instaló.

Reinicié el pc y ya no había ni windows y ubuntu T.T

Luego, conseguí por fin instalar Ubuntu. Investigando, con GParted y TestDisk conseguí recuperar la partición de Windows (o por lo menos un pedazo, porque ubuntu debió sobreescribirle algunos bytes).

El caso es que desde ubuntu monto la partición y puedo ver los archivos. Pero en el boot al elegir el Windows XP se me queda la pantalla en negro y no carga.


Estuve leyendo acerca de modificar algunos archivos como /etc/default/grub.cfg o /etc/grub.d/40_custom, pero sin resultados.


¿Alguna idea de porqué no me carga correctamente?


Saludos,
Pablo :rolleyes:
#6
Pues eso, tengo un amigo que tiene este problema.

Tiene un router, y el ordenador al otro lado de la casa, y no le llega la señal. Entonces quiere poner otro router por el medio para solucionarlo.

Dice que ya probó de todo, le puso el mismo firmware (el básico que trae por defecto) a los dos y lo volvió a reinstalar por si acaso, pero nada.


Siguió este tutorial:
http://www.adsltodo.com/videopop.php?vid=1170079853&url=http://www.adsltodo.com


A qué se puede deber?
#7
Bueno, por ahí en un post preguntaban como hacer esto, me propuse a hacerlo y se me ocurrió un algoritmo y me gustó bastante como quedó mi código, utilizando una funcion llamada nprint que programé para que muestre por pantalla una cadena un número determinado de veces.

Con esa función y unos retoques se consigue facilmente mostrar una pirámide de asteriscos.

Modificando la variable pisos podemos cambiar el numero de filas que compondrán la pirámide.

     *
   ***
  *****
*******


#include<stdio.h>

//Contruccion de piramide - por pablomi

void nprint(char *cadena, int veces);

int main()
{
int pisos = 5; //Numero de pisos de la piramide

int espacios = pisos-1;
int i, x;
i = x = 1;

while(i<=pisos)
{
nprint(" ", espacios);
nprint("*", x);
nprint(" ", espacios);
printf("\n");
espacios -= 1;
x += 2;
i++;
}
return 0;
}

void nprint(char *cadena, int veces)
{
int i;

for(i=0; i<veces; i++)
printf(cadena);
}


¿Qué os parece? ;D