Club Delphi  
    Paypal   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

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
  #2  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
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
  #3  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
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
  #4  
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
Ya probé y funciona bien. De todas maneras, es raro. Pareciera que la acción se inhabilitaba al detectar que no había nada selecciondo.

// Saludos
Responder Con Cita
  #5  
Antiguo 22-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Ya probé y funciona bien. De todas maneras, es raro. Pareciera que la acción se inhabilitaba al detectar que no había nada selecciondo.

// Saludos
Es posible Román: la acción "se queda" con la tecla sin que esta llegue al editor... alguien reportó algo parecido. Tal vez no debería usar las acciones estándar, que, por cierto no son muchas... aunque parece que el problema se dá sólo en el caso de esta tecla. Claro, porque, "CTRL+C" hace lo mismo, copiar texto, tanto en la acción estándar de Delphi como en el editor. Sin embargo, parece que la acción estándar de Delphi para borrar texto no hace lo mismo que el comando "ecDeleteChar" del editor.
Responder Con Cita
  #6  
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
¡Ah! Pues acabo de ver que la acción estándar de Delphi hace lo mismo, es decir, se inhabilita el DELETE cuando no hay texto seleccionado.

// Saludos
Responder Con Cita
  #7  
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
He aquí al culpable:

Código Delphi [-]
procedure TEditDelete.UpdateTarget(Target: TObject);
begin
  Enabled := GetControl(Target).SelLength > 0;
end;

Agrego:

Y me atrevería a afirmar que es así, "por diseño":

Cita:
In TEditDelete, UpdateTarget checks whether the current target object (specified by the Target parameter) is an edit control that has some of its text selected. If so, UpdateTarget sets Enabled to true. If not, UpdateTarget sets Enabled to false.
Referencia

// Saludos
Responder Con Cita
  #8  
Antiguo 23-10-2012
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 19
matabyte Va por buen camino
Bien! ahora ya me funciona correctamente lo de cerrar la ventana de la ayuda .

Otra cosa (me vas a odiar de tanto sacar pegas ):
-Cuando registras el programa no sale ninguna ventana de "gracias por registrar el programa". Como confirmación sería estupendo ponerla

-Al intentar cargar un fichero .avi de 350Mb, me dice obviamente "si quiero cargarlo". Le digo que si, y se queda un bueeen rato bloqueado (supongo que intentando leerlo), en ese rato el programa está bloqueado, luego me saca el mensaje de "Out Of Memory", estaría bien que tubiera una barra de progreso junto a un botón de cancelar

-Y igual es demasiado, pero que leyera los ficheros grandes por bloques (no todo a la vez, si no secuencialmente). Ya se sabe que los usuarios son capaces de abrir una imagen .iso de 16Gb con el notepad...

-Lo mismo me ocurre con ficheros .java de mas de 100Kb, el programa se "congela" sin permitir movimiento de la ventana.

Lo de los ficheros .java con UTF8, he intentado cambiar la codificacion desde el menu derecho, pero no pasa nada, no cambia de codificacion.
__________________
Donde Trabajo ahora --> http://cct-inc.co.jp/

Última edición por matabyte fecha: 23-10-2012 a las 16:23:19.
Responder Con Cita
  #9  
Antiguo 23-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
¡Hola!

Cita:
Empezado por matabyte Ver Mensaje
Bien! ahora ya me funciona correctamente lo de cerrar la ventana de la ayuda .
¡Me alegro, pues!

Cita:
Otra cosa (me vas a odiar de tanto sacar pegas ):
Nada de eso, todos los comentarios son bienvenidos.

Cita:
-Cuando registras el programa no sale ninguna ventana de "gracias por registrar el programa". Como confirmación sería estupendo ponerla
Es así adrede. Se trata de evitar "pistas" a los "crackers". De todas formas los mensajes de "no registrado" dejan de aparecer, y, los elementos de los menús para registrar el programa, así como las "nag screen" inicial y final, y también en el "acerca de..." se ve que el programa está registrado.

Cita:
-Al intentar cargar un fichero .avi de 350Mb, me dice obviamente "si quiero cargarlo". Le digo que si, y se queda un bueeen rato bloqueado (supongo que intentando leerlo), en ese rato el programa está bloqueado, luego me saca el mensaje de "Out Of Memory", estaría bien que tubiera una barra de progreso junto a un botón de cancelar
No he probado con archivos tan grandes. Los componentes que uso no se llevan demasiado bien con archivos grandes. Ignoro si yo podría hacer algo... ahora pienso que sí, tratando de leer el archivo poco a poco e ir cargándolo "en stream" en lugar de con el método "LoadFromFile". Tengo que mirar esto...

Cita:
-Y igual es demasiado, pero que leyera los ficheros grandes por bloques (no todo a la vez, si no secuencialmente). Ya se sabe que los usuarios son capaces de abrir una imagen .iso de 16Gb con el notepad...
De ahí la advertencia al tratar de abrir archivos "grandes"... Algo he leído sobre abrir archivos "a demanda", es decir, sólo el contenido "visible" en el editor, pero, reconozco que sobre esto estoy bastante pez... aunque sería interesante.

Cita:
-Lo mismo me ocurre con ficheros .java de mas de 100Kb, el programa se "congela" sin permitir movimiento de la ventana.
Es curioso, porque, aunque es cierto que el programa se retrase un poco con archivos de varios MB, lo cierto es que no va mal (o yo no noto demasiada tardanza) con archivos del tamaño que dices... no sé porqué puede darse este problema. Acaso tengo que probar con algún archivo Java...

Cita:
Lo de los ficheros .java con UTF8, he intentado cambiar la codificacion desde el menu derecho, pero no pasa nada, no cambia de codificacion.
¿Lo guardas después? De hecho el "documento" debería quedar "modificado" y, al guardarlo, se cambia la codificación... o debería cambiarse... a mí me funciona como digo, vamos...

¡Gracias por los comentarios!
Responder Con Cita
  #10  
Antiguo 23-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
Hola,

Hay algo que a mi en lo particular no me gusta que hagan los programas y me acabo de dar cuenta que el tuyo lo hace ¿Porqué guardas la configuración del programa en CSIDL_PERSONAL (Mis Documentos) en lugar de CSIDL_APPDATA (AppData/Roaming)?

// Saludos
Responder Con Cita
  #11  
Antiguo 23-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola Román,

Comprendo que los datos del programa han de guardarse en donde dices, en efecto. Sin embargo, si se guarda en "Mis documentos" es, porque, los archivos INI (configuración del programa, colores de las sintaxis, etc.) son en realidad más bien datos del usuario. De hecho, una de las cuestiones que quiero incorporar al programa es la posibilidad de "guardar y recuperar" dichos datos. No los considero datos del programa, porque, tu configuración (por ejemplo en cuanto a colores de las sintaxis) no tiene porqué coincidir con la mía... y más allá de eso,... es que lo considero algo "personal", como si dijéramos. Tal vez esté equivocado, pero, he seguido este razonamiento.

P.S. Una de las cosas a hacer antes de publicar la primera versión estable del programa, es respetar la configuración del usuario. Esto es, el programa instalador "desinstala" el programa (actualmente) antes de instalarlo, borrando así los datos del usuario. Esto es ahora así, en principio, porque no me gusta dejar rastro de mis programas, y, como está teniendo tantos cambios, prefiero "borrar y reinstalar". Pero, con la primera versión estable he de respetar la configuración del usuario, no sobreescribiéndolos ni borrándolos, o, tal vez preguntando al usuario si quiere borrarlos o no.
Responder Con Cita
  #12  
Antiguo 24-10-2012
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 19
matabyte Va por buen camino
Cita:
Empezado por dec Ver Mensaje
¡Hola!
Es curioso, porque, aunque es cierto que el programa se retrase un poco con archivos de varios MB, lo cierto es que no va mal (o yo no noto demasiada tardanza) con archivos del tamaño que dices... no sé porqué puede darse este problema. Acaso tengo que probar con algún archivo Java...

¿Lo guardas después? De hecho el "documento" debería quedar "modificado" y, al guardarlo, se cambia la codificación... o debería cambiarse... a mí me funciona como digo, vamos...

¡Gracias por los comentarios!
Lo del fichero de 100Kb que se congela el programa supongo que sera porque tarda en aplicarle la sintaxis de java (le he cambiado los colores), de todas formas mi cpu es un 6 nucleos y no deberia de tardar tanto, igual mejor que miraras lo de aplicar la sintaxis en segundo plano.

Lo de los ficheros grandes, yo pondria lo de mostrar solo la parte que estas mostrando, ya que es algo que estaria bien, ya que no solo archivos avi de 300Mb, tambien hay archivos grandes de texto, no se, abrir un html/c/pascal de 1Mb debe de tardar bastante y eso sin aplicar la sintaxis.

Lo de la codificacion, pensaba que lo cambiaba instantaneamente (la forma de mostrarlo), vamos, al hacer click en el formato, que mostrara ese formato. Si tengo que salvarlo para verlo con el formato nuevo es un poco lioso a la vez que peligroso (Si no se si el fichero esta en UTF8 o unicode y lo salvo en UTF8 y estaba en unicode todos mis preciosos kanjis desaparecen).

Bueno, animo con el programa, que va quedando muy bien!
__________________
Donde Trabajo ahora --> http://cct-inc.co.jp/
Responder Con Cita
  #13  
Antiguo 24-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola Matabyte,

Cita:
Empezado por matabyte Ver Mensaje
Lo del fichero de 100Kb que se congela el programa supongo que sera porque tarda en aplicarle la sintaxis de java (le he cambiado los colores), de todas formas mi cpu es un 6 nucleos y no deberia de tardar tanto, igual mejor que miraras lo de aplicar la sintaxis en segundo plano.
Sin duda puedo echar un vistazo a dónde se aplica la sintaxis, para tratar de optimizarlo. Estoy pensando, por ejemplo, en no aplicarla a los archivos "cuando se abren", sino, hacerlo cuando "pasan a ser el editor activo". Ir más allá sería algo complicado, me temo, puesto que depende de los componentes que estoy usando, y, no sé yo si estaré al nivel de poder hacer modificaciones en dichos componentes.

Cita:
Empezado por matabyte Ver Mensaje
Lo de los ficheros grandes, yo pondria lo de mostrar solo la parte que estas mostrando, ya que es algo que estaria bien, ya que no solo archivos avi de 300Mb, tambien hay archivos grandes de texto, no se, abrir un html/c/pascal de 1Mb debe de tardar bastante y eso sin aplicar la sintaxis.
Llevas razón. Aunque creo que podemos coincidir en que son raros los archivos de código fuente mayores de 1 MB, por poner una cifra, esto no quiere decir que no existan dicho tipo de archivos. Igual podría tomarse la determinación de abrir "normalmente" los archivos "pequeños" y hacerlo de forma "pausada" con los archivos "grandes". Sin embargo, mucho me temo que ahora mismo no sabría por dónde empezar, es decir, tengo más dudas que otra cosa. Pero sería bueno estudiar este asunto.

Cita:
Empezado por matabyte Ver Mensaje
Lo de la codificacion, pensaba que lo cambiaba instantaneamente (la forma de mostrarlo), vamos, al hacer click en el formato, que mostrara ese formato. Si tengo que salvarlo para verlo con el formato nuevo es un poco lioso a la vez que peligroso (Si no se si el fichero esta en UTF8 o unicode y lo salvo en UTF8 y estaba en unicode todos mis preciosos kanjis desaparecen).
No; vamos a ver. Aunque se me ocurre lo siguiente: al cambiar el formato, guardar y volver a abrir (refrescar) el archivo en cuestión, lo cierto es que cambiar la codificación de caracteres desde el editor no implica cambios en el archivo, sólo que el archivo se guardará, cuando se haga, en la codificación seleccionada. Creo que la pérdida de datos podría darse más bien cuando un archivo no se abre correctamente, es decir, cuando no se reconoce la sintaxis y se aplica la predeterminada (acaso ANSI).


Cita:
Empezado por matabyte Ver Mensaje
Bueno, animo con el programa, que va quedando muy bien!
Muchas gracias por tus palabras y por tus comentarios. De veras lamento no poder atenderlos a todos rápidamente, pero, mucho me temo que algunas cosas, sencillamente, tendrán que esperar, al menos un tiempo, hasta que pueda ver cómo y de qué manera se pueden implementar. Pero todas son cosas que, ciertamente, hay que tener en cuenta, porque, además, si no las tengo en cuenta yo... las tendrán en cuenta las personas posiblemente interesadas en el programa.

¡Muchas gracias otra vez!
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 17:44:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi