Pascal/Turbo Pascal - Necesito poder ejecutar exe desde Turbo pascal 3

 
Vista:

Necesito poder ejecutar exe desde Turbo pascal 3

Publicado por Sergio (1 intervención) el 11/12/2006 13:37:51
Hola a todos.
Estoy necesitando para turbo pascal 3.0, poder ejecutar un exe o un bat.

algo similar a lo que tiene turbo 7 con el comando exec.

Si alguien me puede ayudar desde ya quedo muy agradecido.

salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito poder ejecutar exe desde Turbo pascal

Publicado por micropais (209 intervenciones) el 11/12/2006 18:01:58
Saludos Sergio.
ahí va una posible solución , no creo que sea la mas conveniente , lo ideal seria que te actualizes a TP7 o a FREE Pascal , este ultimo como su nombre indica es FREE (en caso de crear algo comercial no debes pagar ningun royaltye ademas de ser compatible con TP7 de borland le supera en muchos campos , uso de memoria de hasta 4 gb etc, etc etc etc).

ahí va la posible solucion , se trata de usar una funcion del bios que simula una pulsacion real de teclado , si esta forma de introducir datos tampoco fuera soportada desde TP3 usa ASM o introduce el code mediante INLINE - lo soportan todas las versiones de borland -(pero tendrás que traducirlo). espero que te sea util aunque no se el porqué de ese capricho TP3.
____________ SALUDOS a todos. ____________________________


{ pulsa_cadena_bios envia la cadena al buffer del teclado BIOS y abandona el}
{ el programa para que surta efecto. el efecto es el mismo que si estuviera-}
{ mos en el DOS y pulsasemos la cadena mas INTRO ejecutandose la cadena como}
{ si de un programa se tratase si la cadena tuviese sentido .La unica pega }
{ es que solo podremos utilizar una cadena de (16 caracteres)-1=15,el carac-}
{ ter INTRO se introduce automaticamente al final de la cadena, aunque el }
{ espacio esta limitado es suficiente para ejecutar en el peor de los casos }
{ un comando sin parametros o mejor aun ejecutar un archivo.BAT que este si }
{ que puede enviar parametros o ejecutar varios comandos o archivos sin nin-}
{ g£n problema teniendo la ventaja sobre un shell de que este metodo no }
{ precisa tanta MEMORIA ya que el programa se termina justo antes de llenar }
{ el buffer del teclado }
{ NOTA: *** MAXIMO 15 CARACTERES *** }
{...........................................................................}

{RENOTA: un procedimiento dentro de otro es un subprocedimiento de uso local
solo accesible desde este ultimo -pero el acceso en velocidad muchisimo mas rapido -no se si lo soporta TP3 , si es así , extraelo como procedimiento normal}

procedure pulsa_cadena_bios(cad:string);
var longi:byte;
cnt:byte;
procedure pulsa_tecla(cad:char);
var regs:Tregisters;
begin
regs.ah:=$05;
regs.al:=0;
regs.cl:=ord(cad);
intr($16,regs);
end;
begin
cad:=cad+#13;
longi:=length(cad);
if longi >16 then exit;
for cnt:=1 to longi do pulsa_tecla(cad[cnt]);
halt;
end;
{...........................................................................}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar