Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Recortar un String

Hola... tengo un pequeño problema

Tengo un Tstringgrid, en donde la columna 2, no quiero que sea mas larga que 50 caracteres. Tengo un codigo que va algo asi.

Código Delphi [-]
if (stringgrid1.Col = 2) then
if length(stringgrid1.Cells[2,stringgrid1.row]) <= 50 then
CharUpperBuff(@Key, 1) else
begin
str:=stringgrid1.Cells[2,stringgrid1.row];
delete(str,51,256);
stringgrid1.Cells[2,stringgrid1.row]:=str;
end;

Pero no funciona... cuando llego al caracter 51 me borra todo el texto

Como lo soluciono??

Gracias
Responder Con Cita
  #2  
Antiguo 13-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Prueba así:

Código Delphi [-]
if (stringgrid1.Col = 2) then
  if length(stringgrid1.Cells[2, stringgrid1.row]) <= 50 then
    CharUpperBuff(@Key, 1) 
  else
  begin
    str := stringgrid1.Cells[2, stringgrid1.row];
    stringgrid1.Cells[2, stringgrid1.row] := Copy(str, 1, 50);
  end;


Saludos...
Responder Con Cita
  #3  
Antiguo 13-02-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
hola... sigue sin funcionar... el codigo este lo tengo en el evento presskey del stringgrid, pero no funciona.... es decir se borra todo el texto al llegar al caracter 51.

Se podra hacer de otrea manera??
Responder Con Cita
  #4  
Antiguo 13-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Y si haces:

Código Delphi [-]
if (stringgrid1.Col = 2) then
  if length(stringgrid1.Cells[2, stringgrid1.row]) <= 50 then
    CharUpperBuff(@Key, 1) 
  else
    Key := #0
Responder Con Cita
  #5  
Antiguo 13-02-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
tampoco... ya lohabia probado... como el length es igual o mayor a 50... despues de eso se queda pegao... no se puede escribir ni borrar en esa celda....

Alguna otra idea??

muchas gracias por tu tiempo
Responder Con Cita
  #6  
Antiguo 13-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Cita:
Empezado por mjjj Ver Mensaje
tampoco... ya lohabia probado... como el length es igual o mayor a 50... despues de eso se queda pegao... no se puede escribir ni borrar en esa celda....

Alguna otra idea??

muchas gracias por tu tiempo
No funciona porque tampoco acpeta el carácter #8, que es el de borrar. Prueba así:

Código Delphi [-]
if (stringgrid1.Col = 2) then
  if length(stringgrid1.Cells[2, stringgrid1.row]) <= 50 then
    CharUpperBuff(@Key, 1) 
  else
    if key>31 then Key := #0;

No aceptará carácteres, pero sí Enter, Retroceso, Tabulación...



Salu2.
Responder Con Cita
  #7  
Antiguo 13-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Pues ya solo te quedaría comprobar que tecla se presionó, si es Backspace o Delete por ejemplo, las dejas pasar tal como vienen, si es letra o número o espacio en blanco, los conviertes en caracter nulo (#0)...

La otra es verificar si entre las propiedades de las columnas se puede especificar la longitud máxima de caracteres que puede contener...


Saludos...
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
recortar imagen kapullok_2006 Gráficos 3 12-11-2007 18:39:29
recortar una foto kapullok_2006 Gráficos 1 27-03-2007 12:45:25
como recortar caracteres... alexander66 Varios 2 17-11-2006 19:06:43
Recortar Imagen fmtidona Gráficos 2 26-09-2005 19:18:20
Rectángulo para recortar imagen JAV Gráficos 3 05-07-2005 10:08:23


La franja horaria es GMT +2. Ahora son las 12:07: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
Copyright 1996-2007 Club Delphi