Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 06-03-2010
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
El compilador es un "simple" .exe al cual le das parametros.

Por ejemplo ejecutas en linea de comando: pascal.exe mi_programa.pas

y este te devolverá un mi_programa.exe

El IDE no es más que un "simple" editor de texto.

Eso a grandes rasgos, un ejemplo antiguo pero util.

P.D.: En las páginas de Borland hace unos años, podías descargar su compilador C++ v5.0 completo y completamente gratis (sin IDE).

Cita:
Util por ejemplo para llamar al ARJ, PkUnzip... para llamar al compilador de Java, etc.
En este ejemplo, ejecutamos un comando externo del DOS (ChkDsk.EXE) viendo el resultado del comando en un TMemo:


El ejemplo:

-Pon un TMemo (Memo1) y un TButton (Button1) en tu form
-Mete este código dentro del OnClick de Button1:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 
  procedure RunDosInMemo(Que:String;EnMemo:TMemo);
  const 
     CUANTOBUFFER = 2000;
  var 
    Seguridades         : TSecurityAttributes;
    PaLeer,PaEscribir   : THandle;
    start               : TStartUpInfo;
    ProcessInfo         : TProcessInformation;
    Buffer              : Pchar;
    BytesRead           : DWord;
    CuandoSale          : DWord;
  begin 
    with Seguridades do 
    begin 
      nlength              := SizeOf(TSecurityAttributes);
      binherithandle       := true;
      lpsecuritydescriptor := nil;
    end; 
    {Creamos el pipe...}
    if Createpipe (PaLeer, PaEscribir, @Seguridades, 0) then 
    begin 
      Buffer  := AllocMem(CUANTOBUFFER + 1);
      FillChar(Start,Sizeof(Start),#0);
      start.cb          := SizeOf(start);
      start.hStdOutput  := PaEscribir;
      start.hStdInput   := PaLeer;
      start.dwFlags     := STARTF_USESTDHANDLES +
                           STARTF_USESHOWWINDOW;
      start.wShowWindow := SW_HIDE;
 
      if CreateProcess(nil,
         PChar(Que),
         @Seguridades,
         @Seguridades,
         true,
         NORMAL_PRIORITY_CLASS,
         nil,
         nil,
         start,
         ProcessInfo)
      then 
        begin 
          {Espera a que termine la ejecucion}
          repeat 
            CuandoSale := WaitForSingleObject( ProcessInfo.hProcess,100);
            Application.ProcessMessages;
          until (CuandoSale <> WAIT_TIMEOUT);
          {Leemos la Pipe}
          repeat 
            BytesRead := 0;
            {Llenamos un troncho de la pipe, igual a nuestro buffer}
            ReadFile(PaLeer,Buffer[0],CUANTOBUFFER,BytesRead,nil);
            {La convertimos en una string terminada en cero}
            Buffer[BytesRead]:= #0;
            {Convertimos caracteres DOS a ANSI}
            OemToAnsi(Buffer,Buffer);
            EnMemo.Text := EnMemo.text + String(Buffer);
          until (BytesRead < CUANTOBUFFER);
        end; 
      FreeMem(Buffer);
      CloseHandle(ProcessInfo.hProcess);
      CloseHandle(ProcessInfo.hThread);
      CloseHandle(PaLeer);
      CloseHandle(PaEscribir);
    end; 
  end; 
 
begin 
  RunDosInMemo('chkdsk.exe c:\',Memo1);
end;


Otra forma (fuente descargable): http://www.ajpdsoft.com/modules.php?...=getit&lid=258

.
.
.

Última edición por MAXIUM fecha: 06-03-2010 a las 02:01:56.
Responder Con Cita
 



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
reportes turbo cmm07 Varios 9 16-09-2008 00:35:25
Turbo y componentes cmm07 Varios 23 23-08-2008 03:35:11
Turbo Delphi Hugo Penagos Varios 1 14-12-2007 10:02:04
Turbo Delphi? BuenaOnda Varios 6 07-11-2007 17:05:33
Turbo Delphi o BDS Ezecool Varios 1 04-06-2007 20:56:55


La franja horaria es GMT +2. Ahora son las 17:07:29.


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