Ir al contenido


Foto

[RESUELTO] cambiar el tamaño de caracteres en un tedit :huh:


  • Por favor identifícate para responder
22 respuestas en este tema

#1 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 24 marzo 2010 - 11:24

¿en que propiedad se cambia el numero de caracteres para ke el usuario tenga limitaciones de no escribir de mas ni tampoco de menos gracias? :huh:
  • 0

#2 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 24 marzo 2010 - 11:26

¿en que propiedad se cambia el numero de caracteres para ke el usuario tenga limitaciones de no escribir de mas ni tampoco de menos gracias? :huh:


Cantidad, no tamaño.

MaxLength y le pones la cantidad en número para que no ingrese más de ésa cantidad de caracteres.

Y por si fuere tamaño de letra, Font/Size
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 11:27

Hola
Con MaxLength pones el maximo, el minimo no lo se.
Saludos
  • 0

#4 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 24 marzo 2010 - 11:36

Hola
Con MaxLength pones el maximo, el minimo no lo se.
Saludos

le puse 20 y no lo hace el cambio
  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 11:38

Hola
Tienes un delphi  (6) no hace lo que debe. :D :D
Saludos
  • 0

#6 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 24 marzo 2010 - 11:43

jajajajaj deberia de a ver otra funcion o algo 
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 11:45

Hola
Funciones son palabras mayores para este novato.
Debe de haber, pero no las conozco, espera un rato, por ahí vendrá alguien que si sepa.
Saludos
  • 0

#8 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 24 marzo 2010 - 11:48


Hola
Con MaxLength pones el maximo, el minimo no lo se.
Saludos

le puse 20 y no lo hace el cambio


¡Ah!, pues entonces, tienes que ponerle una función que controle que cuando llegue al límite máximo, cambie a otro Edit o Button o lo que sea.

Tú preguntaste por LA PROPIEDAD QUE TE PERMITA HACER ALGO, no por toda la funcionalidad necesaria para controlar el cambio...
  • 0

#9 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 24 marzo 2010 - 11:55

Hola amiga...

Para que no se escriban más de N caracteres efectivamente puedes usar la propiedad MaxLength... ahora que si lo que deseas es una función puedes hacer algo así:



delphi
  1. if (StrLen(Edit1.Text) < 3) or (StrLen(Edit1.Text) > 20) then
  2.     showmessage(&#39;La longiud de la cadena es incorrecta&#39;);



La función StrLen la puedes encontrar en la Unidad de SysUtils (por supuesto debe ser agregada en el uses)...

Aquí te dejo una página muy buena con información al respecto de manejo de cadenas en Delphi... Delphi al Límite

Saludox ! :D
  • 0

#10 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 24 marzo 2010 - 12:01

Una pequeña corrección al código anterior...



delphi
  1. if (StrLen(pChar(Edit1.Text)) < 3) or (StrLen(pChar(Edit1.Text)) > 20) then
  2.     showmessage('La longiud de la cadena es incorrecta');



Saludox ! :D
  • 0

#11 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 12:04

Hola
Cambiar de foco al cumplir un maximo:


delphi
  1. procedure TForm1.Edit1Change(Sender: TObject);
  2. begin
  3.   if (StrLen(pChar(Edit1.Text)) = 3) then
  4.   Edit2.SetFocus;
  5. end;


Saludos
  • 0

#12 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 24 marzo 2010 - 12:10

Hola
Cambiar de foco al cumplir un maximo:


delphi
  1. procedure TForm1.Edit1Change(Sender: TObject);
  2. begin
  3.   if (StrLen(pChar(Edit1.Text)) = 3) then
  4.   Edit2.SetFocus;
  5. end;


Saludos


Así es amigo... ya María debe decidir qué hacer en el momento de cumplir las condiciones... o definir sus tamaños mínimo y máximo, además de decidir en qué momento hará la comparación de tamaños...

Echale imaginación amiga ! (y)

Saludox ! :D

  • 0

#13 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 12:12

Hola
Maria, Maria, ra ra ra.....jejeje
Saludos
  • 0

#14 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 24 marzo 2010 - 12:22

Hola,
Fena ¿Porqué StrLen o no directamente Length()? *-)
Con Length() no hace falta hacer la conversión a PChar().

Por cierto, por defecto (al menos en D6) la unidad SysUtils ya está en el uses... no hace falta agregarla ;)

Saludos,
  • 0

#15 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 24 marzo 2010 - 12:27

Hola,
Fena ¿Porqué StrLen o no directamente Length()? *-)
Con Length() no hace falta hacer la conversión a PChar().

Por cierto, por defecto (al menos en D6) la unidad SysUtils ya está en el uses... no hace falta agregarla ;)

Saludos,


Pos... *-) mmm... pos... pos no' mas :p... digo, no sé... ;)

Jajajajajaja...

Saludox ! :D
  • 0

#16 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 marzo 2010 - 12:29

Hola


Pos... *-) mmm... pos... pos no' mas :p

Jajajajajaja...

Saludox ! :D

Vamos Fena, dilo, querías sacar a pasear al pobre de PChar, que esta en casa metido todo el día, pobrecito. : : :D :D :D
Saludos
  • 0

#17 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 24 marzo 2010 - 12:45

Pos... yo no se...
digo...

jaja.
No más me lo preguntaba porque yo nunca he empleado StrLen() y estaba pensando en que quizá StrLen() tiene alguna ventaja por sobre Length(). Cuando leí la ayuda sobre StrLen() quedé más confundido...

StrLen returns the number of characters in Str, not counting the null terminator.

¿Null terminator? ¿Con qué se come eso? 8-)

Saludos,
  • 0

#18 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 24 marzo 2010 - 12:50

....

StrLen returns the number of characters in Str, not counting the null terminator.

¿Null terminator? ¿Con qué se come eso? 8-)

Saludos,


Jajajajaja, pos, pos, no sé... el único Terminator que yo conozco es éste...

Jejejeje... basta de desvirtuar el hilo !!! :p :$

Saludox ! :D
  • 0

#19 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 24 marzo 2010 - 06:18


No más me lo preguntaba porque yo nunca he empleado StrLen() y estaba pensando en que quizá StrLen() tiene alguna ventaja por sobre Length(). Cuando leí la ayuda sobre StrLen() quedé más confundido...

StrLen returns the number of characters in Str, not counting the null terminator.

¿Null terminator? ¿Con qué se come eso? 8-)

Saludos,


Claro, hombre, StrLen es el estilo C: int strlen(char* ), llama a la API int _strlen(PCHAR ); y trabaja con cadenas estilo C o terminadas en carácter nulo.  ;)

Ambas formas (Length y StrLen) terminan realizando el mismo trabajo y son igualmente válidas.

Saludos.
  • 0

#20 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 24 marzo 2010 - 06:24

Gracias escafandra por aclarar más las cosas. La cuestión es ¿y cual o qué es el carácter nulo? 8-) ¿Es el "carácter" que simboliza el fin de la cadena? ¿Algo como el EOL (End Of Line) cuando hacía mis prácticas en TP7 cuando trabajaba con archivos?

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.