| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
Pablex
Registrado: 09 Nov 2006 Mensajes: 12
| Publicado: 26/08/2008 7:05 am | | | Título: recorrido de Cadenas en WinAPI |
| Hola a todos los del foro...
Tengo un problema, necesito saber como se puede hacer recorrido de cadenas, como se hace con punteros en C estandar, pero programando con el Win API. Necesito obtener acceso al texto introducido en un control "EDIT", el cual esta en el MainWin para recorrerlo e ir tomando instrucciones digitadas en él. Ya tengo el control programado y funcional, pero no logro tomar el inicio de la cadena para procesarla. Espero expresar claramente mi consulta... Cualquier sugerencia sera agradecida... GRACIAS
Utilizo DEV C++ y Win XP |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 2479 Ubicación: Valladolid (España)
| Publicado: 26/08/2008 2:04 pm | | | Título: |
| Deberías empezar por algun curso basico de punteros, por ejemplo Curso punteros cortesia de Ted Jensen .
S2. _________________ La cuestión no es si hay vida inteligente en otros planetas lejanos. La cuestión es si hay vida inteligente aquí. |
|
| Volver arriba | |
 |
Pablex
Registrado: 09 Nov 2006 Mensajes: 12
| Publicado: 12/09/2008 9:28 am | | | Título: |
| Hola a todo... "cheroky" creo que no exprese bien mi problema acerca del recorrido de cadenas.
El doc de punteros al que me remitiste esta bueno pero no me ayuda mucho ya que el recorrido de cadenas no es mi problema, sino más bien, necesito alguna función o la manera de obtener el puntero al inicio de la cadena, editada en el control EDIT programado con el API y con DEV C++, para así recorrerla.
Además he leido un poco acerca del manejo de cadenas desde el API, y posee algunas diferencia. Por ejemplo que al final de cada linea no solo encontramos el "\n" sino además "\r\n" o algo así, no me a quedado muy claro. Por lo que me gustaria ayuden con esta y otras particularidades... GRACIAS |
|
| Volver arriba | |
 |
|
cheroky
Registrado: 22 Sep 2005 Mensajes: 2479 Ubicación: Valladolid (España)
| Publicado: 12/09/2008 12:17 pm | | | Título: |
| '\r' y '\n', retroceso y salto de linea respectivamente es relativo a ficheros de texto y a como deben ser tratadas dichas lineas por las funciones.
En cuanto al tema de la cadena que maneja el control edit, es de suponer que esta haya sido seteada desde algún lugar, quizá con SetWindowText, por tanto su puede inicializar un puntero a esa cadena, si a sido desde un archivo de recursos lo desconozco, puede que algún usuario con mas experiencia en el API de windows te pueda orientar, también es una opción consultar la msdn en linea.
S2. _________________ La cuestión no es si hay vida inteligente en otros planetas lejanos. La cuestión es si hay vida inteligente aquí. |
|
| Volver arriba | |
 |
eagleoneraptor

Registrado: 20 May 2008 Mensajes: 187 Ubicación: Buenos Aires(Argentina)
| Publicado: 15/09/2008 5:30 pm | | | Título: |
| Hola, creo que lo que necesitas son estas 2 funciones: GetWindowText y GetWindowTextLength, la primera copia el texto de un control en un puntero, la segunda obtiene la longitud de ese texto y te servira para saber cuanto reservar de memoria, usalas mas o menos así:
| Código: | HWND hEdit; //Manipulador del control EDIT char *stBuf; //Puntero donde se copiara el texto int iLength; //Longitud del texto ... iLength = GetWindowTextLength(hEdit)+1; stBuf = new char[iLength]; GetWindowText(hEdit,stBuf,iLength); //Procesas la cadena obtenida ... delete stBuf; |
Espero haberte ayudado.
Un Saludo! _________________ "Aquel que hace una bestia de si mismo se libra del dolor de ser un hombre". Dr. Johnson |
|
| Volver arriba | |
 |
Pablex
Registrado: 09 Nov 2006 Mensajes: 12
| Publicado: 16/09/2008 6:34 am | | | Título: |
| Hola a todos...
Eagleonerator, el ejemplo parece me a servido y resuelto mis problemas... gracias... |
|
| Volver arriba | |
 |
|
|