Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Noticias
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #121  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A mi me pasa exactamente los mismo que describe Germán. ¿No será una limitante de la versión no registrada?

// Saludos
Responder Con Cita
  #122  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Gracias Román y Neftalí. Pero, un momento... ¿es que no describís lo que se espera "por defecto"? Es decir, si no he entendido mal, Neftalí, dices que si seleccionas "unas letras" (un texto) y pulsas la tecla "Suprimir" sí que te funciona, y, si no seleccionas nada, no te funciona... ¿pero es que no se trata de que funcione, precisamente, cuando tienes texto seleccionado? Claro que ahora no comprendo cómo es que vosotros "esperáis" otra cosa...
Responder Con Cita
  #123  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si no hay texto seleccionado, el comportamiento esperado es que se borre el caracter a la derecha del cursor.

// Saludos
Responder Con Cita
  #124  
Antiguo 22-10-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.327
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
Si no hay texto seleccionado, el comportamiento esperado es que se borre el caracter a la derecha del cursor.
Correcto. Pero no borra nada, se queda en el sitio como si no hubieras pulsado nada.

El hecho de que, si tan sólo hay una tecla seleccionada ya funcione, me hace dudar de que sea problema de la tecla, sino de alguna comprobación relacionada con Seltext o LenghtText...

Es más la tecla la reconoce, pues si hay algo seleccionado se comporta bien.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #125  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por roman Ver Mensaje
Si no hay texto seleccionado, el comportamiento esperado es que se borre el caracter a la derecha del cursor.

// Saludos
Comprendo. Voy a echar un vistazo, puesto que, hay algo que tengo un poco olvidado: los "comandos" del editor, y, recuerdo que existe algo para esto. No obstante, me surge una duda... y es que si ya está asignada la tecla suprimir (para borrar el texto seleccionado) no sé bien cómo podrá dicha tecla hacer "las dos cosas"... pero voy a echar un vistazo a ver. Gracias Román.
Responder Con Cita
  #126  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por Neftali Ver Mensaje
Correcto. Pero no borra nada, se queda en el sitio como si no hubieras pulsado nada.

El hecho de que, si tan sólo hay una tecla seleccionada ya funcione, me hace dudar de que sea problema de la tecla, sino de alguna comprobación relacionada con Seltext o LenghtText...

Es más la tecla la reconoce, pues si hay algo seleccionado se comporta bien.
Tengo que revisar esto. Lo cierto es que a los "comandos" del editor se pueden asignar dos teclas... y modificadores... pero no creo que sean dos teclas para lo mismo: me parece que es para hacer una especie de "shorcut" con ambas teclas. La cosa es que, como te comenté por correo, Neftalí, la tecla suprimir no está asignada en el editor... es decir, pareciera que lo de borrar lo seleccionado es lo predeterminado en Windows... pero voy a echar un vistazo y os comento, porque, en efecto, al menos ahora yo tampoco puedo hacer lo que vosotros decís, esto es, ahora ya sé que no pasa sólo en tu sistema, sino que es "cosa" del programa.
Responder Con Cita
  #127  
Antiguo 22-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.088
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, lo he instalado en una máquina virtual (virtualbox) winxp y el comportamiento es exactamente el mismo que obtiene Neftali.
Responder Con Cita
  #128  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hola, lo he instalado en una máquina virtual (virtualbox) winxp y el comportamiento es exactamente el mismo que obtiene Neftali.
Gracias Casimiro. Ya estoy echando un vistazo...
Responder Con Cita
  #129  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola de nuevo,

Si no me equivoco, la tecla que nos interesa es "VK_DELETE"... ¿verdad? Estoy probando... pero con esta tecla. Yo creo que es esta tecla... ¿no?
Responder Con Cita
  #130  
Antiguo 22-10-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.327
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿No será un bug del componente? Me suena que ese comportamiento no debe ser algo que tengas que configurar tú. Ese debería ser el comportamiento estandard, como si pones un TEdit.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #131  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Al parecer, alguien, alguna vez, reportó este problema, pero no pareció importarles mucho o no le dieron seguimiento porque quien lo reportó tampoco lo hizo. Quizá si lo reportas tú te hagan caso. No debe ser un problema difícil de solucionar.

// Saludos
Responder Con Cita
  #132  
Antiguo 22-10-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.327
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto


¿Y ya está?
No me parece un error tonto...

Un editor al que lo le funciona la tecla,... no se...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #133  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, bueno. Ésa es la interpretación que yo dí Igual ellos estuvieron muy consternados en su momento

// Saludos
Responder Con Cita
  #134  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que pasa es que acaso no es un bug... me explico. En realidad, por ejemplo, si se pulsa las teclas "CTRL + ←" se borra la palabra "cerca del cursor". Lo cierto es que existen otros comandos, ahora mismo "ocultos", puesto que no se conocen, pero, que, funcionan. He aquí el método que los añade:

Código Delphi [-]
procedure TSynEditKeyStrokes.ResetDefaults;
begin
  Clear;

  AddKey(ecUp, SYNEDIT_UP, []);
  AddKey(ecSelUp, SYNEDIT_UP, [ssShift]);
  AddKey(ecScrollUp, SYNEDIT_UP, [ssCtrl]);
  AddKey(ecDown, SYNEDIT_DOWN, []);
  AddKey(ecSelDown, SYNEDIT_DOWN, [ssShift]);
  AddKey(ecScrollDown, SYNEDIT_DOWN, [ssCtrl]);
  AddKey(ecLeft, SYNEDIT_LEFT, []);
  AddKey(ecSelLeft, SYNEDIT_LEFT, [ssShift]);
  AddKey(ecWordLeft, SYNEDIT_LEFT, [ssCtrl]);
  AddKey(ecSelWordLeft, SYNEDIT_LEFT, [ssShift,ssCtrl]);
  AddKey(ecRight, SYNEDIT_RIGHT, []);
  AddKey(ecSelRight, SYNEDIT_RIGHT, [ssShift]);
  AddKey(ecWordRight, SYNEDIT_RIGHT, [ssCtrl]);
  AddKey(ecSelWordRight, SYNEDIT_RIGHT, [ssShift,ssCtrl]);
  AddKey(ecPageDown, SYNEDIT_NEXT, []);
  AddKey(ecSelPageDown, SYNEDIT_NEXT, [ssShift]);
  AddKey(ecPageBottom, SYNEDIT_NEXT, [ssCtrl]);
  AddKey(ecSelPageBottom, SYNEDIT_NEXT, [ssShift,ssCtrl]);
  AddKey(ecPageUp, SYNEDIT_PRIOR, []);
  AddKey(ecSelPageUp, SYNEDIT_PRIOR, [ssShift]);
  AddKey(ecPageTop, SYNEDIT_PRIOR, [ssCtrl]);
  AddKey(ecSelPageTop, SYNEDIT_PRIOR, [ssShift,ssCtrl]);
  AddKey(ecLineStart, SYNEDIT_HOME, []);
  AddKey(ecSelLineStart, SYNEDIT_HOME, [ssShift]);
  AddKey(ecEditorTop, SYNEDIT_HOME, [ssCtrl]);
  AddKey(ecSelEditorTop, SYNEDIT_HOME, [ssShift,ssCtrl]);
  AddKey(ecLineEnd, SYNEDIT_END, []);
  AddKey(ecSelLineEnd, SYNEDIT_END, [ssShift]);
  AddKey(ecEditorBottom, SYNEDIT_END, [ssCtrl]);
  AddKey(ecSelEditorBottom, SYNEDIT_END, [ssShift,ssCtrl]);
  AddKey(ecToggleMode, SYNEDIT_INSERT, []);
  AddKey(ecCopy, SYNEDIT_INSERT, [ssCtrl]);
  AddKey(ecCut, SYNEDIT_DELETE, [ssShift]);
  AddKey(ecPaste, SYNEDIT_INSERT, [ssShift]);
  AddKey(ecDeleteChar, SYNEDIT_DELETE, []);
  AddKey(ecDeleteLastChar, SYNEDIT_BACK, []);
  AddKey(ecDeleteLastChar, SYNEDIT_BACK, [ssShift]);
  AddKey(ecDeleteLastWord, SYNEDIT_BACK, [ssCtrl]);
  AddKey(ecUndo, SYNEDIT_BACK, [ssAlt]);
  AddKey(ecRedo, SYNEDIT_BACK, [ssAlt,ssShift]);
  AddKey(ecLineBreak, SYNEDIT_RETURN, []);
  AddKey(ecLineBreak, SYNEDIT_RETURN, [ssShift]);
  AddKey(ecTab, SYNEDIT_TAB, []);
  AddKey(ecShiftTab, SYNEDIT_TAB, [ssShift]);
  AddKey(ecContextHelp, SYNEDIT_F1, []);

  AddKey(ecSelectAll, ord('A'), [ssCtrl]);
  AddKey(ecCopy, ord('C'), [ssCtrl]);
  AddKey(ecPaste, ord('V'), [ssCtrl]);
  AddKey(ecCut, ord('X'), [ssCtrl]);
  AddKey(ecBlockIndent, ord('I'), [ssCtrl,ssShift]);
  AddKey(ecBlockUnindent, ord('U'), [ssCtrl,ssShift]);
  AddKey(ecLineBreak, ord('M'), [ssCtrl]);
  AddKey(ecInsertLine, ord('N'), [ssCtrl]);
  AddKey(ecDeleteWord, ord('T'), [ssCtrl]);
  AddKey(ecDeleteLine, ord('Y'), [ssCtrl]);
  AddKey(ecDeleteEOL, ord('Y'), [ssCtrl,ssShift]);
  AddKey(ecUndo, ord('Z'), [ssCtrl]);
  AddKey(ecRedo, ord('Z'), [ssCtrl,ssShift]);
  AddKey(ecGotoMarker0, ord('0'), [ssCtrl]);
  AddKey(ecGotoMarker1, ord('1'), [ssCtrl]);
  AddKey(ecGotoMarker2, ord('2'), [ssCtrl]);
  AddKey(ecGotoMarker3, ord('3'), [ssCtrl]);
  AddKey(ecGotoMarker4, ord('4'), [ssCtrl]);
  AddKey(ecGotoMarker5, ord('5'), [ssCtrl]);
  AddKey(ecGotoMarker6, ord('6'), [ssCtrl]);
  AddKey(ecGotoMarker7, ord('7'), [ssCtrl]);
  AddKey(ecGotoMarker8, ord('8'), [ssCtrl]);
  AddKey(ecGotoMarker9, ord('9'), [ssCtrl]);
  AddKey(ecSetMarker0, ord('0'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker1, ord('1'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker2, ord('2'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker3, ord('3'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker4, ord('4'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker5, ord('5'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker6, ord('6'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker7, ord('7'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker8, ord('8'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker9, ord('9'), [ssCtrl,ssShift]);
  AddKey(ecNormalSelect, ord('N'), [ssCtrl,ssShift]);
  AddKey(ecColumnSelect, ord('C'), [ssCtrl,ssShift]);
  AddKey(ecLineSelect, ord('L'), [ssCtrl,ssShift]);
  AddKey(ecMatchBracket, ord('B'), [ssCtrl,ssShift]);

He tratado de asignar a la tecla suprimir alguno de los comandos "ecDelete*", pero, sin éxito. No sé si es que lo estoy haciendo mal, o que, dicha tecla no puede usarse, o que está ocupada con otra cosa... lo cierto es que el reporte que enlaza Román es raro, pues alguien puso "Work for me" y cerró el caso. Voy a seguir dándole alguna vuelta, aunque, como digo.
Responder Con Cita
  #135  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Llevas razón Neftalí, sin embargo, se conoce que ya puede hacerse lo que se pretende (borrar el caracter, la palabra, etc., cerca del cursor) con otra combinación de teclas... si no me equivoco. De todas formas sigo dándole vueltas a ver qué pasa, porque, lo cierto es que la tecla funciona como decís hasta en el bloc de notas...
Responder Con Cita
  #136  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Estoy es muy raro... a ver. Al parecer, el comando que nos interesa es "ecDeleteChar". Ahora bien, dicho comando se añade al editor, junto con otros de esta forma:

Código Delphi [-]
AddKey(ecDeleteChar, SYNEDIT_DELETE, []);

Valiendo la constante "SYNEDIT_DELETE" "VK_DELETE", es decir,... en principio el asunto debería funcionar... pero no lo hace. La cosa es que yo no estoy capturando la tecla "VK_DELETE" en ningún lado... así que se supone que debería funcionar, pero, no lo hace... y tampoco lo hace si yo mismo añado la tecla "VK_DELETE" asociada al comando "ecDeleteChar"... esto es muy raro, porque, las otras teclas funcionan...

Edito: vamos a ver si al final damos con ello...
Responder Con Cita
  #137  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero, tal como comentó Neftali, la tecla sí que está asignada. Más bien parece ser un problema con la longitud del texto seleccionado. En algún lugar del código debe tener un condicional:

Código Delphi [-]
if SelLength > 0 then
  DeleteSelection(...);

Haz una traza a ver qué sale.

// Saludos
Responder Con Cita
  #138  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver. Novedades. No es problema del componente, porque, si pruebo en un programa "nuevo", la tecla se comporta como se espera. Me temo que alguna acción en mi programa está "comiéndose" dicha tecla... así que voy a echar un vistazo porque esto tiene que poder solucionarse.
Responder Con Cita
  #139  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Pero, tal como comentó Neftali, la tecla sí que está asignada. Más bien parece ser un problema con la longitud del texto seleccionado. En algún lugar del código debe tener un condicional:

Código Delphi [-]
if SelLength > 0 then
  DeleteSelection(...);

Haz una traza a ver qué sale.

// Saludos
No me suena nada así Román, pero, sí que he usado acciones "estándar"... y creo que estas están metiendo baza. Lo cierto es que si pongo un "SynEdit" en un formulario nuevo (en un proyecto nuevo) funciona como se espera, es decir, como he dicho arriba, el problema reside en algún lugar de Small Editor y es cuestión de tiempo dar con ello.
Responder Con Cita
  #140  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Ea, pues ya está. Se trataba de que he usado la acción de edición estándar "Delete", y, de alguna manera, dicha acción estaba interfiriendo con el comando "ecDeleteChar" del editor. De momento he optado, sencillamente, por quitar dicha acción, pues, se trataba de un elemento en el menú contextual del editor que acaso hasta estuviera demás, teniendo en cuenta que uno pulsa la tecla "Suprimir" y no usa dicho elemento del menú.

No obstante, acaso añada el elemento cuando aprenda a enviar comandos al editor como ha de hacerse. Sea como sea, podéis descargar el programa de nuevo y comprobar que ahora la tecla "Suprimir" se comporta como vosotros esperábais, por un lado, y, también como yo esperaba... si hay texto seleccionado. Obviamente, esto de los comandos y "accesos directos" en el programa es algo a lo que tendré que prestar atención en el futuro.

http://goo.gl/ATCSn

¡Muchas gracias a todos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:21:48.


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
Copyright 1996-2007 Club Delphi