FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Programa como .bat
Hola chicos! estoy tratando de crear un programita para programar el apagado de mi pc.
El código en el .bat es sencillo... simplemente es una línea: shutdown /s /t (segundos) y para cancelarlo es shutdown -a Ahora, el programita que quiero lograr es poder escribir en un edit, en cuanto tiempo quiero que se apague la pc, y otro botón para cancelarlo... Cómo debo hacer?? Me conviene crearlo desde un txt y grabarlo como .bat?? puedo eliminar un bat después de creado? Última edición por emii89 fecha: 05-05-2011 a las 22:35:55. |
#2
|
||||
|
||||
Hola
Muchas preguntas, poco codigo. En mi caso, como no se de esto, me parece que seria interesante ver como haces todo eso. Si copias y pegas el codigo aqui, aprenderemos un monton. Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
Creo que ya tengo la idea... necesito crear un txt a través de un memo. Luego, guardarlo como .bat y ejecutarlo. Después borrarlo. Será muy dificil?
|
#4
|
||||
|
||||
Hola
La respuesta corta: NO, NO. Saludos PD: Como me gustaria ver ese codigo, me mata la curiosidad.
__________________
Siempre Novato |
#5
|
|||
|
|||
Lo estoy consiguiendo!
Cita:
|
#6
|
||||
|
||||
Hola
Yo creo que vas muy bien, claro que podras. Ahora, una sugerencia, coloca la direccion del archivo .bat en el mismo exe (Application.ExeName). Saludos
__________________
Siempre Novato |
#7
|
|||
|
|||
No entendí eso... a qué te referís? :O
|
#8
|
|||
|
|||
Cita:
|
#9
|
|||
|
|||
Código:
procedure TForm1.Button1Click(Sender: TObject); begin memo1.lines.add('shutdown /s /t '+edit1.text); memo1.lines.SaveToFile('c:\apagar.bat'); WinExec(PChar('c:\apagar.bat'),SW_SHOWNORMAL); sleep(250); DeleteFile(PChar('c:\apagar.bat')); memo1.lines.clear; end; procedure TForm1.Button2Click(Sender: TObject); begin memo1.lines.add('shutdown -a'); memo1.Lines.SaveToFile('c:\apagar.bat'); WinExec(PChar('c:\apagar.bat'),SW_SHOWNORMAL); sleep(250); DeleteFile(PChar('c:\apagar.bat')); memo1.lines.clear; end; Bat eliminado! En un ratito posteo el programa listo! |
#10
|
||||
|
||||
Hola
Bien, me alegro que lo hicieras solo. Ahora: El archivo lo envias al directorio c:/, por eso indique que lo colocaras en el mismo directorio que el exe, osea el programa, asi: Saludos
__________________
Siempre Novato |
#11
|
|||
|
|||
Cita:
|
#13
|
|||
|
|||
Bien, está interesante... de todos modos quiero terminar el que estoy haciendo, pero evidentemente estoy fallando en algo.
Me tira un eConvertError... en la línea que voy a señalar... me ayudan a descubrir el error?. Código:
implementation {$R *.dfm} Function TForm1.TransformaTiempo:Real; Begin TransformaTiempo:=(StrToInt(EdHora.Text)*3600)+(StrToInt(EdMin.Text)*60)+(StrToInt(EdSeg.Text)); End; procedure TForm1.BotApagarClick(Sender: TObject); begin MemoBat.lines.add('shutdown /s /t '+FloatToStr(TransformaTiempo)); MemoBat.lines.SaveToFile(ExtractFilePath(Application.ExeName)+'Apagar.Bat'); WinExec(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat'),SW_SHOWNORMAL); Sleep(250); DeleteFile(PChar('c:\apagar.bat')); MemoBat.lines.clear; end; procedure TForm1.BotCancelarClick(Sender: TObject); begin MemoBat.lines.add('shutdown -a'); MemoBat.Lines.SaveToFile('c:\apagar.bat'); WinExec(PChar('c:\apagar.bat'),SW_SHOWNORMAL); Sleep(600); DeleteFile(PChar('c:\apagar.bat')); MemoBat.lines.clear; end; end. |
#14
|
||||
|
||||
Hola
Creo que quieres que la funcion te calcule los segundos en horas, minutos, segundos. Es asi?. Saludos
__________________
Siempre Novato |
#15
|
|||
|
|||
Exacto!! no se por que me tira el error ese.
|
#16
|
||||
|
||||
Hola
INT = Integer. REAL = Float. Es simple, la funcion debe devolver un valor REAL (float), sin envargo contiene o trasforma los edits en INTEGER. Analiza esto: Se generan tres variable REAL y se les pasa el valor de los edit, a la hora de hacer el calculo es mucho mas sencillo hacerlo ya que no se tiene que hacer ninguna transformacion. Espero que lo asimiles, si no pregunta. Saludos
__________________
Siempre Novato |
#17
|
||||
|
||||
Hola
Ahora, ya que no preguntas, pregunto yo: Si hago esto: Por que no hago esto ?: Varia en algo?. Funcionan las dos?. Por que?. Saludos
__________________
Siempre Novato |
#18
|
|||
|
|||
Cita:
Ninguna de las 2 la logro hacer funcionar, me sigue tirando el error en la misma línea de código!. Como funcionar, deberían funcionar las 2, siempre y cuando los números que ingreses sean enteros. |
#19
|
||||
|
||||
Hola
Las dos funcionan, la diferencia esta en que la primera DA la posivilidad de colocar decimales, cosa que no es correcta, en este caso. El error es de conversion, no deberia darlo en ninguno de los dos casos. Saludos
__________________
Siempre Novato |
#20
|
|||
|
|||
Cita:
Código:
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; procedure TForm1.BotApagarClick(Sender: TObject); Var Tiempo:Integer; begin Tiempo:=IntToStr(TransformaTiempo); MemoBat.lines.add('shutdown /s /t '+Tiempo); 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; procedure TForm1.BotCancelarClick(Sender: TObject); begin MemoBat.lines.add('shutdown -a'); MemoBat.Lines.SaveToFile('c:\apagar.bat'); WinExec(PChar('c:\apagar.bat'),SW_SHOWNORMAL); Sleep(600); DeleteFile(PChar(ExtractFilePath(Application.ExeName)+'Apagar.Bat')); MemoBat.lines.clear; end; procedure TForm1.Cerrar1Click(Sender: TObject); begin Close; end; |
|
|
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 |
|