Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Compilar un codigo (https://www.clubdelphi.com/foros/showthread.php?t=89106)

Master-Key 27-09-2015 20:29:11

Compilar un codigo
 
Un saludo a todos, desde hace un corto tiempo e iniciado a programar en delphi 7 pero ahora me a tocado compilar un código el cual ya está escrito me lo dieron y tengo que compilarlo pero e aquí el momento en el que no entiendo ciertas cosas les recuerdo que no soy experto en Delphi 7 me dieron este código a compilar pero son ciertas cosas las que no entiendo a la hora de hacer inserciones quisiera que si alguno de ustedes puede compilarlo y ver los errores que puede generar para reportarlo pero la verdad es que no entiendo mucho...

me dijeron:
renombrar CaptureConsoleOutput2 a CaptureConsoleOutput esto es para que se muestre en un TMemo
CaptureConsoleOutput ( ' util.exe ' + Edit5.text + ' ' + Edit7.text '' , esto es IMEI # 1 # 2 IMEI

Código Delphi [-]
type
TArg = reference to procedure(const Arg: T);


 private
    { Private declarations }
    procedure CaptureConsoleOutput(const ACommand, AParameters: String; CallBack: TArg);



procedure TForm1.CaptureConsoleOutput2(const ACommand, AParameters: String; CallBack: TArg);
const
  CReadBuffer = 2400;
var
  saSecurity: TSecurityAttributes;
  hRead: THandle;
  hWrite: THandle;
  suiStartup: TStartupInfo;
  piProcess: TProcessInformation;
  pBuffer: array [0 .. CReadBuffer] of AnsiChar;
  dBuffer: array [0 .. CReadBuffer] of AnsiChar;
  dRead: DWORD;
  dRunning: DWORD;
  dAvailable: DWORD;
begin
  saSecurity.nLength := SizeOf(TSecurityAttributes);
  saSecurity.bInheritHandle := true;
  saSecurity.lpSecurityDescriptor := nil;
  if CreatePipe(hRead, hWrite, @saSecurity, 0) then
    try
      FillChar(suiStartup, SizeOf(TStartupInfo), #0);
      suiStartup.cb := SizeOf(TStartupInfo);
      suiStartup.hStdInput := hRead;
      suiStartup.hStdOutput := hWrite;
      suiStartup.hStdError := hWrite;
      suiStartup.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
      suiStartup.wShowWindow := SW_HIDE;
      if CreateProcess(nil, PChar(ACommand + ' ' + AParameters), @saSecurity, @saSecurity, true, NORMAL_PRIORITY_CLASS, nil, nil, suiStartup,
        piProcess) then
        try
          repeat
            dRunning := WaitForSingleObject(piProcess.hProcess, 100);
            PeekNamedPipe(hRead, nil, 0, nil, @dAvailable, nil);
            if (dAvailable > 0) then
              repeat
                dRead := 0;
                ReadFile(hRead, pBuffer[0], CReadBuffer, dRead, nil);
                pBuffer[dRead] := #0;
                OemToCharA(pBuffer, dBuffer);
                CallBack(dBuffer);

              until (dRead < CReadBuffer);
            Application.ProcessMessages;
          until (dRunning <> WAIT_TIMEOUT);

        finally
          CloseHandle(piProcess.hProcess);
          CloseHandle(piProcess.hThread);
        end;
    finally
      CloseHandle(hRead);
      CloseHandle(hWrite);
    end;
end;

Código Delphi [-]
 Memo2.Lines.Clear;
     Memo2.Lines.Add('IMEI... ');
 
CaptureConsoleOutput('util.exe '+Edit5.text+' '+ Edit7.text,'',
            procedure(const Line: PAnsiChar)
            begin
                Memo2.Lines.Add(String(Line));

               Memo2.Lines.Add(' ');
      end

);
Memo2.Lines.Add('Reversing');

RenameFile('MP0B_001_NEW', 'MP0B_001');

 Memo2.Lines.Add('');
 CaptureConsoleOutput('adb.exe push MP0B_001 /data/nvram/md/NVRAM/NVD_IMEI/MP0B_001','',
            procedure(const Line: PAnsiChar)
            begin
                Memo2.Lines.Add(String(Line));

               Memo2.Lines.Add(' ');
      end

);
    
     CaptureConsoleOutput('adb.exe reboot','',
            procedure(const Line: PAnsiChar)
            begin
                Memo2.Lines.Add(String(Line));

               Memo2.Lines.Add(' ');
      end

);
 Memo2.Lines.Add('Done : )');

Ñuño Martínez 28-09-2015 11:06:54

Hola, bienvenido al club.

Por favor, usa comas, puntos y demás signos, porque se hace muy difícil leerlo y entenderlo.

Por otro lado, lo que importa no son los errores que nos de a nosotros si no los que te den a ti, ya que todo depende de la configuración de cada uno. Por otro lado, y viendo el código por encima, sospecho que se se necesita alguna biblioteca o unidad concreta, posiblemente de terceros. ¿Es así?

Master-Key 28-09-2015 17:39:23

Cita:

Empezado por Ñuño Martínez (Mensaje 497250)
Hola, bienvenido al club.

Por favor, usa comas, puntos y demás signos, porque se hace muy difícil leerlo y entenderlo.

Por otro lado, lo que importa no son los errores que nos de a nosotros si no los que te den a ti, ya que todo depende de la configuración de cada uno. Por otro lado, y viendo el código por encima, sospecho que se se necesita alguna biblioteca o unidad concreta, posiblemente de terceros. ¿Es así?

Bro gracias por responder y por las recomendaciones, ciertamente estas en lo correcto el codigo necesita ejecutar 2 archivos .exe los cuales se muestran en el código son adb.exe y el util.exe para hacer una conexión a un celular android via adb

Casimiro Notevi 28-09-2015 17:52:14

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración :)

He eliminado el ejecutable que has adjuntado. Recuerda que aquí se comparte código fuente.
Además no se entiende que quieres ni qué problema tienes.


La franja horaria es GMT +2. Ahora son las 12:27:57.

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