elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Resuelto] Problema con while
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Problema con while  (Leído 2,381 veces)
Rhertz

Desconectado Desconectado

Mensajes: 10



Ver Perfil
[Resuelto] Problema con while
« en: 11 Abril 2011, 21:18 pm »

Estoy leyendo un Richbox de otra aplicación desde la mia, funciona perfecto hasta que intento obtener cada linea en un bucle, estoy seguro que es error mio en el bucle porque editando manualmente donde puse nbucle sale perfecto...
Código:
 DWORD dwlineas = SendMessage(hListWnd,EM_GETLINECOUNT,0,0); // Obtengo la cantidad de lineas del RichTextBox
   int nbucle=0; // marco el 0 en el bucle
  
    while(nbucle<=dwlineas){ // lo inicio
    DWORD dwCount = SendMessage(hListWnd,EM_LINELENGTH,0,0); // obtengo el largo de la linea
if(dwCount){ // si todo esta correcto
char* lpBuff = new char[dwCount+1]; // creo que es un puntero con el largo de la linea +1
if(!lpBuff){ // si no hay buffer, error
MessageBox(NULL,"Error with memory!",NULL,MB_OK);
return 1;
}
if(LB_ERR != SendMessage(hListWnd,EM_GETLINE,nbucle,(LPARAM)lpBuff)){ // si no hay error, obtengo la linea, nbucle es la linea que quiero
cout<< "Bucle: " << nbucle << endl; // me da el número de bucle
            cout << lpBuff << endl; // imprime la linea
}
delete [] lpBuff; // borro el puntero del buffer
}
    //
    nbucle++; // sumo uno al bucle
    Sleep(2000); // espero 2 segundos
    }

El código funciona sólo con la primer linea, si quito el while y pongo que me de otras lineas funciona perfectamente, dentro del bucle no obtiene más que la primera, a ver si alguien me puede ayudar.


« Última modificación: 1 Mayo 2011, 02:45 am por Rhertz » En línea

Rhertz

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Re: Problema con while
« Respuesta #1 en: 1 Mayo 2011, 02:44 am »

Resuelto, hay que usar EM_LINEINDEX para obtener la diferencia de caracteres que hay que poner en LINELENGTH y así obtener el ancho correcto


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema empezando con SDL[RESUELTO]
Programación C/C++
Komodo 4 2,765 Último mensaje 14 Septiembre 2010, 17:38 pm
por Komodo
Problema con cuadrado mágico [RESUELTO]
Programación C/C++
bigfu 7 12,781 Último mensaje 14 Enero 2016, 02:11 am
por Dayciber
Ayuda con problema [Resuelto]
Java
Afsoon 2 2,701 Último mensaje 13 Noviembre 2011, 17:15 pm
por Afsoon
Problema con codigo c++ [resuelto]
Programación C/C++
elkiy 2 2,405 Último mensaje 6 Junio 2012, 18:07 pm
por elkiy
[RESUELTO] Problema con Postfix
GNU/Linux
sexto 0 1,930 Último mensaje 13 Marzo 2013, 18:42 pm
por sexto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines