FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Error: Identifier not found "VK_MULTIPLY"
Gracias, no encontré la unidad Winapi.windows (asumo que es un archivo) ni windows.pas como leí un comentario tuyo en otro hilo que también podría aparecer, pero si encontré el archivo LCLType.pp.
En dicho archivo me figura lo siguiente: VK_NUMPAD0 = 96; // $60 VK_NUMPAD1 = 97; VK_NUMPAD2 = 98; VK_NUMPAD3 = 99; VK_NUMPAD4 = 100; VK_NUMPAD5 = 101; VK_NUMPAD6 = 102; VK_NUMPAD7 = 103; VK_NUMPAD8 = 104; VK_NUMPAD9 = 105; VK_MULTIPLY = 106; // VK_MULTIPLY up to VK_DIVIDE are usually in the numeric keypad in PC keyboards VK_ADD = 107; VK_SEPARATOR = 108; VK_SUBTRACT = 109; VK_DECIMAL = 110; VK_DIVIDE = 111; Y por lo que probé en el evento KeyDown funciona con el valor numérico, no con el texto. Si pongo VK_MULTIPLY (por ejemplo) al compilar me aparece el error del asunto (Error: Identifier not found "VK_MULTIPLY"), pero usando el valor numérico (106 en el caso de MULTIPLY) si funciona. Por otro lado con el evento KeyPress no me funciona de ninguna de las dos maneras, ni con valor numérico ni con el texto. Si pongo números el error pasa a ser: Error: Incompatible types: got "Char" expected "Int64" Pero bueno, uso el evento KeyDown únicamente y listo, yo había hecho una especie de división entre botones que utilicen keydown y botones que utilicen keypress porque si tu abres la calculadora de Windows y dejas un número apretado se irá escribiendo varias veces, pero al mismo tiempo un signo de operación no tiene que repetirse, se aprieta una vez sola hasta que haya otro número ingresado, por eso quise hacer de la siguiente manera: Cita:
Volviendo al tema de usar el identificador VK o el número, ¿sabes de qué manera podría usar el texto en vez del número?, porque coincido contigo que visualmente es mejor a la hora de leer. Por el momento como puedes ver más arriba le agregué un comentario. Una vez más, gracias por tu ayuda. |
#2
|
||||
|
||||
No me percate de que estabamos hablando de Lazarus
Acabo de hacer esta sencilla prueba y me funciona bien:
Obvio que es necesario tener KeyPreview a True |
#3
|
|||
|
|||
Si si, Lazarus, jeje.
En un momento me imaginé que venía por ese lado el tema.
Cita:
"Fatal: Syntax error, "BEGIN" expected but "USES" found" Actualmente el código está así:
Gracias. |
#4
|
||||
|
||||
Te dejo la unidad completa:
|
#5
|
|||
|
|||
Un poco más cerca de la de Windows, jeje
Muchas gracias, Agustín, me funcionó.
Cada vez me restan menos retoques para hacer antes de incursionar en "arreglos dinámicos" (por ahora el número de operaciones permitidas es acotado), y uno de ellos es borrar el cursor, ¿hay forma de quitar o por lo menos dejar invisible el cursor del TEdit?. La calculadora de Windows lógicamente no tiene un cursor, y si bien tengo el TEdit como ReadOnly y AutoSelect en false y por lo tanto el cursor no afecta en el funcionamiento de como se ingresan y como se borran los números lo cierto es que me gustaría que ni siquiera se vea, es como que molesta que esté a la vista ahí tintineando, je. Si estoy bien rumbeado en lo que anduve googleando es algo de HideCaret, pero no me doy cuenta como hacerlo funcionar (si es que es eso). Así que se me venga a la mente me falta:
De estos cinco puntos mencionados los dos, tres y cuatro no deberían ser complicados, mañana voy a ver si los resuelvo. Pero el primero no sé cómo se hace, y el último por ahora lo pateo para adelante. Cuando estén resueltos los cuatro primeros me meto de lleno en el quinto. Dejo link al .exe por si quieren ver los avances: drive.google.com/open?id=0B2s4ogym-XemNHp1WWhsMEdYQ2c Saludos P.D.: Me olvidaba, tengo otro detalle, si solo uso teclado al utilizar la calculadora no pasa nada, si solo uso el mouse tampoco, pero si aprieto algo con el mouse queda el foco en eso que apreté y luego al usar la tecla Intro me acciona el botón igual pero también me acciona ese último botón clickeado que quedó con el foco puesto. Supongo se soluciona quitando el foco del botón luego de accionarlo mediante click, pero no sé cómo se hace, así que mínimo son seis detalles restantes, no cinco, je. Última edición por Juampi fecha: 24-07-2017 a las 04:02:09. |
#6
|
||||
|
||||
Hola Juampi.
Para ocultar el cursor del mouse en el Edit podes usar la función HideCaret. Un ejemplo:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Error: Identifier not found "HideCaret"
Gracias, ecfisa, pero no me estoy dando cuenta como se utiliza HideCaret.
Cuando lo intento utilizar me pone el error del asunto, como que para Lazarus eso no existe. Googleando sobre HideCaret me encontré con la siguiente línea "Source position: winapih.inc line 169", entonces agregué winapih.inc en el uses (actualmente tengo LCLType y strutils) y ahí el error que me da es "Fatal: no puedo encontrar winapihutilizado por calc1del Inspector de Proyecto". Estoy un poco perdido en este momento en cuanto a esconder el cursor del TEdit. Gracias otra vez. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Opinión sobre la estabilidad actual de Lazarus/Free Pascal | Toni | Lazarus, FreePascal, Kylix, etc. | 34 | 06-02-2016 01:04:45 |
Soy desarrollador de Delphi ¿Que necesito saber para usar Lazarus? | Godzuki | Linux | 7 | 23-02-2012 23:54:34 |
Lazarus, Nemesis Pascal | rmendoza83 | Varios | 1 | 08-01-2009 17:41:08 |
Indy soporta Free Pascal/Lazarus | Delfino | Noticias | 6 | 15-01-2006 10:55:55 |
Free Pascal y Lazarus | Magician^ | Noticias | 7 | 31-03-2004 19:12:04 |
|