Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Tengo algo de código y necesito un programa (https://www.clubdelphi.com/foros/showthread.php?t=66201)

rad01 05-02-2010 23:06:16

Tengo algo de código y necesito un programa
 
hola amigos del foro mi problema es que no se programar en delphi soy tecnico electronico y quisiera si alguien me pudiese compilar este programa que en realidad hay 2 versiones si pudiesen las 2 seria muy bueno para ver cual se ad`pta mejor a mis necesidades, porque es mas o menos lo que busco un programa que controle un periferico por puerto serie por tiempo. abajo les dejo un link hacia las fuentes del programa. desde ya muchisimas gracias y deisculpen las molestias

Código Delphi [-]
function Activar_RTS(Puerto: String; Espera:  Cardinal): String;
var hPort: THandle; 
DCB:  TDCB;
begin 
 Result:= ''; 
 Puerto:= Uppercase(Puerto); // Cambiar esto si es necesario un puerto diferente  
 if (Puerto<>'COM1') and (Puerto<>'COM2') then exit; 
 hPort:= CreateFile(PChar('\\.\'+Puerto), GENERIC_READ or  GENERIC_WRITE,0,  nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); 
 if hPort<>INVALID_HANDLE_VALUE then begin  
  DCB.DCBlength:= sizeof(DCB); 
  if GetCommState(hPort,DCB) then begin 
   with  DCB do begin  
     BaudRate :=  CBR_9600; 
     ByteSize := 8; 
     Parity := NOPARITY; 
     StopBits :=  ONESTOPBIT; 
     Flags := $01; 
    end; 
    if  SetCommState(hPort,  DCB) then  begin 
     EscapeCommFunction(hPort,SETRTS); 
     Sleep(Espera); 
     EscapeCommFunction(hPort,CLRRTS); 
    end; 
   end; 
   CloseHandle(hPort); 
  end;
 end;

y este es otro
Código Delphi [-]
var hPort: Thandle; 
procedure AbrirPuerto(Puerto: String);
var DCB: TDCB;
begin 
 Puerto:= Uppercase(Puerto); // Cambiar esto si es necesario un puerto diferente 
 if  (Puerto<>'COM1') and (Puerto<>'COM2') then exit; 
 hPort:= CreateFile(PChar('\\.\'+Puerto), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); 
 if hPort<>INVALID_HANDLE_VALUE then begin  
  DCB.DCBlength:= sizeof(DCB); 
  if GetCommState(hPort,DCB) then begin 
   with  DCB do begin  
    BaudRate :=  CBR_9600; 
    ByteSize := 8; 
    Parity := NOPARITY; 
    StopBits :=  ONESTOPBIT; 
    Flags := $01; 
   end; 
   if  SetCommState(hPort,  DCB) then  Exit; 
  end; 
  CloseHandle(hPort); 
  hPort:= INVALID_HANDLE_VALUE; 
 end;
end; 

procedure  CerrarPuerto;
begin 
 if hPort <> INVALID_HANDLE_VALUE then begin  
  CloseHandle(hPort); 
  hPort:= INVALID_HANDLE_VALUE; 
 end;
end; 

procedure  ActivarRTS;
begin 
 if hPort <> INVALID_HANDLE_VALUE then EscapeCommFunction(hPort,SETRTS);
end; 

procedure DesactivarRTS;
begin 
 if  hPort <> INVALID_HANDLE_VALUE then  EscapeCommFunction(hPort,CLRRTS);
end;

http://delphi.jmrds.com/?q=node/8

ContraVeneno 05-02-2010 23:17:02

Hola

Me di la libertad de acomodar un poco tu código. De cualquier manera, Bienvenido a los foros y te recomiendo que leas la guía de estilo...

Saludos.

rad01 05-02-2010 23:32:50

gracias por responder tan rapido y disculpa por no leer la guia no se repetira mi error desde ya muchas gracias. y gracias por acomodar mi post.

rad01 07-02-2010 17:30:21

disculpen amigos del foro con todo el respeto que se merecen. pero necesito que me ayuden con este programa o alguno que trabaje asi desde ya muchas gracias.

Casimiro Notevi 07-02-2010 18:39:16

Pero, qué es lo que necesitas, amigo?

rad01 07-02-2010 21:35:58

hola amigo Casimiro Notevi lo que necesito es que si me puede hacer el ejecutable de esas fuentes que postee antes ya que yo no se programar se que estan en delphi intente hacerlo pero al ser neofito en el tema fracase.
segun la pagina donde las saque son de un programa que controla por tiempo un periferico por puerto serie (com1) con una pequeña interface con unos trancistores y un relee que yo la usaria para controlar una play en mi ciber tambien deje el link a la pagina donde la baje desde ya muchisimas gracias por su tiempo

Casimiro Notevi 07-02-2010 22:02:22

Tal vez me equivoque, pero ese código son funciones que sin el resto del programa creo que no servirán de mucho.
¿No tienes el programa completo o un enlace al mismo?

dec 07-02-2010 22:03:06

Hola,

Me temo que el asunto no sea tan sencillo. Lo que muestras son un par de funciones y procedimientos, pero, aunque podrían formar parte de un programa (¿de tipo "consola"?) lo cierto es que no pueden situarse en ninguno sin más. Habría que tener en cuenta otras cosas, como un posible "punto de entrada" al programa, etc.

P.D. Se me adelantó Casimiro por segundos. :rolleyes: :D

rad01 07-02-2010 23:41:51

hola dec muchas gracias por tu tiempo y a todos. voy a seguir buscando un programita que haga lo que necesito desde ya si algun amigo del foro necesita una mano o desea consultar algo sobre electronica estoy a sus servicio desde ya muchas gracia

pd: si amigo casimiro en mi primer post esta el link hacia el programa ahora no puedo postearlo desde ya muchas gracias

roman 08-02-2010 16:26:44

El código enlazado es un código de Domingo Seoane, y no pretende ser un programa completo sino unas rutinas para ser usadas en un programa, así que habría que completar el programa o hacer una especie de demo. ¿Por qué no te diriges directamente a Domingo? Él es muy accesible y, como puedes ver de la página que enlazas, ha atendido múltiples inquietudes que le han expuesto.

// Saludos

Casimiro Notevi 08-02-2010 16:52:21

Ya decía yo que esa forma de escribir código me sonaba de algo.

Claro, como dice roman, ponte en contacto con el amigo seoane, seguro que te prepara un programita con esas funciones en cuanto tenga un poquito de tiempo.
Por cierto, su web es esta: http://delphi.jmrds.com/

German 08-02-2010 17:22:16

A ver si te sirve esto:

http://www.megaupload.com/?d=R3SKHL79


Debes poner el archivo de texto "Puertos" en la misma ubicación que el programa. También va incluido el fuente (las funciones utilizadas son las del enlace de la página de Seoane).

Salu2.

rad01 08-02-2010 22:45:18

gracias amigo german esta buenisimo es lo que queria muchas gracias tambien a los amigos que me ayudaron casimiro, roman, dec, contra veneno, al foro en si desde ya muchisimas gracias y estoy a su servicio en lo que pueda ayudarles aunque lo mio es la electronica gracias otra vez


La franja horaria es GMT +2. Ahora son las 03:00:26.

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