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 11-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Post Duda sobre Edits

No recuerdo quien pregunto algo al respecto, de ¿Como guardar en unas variables Extended, los valores que tenian en unos Edits (Eran como 20) de un Form, sin necesidad de asignarle uno por uno?:

Recuerdo que sugerimos manejar las variables como un Array de Extended, y yo presente una solución que al final quedo asi, con el argumento que explicare al final de este post:

Código Delphi [-]
var
  a :Array of Extended;
  x :Integer;
begin
  SetLength(a, 0);
  for x := 0 to ComponentCount - 1 do
    if Components[x] is TEdit then
    begin
      SetLength(a, Length(a)+1);
      a[High(a)] := StrToFloatDef(TEdit(Components[x]).Text, -1);
    end;
end;

Dije que esta función tiene como ventaja, el hecho de que no hay que tener en cuenta el nombre de los Edit, ni tampoco su cantidad, de manera que si alguien coloca un nuevo Edit (Ya sea en Diseño o ejecución) esta función lo tendra en cuenta, sin necesidad de modificar el Array(Manualmente), porque de hecho, para eso le llaman dinamico .

Espero que esto sirva
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 11-08-2007 a las 02:09:13. Razón: Faltaba colocar un signo interrogante
Responder Con Cita
  #2  
Antiguo 11-08-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
jhonny . Yo creo que ahora tenemos respuesta sin pregunta...
Ciertamente ayer se habló del asunto.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #3  
Antiguo 11-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por ArdiIIa Ver Mensaje
jhonny . Yo creo que ahora tenemos respuesta sin pregunta...
Ciertamente ayer se habló del asunto.
Parece que si , pero es que no queria que ese codigo se quedara tan solito en mi computador, sabiendo que alguien lo necesitaba
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 11-08-2007
Avatar de Kamael
Kamael Kamael is offline
Miembro
 
Registrado: ago 2007
Posts: 64
Poder: 17
Kamael Va por buen camino
Gracias jhonny

Lo dicho. Me funciona perfectamente.
Responder Con Cita
  #5  
Antiguo 11-08-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
¿no hubiera sido más facil usar un TJvValidateEdit?

Viene en las Jedi y son gratis.
__________________

Responder Con Cita
  #6  
Antiguo 11-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
¿no hubiera sido más facil usar un TJvValidateEdit?

Viene en las Jedi y son gratis.
Parece que voy a tener que comenzar a conocer las Jedi
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 11-08-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Pues será mi mania de controlar lo más que se pueda con los controles, para evitar lo más que se pueda el tener que escribir el código.

Este componente, tiene una propiedad llamada "DisplayFormat", en donde puedes seleccionar una de 16 opciones, no las recuerdo todas, pero al seleccionar una, te ajusta automáticamente el control para que solo permita ese tipo de opción. Float, Currency (igual que el float pero le agrega el símbolo de moneda al inicio) hexadecimal, decimal, alpha, alphanumeric, boolean y mucha sotras.

Y lo mejor, es que este control te permite seleccionar el tipo de dato por código (Control.AsFloat, AsInteger, AsBoolean, AsCurrency) para que no tengas la necesidad de hacer conversiones por código.
__________________

Responder Con Cita
  #8  
Antiguo 11-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, bueno, segun lo que te entiendo es que esos controles te permiten manejar los tipos de datos que alli se trabajen tal y cual como un campo de un DataSet...

Pero lo que necesitamos es guadar en un arreglo, los datos de 20 Edit en Form sin necesidad de asignar, uno por uno.

Mejor dicho, según lo que te entendi, de todas maneras abria que hacer codigo y quedaria algo asi:

Código Delphi [-]
var
  a :Array of Extended;
  x :Integer;
begin
  SetLength(a, 0);
  for x := 0 to ComponentCount - 1 do
    if Components[x] is TJvValidateEdit then
    begin
      SetLength(a, Length(a)+1);
      a[High(a)] := TJvValidateEdit(Components[x]).AsFloat;
    end;
end;

La unica diferencia radicaria en que ya no tengo que hacer la conversión con la función StrToFloatDef, si no que aprovecho la propiedad del TJvValidateEdit para realizar el ejercicio.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 11-08-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Yo entendí que quería convertir de String a Float pero sin tener que usar la función strtofloat en cada uno.

__________________

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
Duda sobre DFS enrique_84 Varios 2 08-06-2006 11:53:40
Duda sobre With lucasarts_18 Varios 6 26-08-2005 19:44:08
Una duda sobre los Uses jorch_yr Varios 1 30-05-2004 04:39:40
Una duda sobre ADO PTW Conexión con bases de datos 1 13-04-2004 23:33:14
Duda sobre BDE vs IBX ESA Firebird e Interbase 3 04-03-2004 17:20:07


La franja horaria es GMT +2. Ahora son las 13:50:18.


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