Clipboard.GetTextBuf
Hola, amigos.
¿Alguien podría decirme cómo funciona esa función? Yo hago esto, pero aparece un error (algo de puntero inválido, o función de puntero inválido, no lo recuerdo bien).
En la ayuda de Delphi, donde pongo NUMERO dice que utilice la función GetTextLen, pero el Clipboard no la tiene. En NUMERO también probé con cero y con MAX_PATH (ya no sabía qué hacer). Por supuesto, esto era un programa de prueba. No quiero "Pegar del portapapeles", sino extraer el texto del Portapapeles para modificarlo. Utilizo Delphi 3 Standard. Muchas gracias. |
Vamos por partes:
En vez de utilizar GetTextBuf podrias usar la propiedad asText del Clipboard que te devuelve el contenido del portapapeles como un string. Pero vamos con lo que preguntas. El problema es que tu le pasa un puntero, pero ese debe de apuntar a donde se almacenara el texto y no a un texto en concreto. Esto lo podemos solucionar de varias maneras. Podemos hacer que apunte a un array de caracteres que usaremos como buffer.
O tambien asi, reservando un pedazo de memoria.
|
Hola,
Seoane, muchas gracias, como siempre, muy instructivo. :) |
Primero, pedir perdón por el retraso en contestar, acabo de empezar 2º de Bachillerato, y eso quira mucho tiempo libre.
Segundo, muchísimas gracias por la respuesta, me es de gran ayuda. Tercero, no utilizo la propiedad AsText porque (al menos en mi versión de Delphi) solo admite 255 carácteres, y yo necesitaba más. Muchas gracias otra vez |
La franja horaria es GMT +2. Ahora son las 11:48:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi