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-06-2010
Ferrer Ferrer is offline
Registrado
 
Registrado: jun 2010
Posts: 2
Poder: 0
Ferrer Va por buen camino
Pequeño Problema con Try.

Buenas, soy nuevo y estaba buscando un foro de apoyo a los estudios, para aclarar muchas de las dudas que el profesor no quiere o no sabe solucionar xD
Si me podeis ayudar os lo agradeceré.

Mi duda es la siguiente, en un formulario de lectura de datos tengo que leere entre otros un dato numérico y quiero hacer que si el usuario introduce algo distinto a un numero en el edit Le avise con un showmessage antes de petar.
He mirado por foros y con un Try Except debería ir, mi profesor me dijo q lo hiciera asi, pero como si nada, si pongo un numero va bien , normal, pero si pongo una letra peta el prrograma =.

Este es el codigo al pulsar el boton OK;
Código Delphi [-]
 
procedure TFrInserir.BoknormalClick(Sender: TObject);
begin
Crearptr;
UCA.insertf(actvol);
close;
end;

Y este es el codigo del Procedure CrearPtr:
Código Delphi [-]
Procedure TFrInserir.crearptr;
begin
  new(actvol);
  actvol^.Comp:=ecomp.text;
  Try                                             
    actvol^.Num:=Strtoint(enum.text);
  Except
    on E: EConversionError do
    ShowMessage('Numero de vol incorrecte');
  end;

  actvol^.Avio:=Eavio.Text;
  actvol^.desti:=edesti.Text;
  actvol^.ptotal:=Strtoint(eptotal.Text);

end;

El programa es una especie de mantenimiento de vuelos de un aeropuerto, los vuelos son punteros de un registro, por ahora lo estoy intentando solo con el numero de vuelo, pero si lo consigo lo ahria tambien con el numero de plazas totales (ptotal).

Añadir tambien, que es el proyecto final de curso, y la verdad me urge un poco, la semana que viene tengo que entregarlo y cuanto mas lo perfeccione mejor. Si alguien esta interesado tambien le puedo pasar el proyecto entero.

Gracias y un Saludo.

Última edición por Ferrer fecha: 11-06-2010 a las 12:25:45.
Responder Con Cita
  #2  
Antiguo 11-06-2010
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Hola,
Echale un vistazo a la funcion TryStrToInt que creo que te puede servir.

Saludos!
__________________
"Patientia et constantia taelecum"
Responder Con Cita
  #3  
Antiguo 11-06-2010
Ferrer Ferrer is offline
Registrado
 
Registrado: jun 2010
Posts: 2
Poder: 0
Ferrer Va por buen camino
Muchíssimas gracias, de verdad.
Despues de trastear un poco, probar cosas y escribir un apr de líneas de código más lo he dejado asi:

Código Delphi [-]
Function TFrInserir.crearptr:Boolean;
var x:integer;
begin
  result:=true;
  new(actvol);
  actvol^.Comp:=ecomp.text;
  If TryStrtoint(enum.text,x) Then Begin  //IF 1
    If Uca.Cerca(StrToInt(enum.Text))=NIL Then Begin  //IF 2
      actvol^.Num:=StrToInt(enum.Text);
      actvol^.Avio:=Eavio.Text;
      actvol^.desti:=edesti.Text;
      If TryStrToInt(eptotal.Text,x) Then actvol^.ptotal:=Strtoint(eptotal.Text) Else Begin    //ELSE 3
        ShowMessage('Numero total de passatgers incorrecte');;
        result:=false;
        eptotal.Text:='';
      end  //ELSE 3 END
    End {IF 2 END} Else Begin //ELSE 2
      ShowMessage('Aquest vol ja existeix');
      result:=false;
      enum.Text:='';
    End  //ELSE 2 END
  End{IF 1 END}  Else Begin //ELSE 1
    ShowMessage('Numero de vol incorrecte');
    result:=false;
    enum.Text:='';
  end; //ELSE 1 END


end;

Código Delphi [-]
procedure TFrInserir.BoknormalClick(Sender: TObject);
begin
If Crearptr Then Begin;
  UCA.insertf(actvol);
  close;
end;
end;


Me temo que al menos en ese formulario ya no se puede petar
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
pequeño problema con una form hijo r1d2m3 OOP 6 04-12-2009 21:02:56
Pequeño problema con Apache y php Recca PHP 4 21-10-2008 00:57:36
EditMask pequeño problema Patho Varios 5 29-10-2007 15:31:42
Pequeño problema con el componente tmemo gaska OOP 5 23-04-2004 12:52:36


La franja horaria es GMT +2. Ahora son las 14:58:44.


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