Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-12-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 24
Bicho Va por buen camino
Todo son maneras de trabajar más cómodamente, yo además de indentar el código suelo colocar los begins en la misma linea del condicional, ya que se que el begin esta siempre en la primera linea, pero no donde está el END. Al tenerlo indentado veo claramente el condicional y el END.
Además otra a la que me acostumbro mucho últimamente es a dejar una linea en blanco siempre antes de un condicional o de cualquier bloque begin-end. Vease:

Código Delphi [-]
procedure TForm14.DBEdit2KeyPress(Sender: TObject; var Key: Char);
Var
  n,m:Variant;
begin //(1)

  If Key=#13 Then begin //(2)
    ModuloDatos.TblComprobantes.Active:=True;

    If ModuloDatos.TblComprobantes.Locate('Numero',TxtNumero.Text,[]) Then begin //(3)

      If ModuloDatos.TblComprobantes.FieldValues['Estado']<>'P' Then begin //(4)
        m:=ModuloDatos.TblComprobantes.FieldValues['Cod_soc'];

        If ModuloDatos.TblSocios.Locate('Cod_soc',m,[]) Then TxtSocio.Text:=m;

        n:=ModuloDatos.TblComprobantes.FieldValues['Cod_periodo'];

        If ModuloDatos.TblPeriodos.Locate('Cod_periodo',n,[]) Then TxtPeriodo.Text:=n;

        TxtImporte.Text:=ModuloDatos.TblComprobantes.FieldValues['Importe'];
        Confirmar.SetFocus
      end
      Else begin//(4)
        ShowMessage('La factura Nº'+' '+TxtNumero.Text+' '+'ya fue cobrada!!!');
        (Sender as TDBEdit).SelectAll;
      end;
    end
    Else begin//(3)
      ShowMessage('Factura no encontrada. Verifique el Número de la misma.');
      (Sender as TDBEdit).SelectAll;
    end; //(3)
  end; //(2)
end; //(1)


Cita:
Empezado por casimiro notevi
Cita:
Originalmente Escrito por silviodp
La verdad que ultimamente hay bastante mala onda en el foro!!!!!

¿en qué lo notaste?
¿verdad que algunos no se dan por aludidos?
Ahí le has dado. La verdad es que yo no iba por lo que había escrito Ñuño, pero en fin...

Paz hermanos.

Saludos
Responder Con Cita
  #2  
Antiguo 11-12-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Bicho
La verdad es que yo no iba por lo que había escrito Ñuño, pero en fin...

Paz hermanos.
Ciertamente, hoy no debí salir de casa...
Responder Con Cita
  #3  
Antiguo 11-12-2006
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 24
silviodp Va por buen camino
No corre

Bueno muchas gracias, lo voy a probar...
Disculpen las molestias ocasionadas no fue mi intención, por ahi con 500 mensajes aprendo, gracias a la gente perfecta yo puedo aprender.
Saludos.-
Responder Con Cita
  #4  
Antiguo 11-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
silviodp ¿no tienes las GExperts instaladas?

Tiene una opción maravillosa: pones el ratón en un begin pulsas CTRL + ALT + < cursor derecho > y te salta a su end correspondiente.

El hecho de "leerte la cartilla" por el mal identado es una crítica constructiva aunque no lo creas, un buen identado hace que encuentres los errores rápidamente, además de ser una de las principales bases en programación.

Añade un :
Código Delphi [-]
 With Modulodatos do
y verás como el código se clarifica muchísimo más, porque hace las líneas más cortas y por ende lees más rápido.

Si a esto le añades el acceso a campos persistentes tu código quedaría así:
Código Delphi [-]
procedure TForm14.DBEdit2KeyPress(Sender: TObject; var Key: Char);
Var
  n,m:Variant;
begin //(1)

  If Key=#13 Then 
  with ModuloDatos do  
  begin //(2)
    TblComprobantes.Active:=True;
    If TblComprobantes.Locate('Numero',TxtNumero.Text,[]) Then 
    begin //(3)
      If TblComprobantesEstado.Value <>'P' Then 
      begin //(4)
        m:=TblComprobantesCod_soc.Value;
        If TblSocios.Locate('Cod_soc',m,[]) Then 
         TxtSocio.Text:=m;
        n:=TblComprobantesCod_periodo.Value;
        If TblPeriodos.Locate('Cod_periodo',n,[]) Then 
          TxtPeriodo.Text:=n;
        TxtImporte.Text:=ModuloDatos.TblComprobantesImporte.Value;
        Confirmar.SetFocus
      end
      Else 
      begin//(4)
        ShowMessage('La factura Nº '+TxtNumero.Text+' ya fue cobrada!!!');
        (Sender as TDBEdit).SelectAll;
      end;
    end
    Else 
    begin//(3)
      ShowMessage('Factura no encontrada. Verifique el Número de la misma.');
      (Sender as TDBEdit).SelectAll;
    end; //(3)
  end; //(2)
end; //(1)

Fíjate también que he eliminado las líneas en blanco porque hace que tu vista pierda el identado.

Personalmente me gusta colocar el begin debajo de su if ya que aumenta la percepción visual de ese identado; además deja claro que lleva su begin correspondiente y por tanto hay más de una línea de código afectada. Si pones el begin al final de la línea, se olvida muchas veces al leerlo.

Creo que ambas formas de poner el begin pertenecen a estandares distintos, solo es cuestión de decidirse por uno de ellos.

Puede que te parezcan tonterías, el tiempo me dará la razón .

Otra cosita más, cuando hiciste ese código estabas algo dormido....
Código Delphi [-]
'La factura Nº'+' '+TxtNumero.Text+' '+'ya fue cobrada!!!'
los espacios en blanco que añades a txtnumero se pueden quitar y añadir en el lado izquierdo y derecho, ahorrando 2 concatenaciones de Strings

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 11-12-2006
DANY DANY is offline
Miembro
 
Registrado: nov 2003
Posts: 145
Poder: 23
DANY Va por buen camino
Simplemente de acuerdo con el primer comentario de nuño martinez.
Cual es la duda si vos mismo sabes que estan mal los begin end?.
Queres que te resuelvan el trabajo?.
no es una cuestion de mala onda del foro.
A mi siempre me ayudaron, a decir verdad, mas de lo que ayude.
pero siempre con preguntas conceptuales que estoy seguro de que con su sola lectura ayudaban a los demas.
perdon por mi opinion, soy medio zurdo como dicen en latinoamerica.
Saludos...
Responder Con Cita
  #6  
Antiguo 11-12-2006
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 24
silviodp Va por buen camino
No corre

DANY yo dije que alguna vez no me ayudaron???, solo que hay formas y formas de decir las cosas, ademas no quiero que ni vos ni nadie haga mi trabajo, (apenas que podras con el tuyo...), solo que pedi ayuda porque habia probado varias formas y no andaba, obvio que sabia que el problema era con el begin-end..., además nunca me ayudaste en nada vos.
Insisto en algo: hay veces que por mas que las cosas sean obvias, para algunos, por ahi para otros no tanto y hay que responder amablemente, no hacerse el "hombre" porque no nos vemos y estamos lejos...
Responder Con Cita
  #7  
Antiguo 11-12-2006
DANY DANY is offline
Miembro
 
Registrado: nov 2003
Posts: 145
Poder: 23
DANY Va por buen camino
La verdad nunca es triste, lo que no tiene es remedio...
La verdad no ofende.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
la aplicacion no corre en w98 DANY OOP 3 02-02-2007 01:05:16
corre delphi codigo de borland c ?? torito Varios 1 16-06-2005 18:50:16
Mi aplicacion no corre desde CD Coco_jac Varios 6 09-05-2005 21:14:10
Problemas com mi aplicacion, no corre desde CD ??? Coco_jac Conexión con bases de datos 1 08-05-2005 03:45:19
Delphi corre en Mac? adolfoz API de Windows 3 29-10-2004 09:47:25


La franja horaria es GMT +2. Ahora son las 19:14:52.


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