Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   La Taberna (https://www.clubdelphi.com/foros/forumdisplay.php?f=40)
-   -   Humanos contra IAs. A quién preguntar ? (https://www.clubdelphi.com/foros/showthread.php?t=97146)

Northern 27-12-2024 02:57:57

Humanos contra IAs. A quién preguntar ?
 
Pues ahí está la cuestión y es que ahora vas y le dices a una IA que te haga un programa en tal o cual lenguaje y ya casi lo tienes ahí codificado en menos de un minuto y leer lo que escribió y entenderlo te puede llevar horas !!!


Yo le tengo hecho varias preguntas y hay que fastidiarse, saben de todo !!!


:D

Casimiro Notevi 27-12-2024 11:46:42

"Parece" que sabe de todo, y si no lo sabe entonces se lo inventa.

Northern 27-12-2024 12:44:43

Cita:

Empezado por Casimiro Notevi (Mensaje 560968)
"Parece" que sabe de todo, y si no lo sabe entonces se lo inventa.

Pues te digo que yo uso Windows y para no estar todo el rato usando el CMD le pregunté si podía decirme cómo enviar los datos que salen en la consola a una ventana para hacer un programilla en Delphi y me dio la respuesta en un segundo !!!

Eso en 2020 era impensable y buscar información y hacerlo yo mismo me llevaría... hasta hoy :D

En fin, menuda revolución y si esto es hoy cómo será próximas fechas ?

:confused:

mamcx 27-12-2024 15:29:44

Cita:

Empezado por Northern (Mensaje 560973)
... y buscar información ...
:confused:

Bueno, esas IA hicieron eso: Fueron alimentadas con la información que tomaron de todos nosotros (entre ellas las de foros, programadores, repositorios open source, etc) donde estaba la respuesta.


Es muy impresionante. Pero es muy riesgosa porque la IA no sabe si lo que encontró es o no es cierto, y si tampoco lo sabe el humano...

Northern 27-12-2024 23:21:51

Cita:

Empezado por mamcx (Mensaje 560979)
Bueno, esas IA hicieron eso: Fueron alimentadas con la información que tomaron de todos nosotros (entre ellas las de foros, programadores, repositorios open source, etc) donde estaba la respuesta.

Es muy impresionante. Pero es muy riesgosa porque la IA no sabe si lo que encontró es o no es cierto, y si tampoco lo sabe el humano...


Ciertamente nadie nace aprendido y las IAs tampoco pero decirle a una IA: oye IA, una función en Delphi que escriba "cmd netstat" envíe la salida a un TMemo



Hasta ahí y que en menos de 5 segundos te dé la respuesta no me digas que no es una pasada y esta fue su respuesta


Código Delphi [-]
function EjecutarCmdYCapturarSalida(const Command: string; Memo: TMemo): Boolean;
var
  SecurityAttr: TSecurityAttributes;
  ReadPipe, WritePipe: THandle;
  StartInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
  Buffer: array[0..4096] of AnsiChar;
  BytesRead: DWORD;
  CommandLine: string;
  Output: TStringList;
begin
  Result := False;
  Memo.Lines.Clear;
  Output := TStringList.Create;

  try
    // Configurar seguridad del pipe
    ZeroMemory(@SecurityAttr, SizeOf(SecurityAttr));
    SecurityAttr.nLength := SizeOf(SecurityAttr);
    SecurityAttr.bInheritHandle := True;

    // Crear pipe para redirigir la salida estándar
    if not CreatePipe(ReadPipe, WritePipe, @SecurityAttr, 0) then
      Exit;

    try
      // Asegurarse de que el extremo de escritura no sea heredado por el proceso hijo
      if not SetHandleInformation(ReadPipe, HANDLE_FLAG_INHERIT, 0) then
        Exit;

      // Configurar StartupInfo para redirigir salida
      ZeroMemory(@StartInfo, SizeOf(StartInfo));
      StartInfo.cb := SizeOf(StartInfo);
      StartInfo.hStdOutput := WritePipe;
      StartInfo.hStdError := WritePipe;
      StartInfo.dwFlags := STARTF_USESTDHANDLES;

      ZeroMemory(@ProcInfo, SizeOf(ProcInfo));

      // Construir el comando completo
      CommandLine := Format('cmd /C %s', [Command]);

      // Crear el proceso
      if CreateProcess(nil, PChar(CommandLine), nil, nil, True, CREATE_NO_WINDOW, nil, nil, StartInfo, ProcInfo) then
      begin
        CloseHandle(WritePipe); // El proceso principal no escribe en el pipe

        // Leer la salida del pipe
        while ReadFile(ReadPipe, Buffer, SizeOf(Buffer) - 1, BytesRead, nil) and (BytesRead > 0) do
        begin
          Buffer[BytesRead] := #0; // Terminar el buffer
          Output.Text := Output.Text + String(Buffer);
        end;

        // Esperar a que el proceso termine
        WaitForSingleObject(ProcInfo.hProcess, INFINITE);

        // Mostrar la salida en el TMemo
        Memo.Lines.Text := Output.Text;

        Result := True;
      end;

    finally
      // Cerrar handles
      CloseHandle(ReadPipe);
      CloseHandle(WritePipe);
      CloseHandle(ProcInfo.hProcess);
      CloseHandle(ProcInfo.hThread);
    end;
  finally
    Output.Free;
  end;
end;


Esto en 2020 era impensable y a saber qué viene el año que viene


:rolleyes:

Casimiro Notevi 28-12-2024 12:09:15

Ese código seguramente lo ha sacado de clubdelphi.

Northern 28-12-2024 14:30:27

Cita:

Empezado por Casimiro Notevi (Mensaje 560990)
Ese código seguramente lo ha sacado de clubdelphi.


Posiblemente, aunque lo he buscado y no lo encontré. Sí había ejemplos para ejecutar aplicaciones externas pero no que volcasen la salida en un TMemo, por ejemplo


En cualquier caso se está produciendo un dato curioso y es que cuanto más se usa la IA para resolver problemas menos información actualizada se genera en los foros como este o StackOverflow y aparece la 'paradoja del reuso'


https://www.genbeta.com/inteligencia...pesima-noticia

Casimiro Notevi 28-12-2024 19:26:22

Es normal, ten en cuenta que en clubdelphi (por ejemplo) hay más de 90.000 temas y más de 550.000 posts, por lo que la mayoría de personas que buscan información no necesitan preguntar: llegan, buscan, encuentran, copian y hasta la próxima.

navbuoy 13-01-2025 23:29:55

no te fies mucho, a mi me dio por pedirle a ChatGPT como borrar los JPG y M3U de los directorios de la carpeta Mp3 y el codigo que me dio se lo cargo todo, todas las canciones mp3 etc, menos mal que yo siempre tengo copias en otros discos duros aparte.....

Northern: mira, para que veas que un humano (en este caso yo) lo hace mejor....todo ese codigo puedes hacerlo con una sola linea

Código:

WinExec("netstat", SW_SHOW);
y para que redireccione a un archivo seria:

Código:

WinExec("netstat >> archivo.txt", SW_SHOW);
y si quieres hacerlo todo en background sin mostrar nada cambias el SW_SHOW por SW_HIDE y listo

y luego cargas el archivo en el Memo con LoadFromFile() y a correr

navbuoy 13-01-2025 23:41:42



yo por ejemplo estuve casi una noche entera con ChatGPT hasta que hice funcionar mi loader de modelos OBJ hechos en Blender para cargarlos en OpenGL con multi-texturas en C++ Builder

https://www.clubdelphi.com/foros/showthread.php?t=96932


La franja horaria es GMT +2. Ahora son las 00:27:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi