Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2008
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
Unas precisiones a la estupenda explicación de Lepe en cuanto a la forma de acceder a los campos:

En la primera forma -los campos persistentes- si bien pueden usarse las propiedades AsXXXX, de hecho puede directamente usarse la propiedad Value. En otros casos, Value no sería recomendable porque a nivel de TField, se trata de un tipo genérico Variant, cuyo acceso no es óptimo; pero en el caso de campos persistentes, cada campo se crea del tipo adecuado: TIntegerField, TStringField, TBooleanField, etc.

En la tercera forma:

Tabla.Fields['NombreCampo'].Asxxxx

más bien sería

Tabla['NombreCampo'].Asxxxx

o

Tabla.FieldValues['NombreCampo'].Asxxxx

// Saludos
Responder Con Cita
  #2  
Antiguo 07-10-2008
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 20
Kenobi Va por buen camino
Que tiene de malo o ineficiente hacerlo asi ....pregunto ?

Despues de ver este interesante hilo, me doy cuenta que yo estoy haciendo las cosas distinto a la mayoria (sera por mi pasado foxPro .. no se)a lo cual pregunto ...

yo accedo a los campos asi .

edit.text:=TablaCampo.value;

digo es rapido de escribir menos codigo que ...

edit.text:=TablaCampo.AsTipo


Jajaja es una letra menos ....

no en serio que tiene de malo mi forma para cambiarla ya ....

Gracias ....
Responder Con Cita
  #3  
Antiguo 07-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por Kenobi Ver Mensaje
yo accedo a los campos asi .

edit.text:=TablaCampo.value;

digo es rapido de escribir menos codigo que ...

edit.text:=TablaCampo.AsTipo
Hola,

Genéricamente te puedo comentar que un Tedit solo almacenará datos de tipo texto, por tal motivo si tu campo es un entero y asignas con .Value te saltará una hermosa carita de error , en cambio si asignas al Tedit el valor como .AsString, aunque tu campo sea entero esta forma lo 'pasa' a texto.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 07-10-2008
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 20
Kenobi Va por buen camino
Que tiene de malo o ineficiente hacerlo asi ....pregunto ?

Claro tienes razon egostar, por supuesto que en caso de un numero pues

edit1.text:=InttoStr(TablaCampo.value);

por supuesto que si no lo hago asi pues bummm

ahora entiendo que con .AsXXX no lo haria pues a probar ...

Gracias ...

Última edición por Kenobi fecha: 07-10-2008 a las 16:32:58.
Responder Con Cita
  #5  
Antiguo 09-10-2008
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Cita:
Empezado por Kenobi Ver Mensaje
Claro tienes razon egostar, por supuesto que en caso de un numero pues

edit1.text:=InttoStr(TablaCampo.value);

por supuesto que si no lo hago asi pues bummm

ahora entiendo que con .AsXXX no lo haria pues a probar ...

Gracias ...
Hola voy a dar mi opinion ya que e usados todas las formas que nombrais en el hilo de manejar un campo.

No estoy de acuerdo de que sean buenas las formas:
Campo[1]
Campo[nombre]
Campo.value

ya que con esto el peligro es que trabajamos con campos variant los cuales no se comprueban en el copilado si no en ejecucion con lo cual nos podemos encontrar con mas de un problema.

Código Delphi [-]var1: integer; var2: string; CampoEntero1[nombre] := var1; //CampoEntero1 contiene nil CampoEntero1.asinteger := var1; //CampoEntero1 contiene 0 CampoEntero1[nombre] := var2; //Con esto revienta la aplicación CampoEntero1.asinteger := var2; //Con esto no copila la aplicacion

Ademas no es lo mismo escribir

Código Delphi [-]'La fecha es '+DateTimeToStr( CampoFecha[nombre] );


Lo cual ademas si no tiene un valor el campo revienta la aplicacion.

que

Código Delphi [-]'La fecha es '+CampoFecha.AsString;



Espero sea util, Saludos.
Responder Con Cita
  #6  
Antiguo 09-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
A veces, es preferible que la aplicación reviente.

Imagina que el usuario no ha escrito la fecha para un registro. Si usas fecha.AsString, nos devolverá un valor 31/12/1900 y el programa sigue corriendo con "total alegría", si hacemos cálculos con esa fecha, nos dará un error en nuestro código, pero muy alejado del origen (quizás al imprimir el registro, al abrir una consulta que hasta ahora funcionaba correctamente, etc), tendrás que buscar durante mucho tiempo esa "avería".

Si el programa revienta en la linea "DateTimeToStr( CampoFecha[nombre]" inmediatamente le dices al usuario: "ah!!, es que tienes que poner una fecha válida." y no te da dolores de cabeza.

Por cierto, una precisión: Si una variable Variant no tiene asignado un valor, su valor es precisamente "unassigned" que no tiene nada que ver con "nil".

Como siempre, todo depende de qué resultado quieras tener.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Pasar Variables de Forma a Forma con delphi.net ASP ASAPLTDA .NET 5 05-07-2007 20:51:31
Como Pasar Variables de Forma a Forma con delphi.net ASP ASAPLTDA Internet 2 02-07-2007 16:26:41
Tuto en Flash de Windows alex212 PHP 0 07-06-2007 17:07:10
De que forma trabajar con firebird y dbExpress fedelphi Conexión con bases de datos 2 24-11-2006 23:17:01
tuto de Indy? unko! Internet 4 09-02-2005 04:08:57


La franja horaria es GMT +2. Ahora son las 17:10:40.


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