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
  #21  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El error es simplisimo.
El mismo programa te lo esta diciendo.
No son compatibles integer y string.
Veamos tu arreglo:
Hay dos datos iguales, uno el nombre de la funcion y otro el que adhieres a el memo, son el mismo, pero uno es Integer y otro string.
Tu funcion la cambiaste a integer:
Código Delphi [-]
Function TForm1.TransformaTiempo:Integer;
Var
  H,M,S:Integer;
Begin
  H:=StrToInt(EdHora.Text);
  M:=StrToInt(EdMin.Text);
  S:=StrToInt(EdSeg.Text);
  TransformaTiempo:=H*3600+M*60+S;
End;
bien, si funciona entonces deberias de recoger el dato de esa funcion en los mismos terminos, si pide integer, devuelvo integer:
Código Delphi [-]
procedure TForm1.BotApagarClick(Sender: TObject);
begin
  MemoBat.lines.add('shutdown /s /t '+IntToSTr(TransformaTiempo);
  MemoBat.lines.SaveToFile(ExtractFilePath(Application.ExeName)+'Apagar.Bat');
  WinExec(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat'),SW_SHOWNORMAL);
  Sleep(250);
  DeleteFile(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat'));
  MemoBat.lines.clear;
end;
A ver que te dice ahora.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #22  
Antiguo 06-05-2011
emii89 emii89 is offline
Miembro
 
Registrado: jul 2010
Posts: 18
Poder: 0
emii89 Va por buen camino
Huyy! que bobo que estoy! jaja cuando me empezó a tirar el primer error de conversión, no me di cuenta de que estaba dejando casilleros en blanco!! por eso era el error!! tengo que poner las excepciones! JAJAJA.
Responder Con Cita
  #23  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno, aqui esta tu seguimiento.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 06-05-2011 a las 20:01:53.
Responder Con Cita
  #24  
Antiguo 06-05-2011
emii89 emii89 is offline
Miembro
 
Registrado: jul 2010
Posts: 18
Poder: 0
emii89 Va por buen camino
Ahora tengo problema con la excepción!:

Cita:
procedure TForm1.BotApagarClick(Sender: TObject);
begin
Try
MemoBat.lines.add('shutdown /s /t '+IntToStr(TransformaTiempo));
MemoBat.lines.SaveToFile(ExtractFilePath(Application.ExeName)+'Apagar.Bat');
WinExec(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat'),SW_SHOWNORMAL);
Sleep(250);
DeleteFile(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat'));
MemoBat.lines.clear;
Except
On E: EConvertError do
Begin
Showmessage ('Estás dejando casilleros en blanco');
EdHora.Text:='0';EdMin.Text:='0';EdSeg.Text:='0';
End;
end;
end;
Qué es lo qué está mal?

Compila, pero me tira error igual.
Responder Con Cita
  #25  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Excepción ?????
Osea: Quieres que si alguno de los edits esta en blanco salte una execpcion????.
Osea: Quieres dejar que se equivoquen ????.
Osea: mmmmmm.
No hace falta una excepcion cuando se puede hacer que la funcion trabaje dependiendo de .......
Código Delphi [-]
Function TForm1.TransformaTiempo:Real;
var h,m,s : Integer;
Begin
  h:= StrToint(Edit1.Text);
  m:= StrToint(Edit2.Text);
  s:= StrToint(Edit3.Text);
  If h or m or s <> StrToInt('') then // aqui esta la excepcion
  TransformaTiempo:= h*3600 + m*60 + s;
End;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #26  
Antiguo 06-05-2011
emii89 emii89 is offline
Miembro
 
Registrado: jul 2010
Posts: 18
Poder: 0
emii89 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Excepción ?????
Osea: Quieres que si alguno de los edits esta en blanco salte una execpcion????.
Osea: Quieres dejar que se equivoquen ????.
Osea: mmmmmm.
No hace falta una excepcion cuando se puede hacer que la funcion trabaje dependiendo de .......
Código Delphi [-]Function TForm1.TransformaTiempo:Real; var h,m,s : Integer; Begin h:= StrToint(Edit1.Text); m:= StrToint(Edit2.Text); s:= StrToint(Edit3.Text); If h or m or s <> StrToInt('') then // aqui esta la excepcion TransformaTiempo:= h*3600 + m*60 + s; End;

Saludos
Buena solución! gracias por ayudarme a pensar! te agradzco mucho de verdad!
Aunque estando algún casillero en blanco, el programa sigue "crasheando" con eso de que "EConvertError ''' is not a valid integer... bla bla bla.
Responder Con Cita
  #27  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Eso es lo que trato, de que aprendas, si te doy todo resuelto no entenderas.
Me alegro que vayas bien.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #28  
Antiguo 06-05-2011
emii89 emii89 is offline
Miembro
 
Registrado: jul 2010
Posts: 18
Poder: 0
emii89 Va por buen camino
Sí! es cierto, voy a seguir investigando, aunque en un rato seguro me iré a dormir... mañana lo terminaré! seguro!! tengo que poner que no se puedan ingresar letras y demás!

Muchas gracias!
Responder Con Cita
  #29  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Todo tiene solución.
Efectivamente da el error.
Arreglarlo es solo cuestión de entender el por que de este.
De todos modos aquí hay muchos verdaderos maestros que te podrán decir muchas cosas mas que yo.
Por eso sigo siendo novato.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #30  
Antiguo 06-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui tienes el ejemplo.
Ahora verifica si los edits estan en blanco.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 09-05-2011 a las 23:44:56.
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
Como hacer un programa de chat ahkimpech Internet 8 27-08-2011 15:21:46
¿como se programa un API y que es un API? JXJ Varios 17 18-06-2010 01:53:30
Cómo se programa en Cobol David C++ Builder 8 12-09-2008 09:27:01
Como depurar un programa con delphi 7 kurono Varios 5 28-11-2007 09:01:26
Como meterle al firewall del xp un programa mierda API de Windows 18 14-12-2006 00:57:00


La franja horaria es GMT +2. Ahora son las 23:59:10.


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