Port com sur delphi 6

Résolu
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007 - 30 août 2006 à 23:28
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007 - 1 sept. 2006 à 15:56
bonjour,
j'ai un code en QuickBasic et je voudrais le faire marcher en delphi6, si quelqu'un connait le code se raprochant le plus se serai cool
surtout sur la commande OPEN Merci davance
CLS
DIM inbuf(800)
DIM outbuf(3)

OPEN "com1,19200,n,8,1,bin,cs,ds" FOR RANDOM AS #1


outbuf(0) = 3

outbuf(1) = 1

outbuf(2) = 9

outbuf(3) = outbuf(0) XOR outbuf(1) XOR outbuf(2)

PRINT #1, CHR$(outbuf(0)) + CHR$(
outbuf(1)) + CHR$(
outbuf(2)) + CHR$(
outbuf(3))

END

7 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
30 août 2006 à 23:42
salut le plus simple est d'utiliser un composant comme TComport ou une dll comme RSCOM.dll


pour la dll tu déclares:
function OPENCOM(OpenString:PChar):Integer; stdcall; external 'RSCOM.DLL';


ensuite tu n'as plus qu'à l'utiliser:
OpenCom('COM1: baud=19200 parity=N data=8 stop=1');


@+

jlen
3
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007
31 août 2006 à 11:49
Merci pour ta réponse!
mais je sais pas comment faire pour la commande : CHR$

PRINT #1, CHR$(outbuf(0)) + CHR$( outbuf(1)) + CHR$( outbuf(2)) + CHR$( outbuf(3))

quelqu'un à une idée?
merci davance
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
31 août 2006 à 12:02
en VB chr$ renvoie une chaine?

dim outbuf(3)---> outbuf:array[0..3]of integer;

 alors chaine:=inttostr(outbuf[0])+inttostr(outbuf[1])+inttostr(outbuf[2])+inttostr(outbuf[3]);


@+

jlen
0
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007
31 août 2006 à 13:47
merci ! jai essai mais le sousi ses quant je mes la variable 'chaine' dans TXD(chaine) il me dit word et string son incompatible,
quelqu'un aurai une idée?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
31 août 2006 à 14:48
tu as 2 solutions soit faire TXD(outbuf[x]) et répéter l'opération ou utiliser :
procedure SENDSTRING (Buffer: PChar);
stdcall; external 'RSCOM.DLL';


vas voir ICI


@+

jlen
0
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007
1 sept. 2006 à 11:50
merci encors a toi jlen,
maleresement sa marche tjr pas! malgré tes conseil, je narrive pas a transmettre le bon code a mon avie a la platine
jai bien comprie comment le faire mais je narrive pas encors a trouvé comme le faire marche!!
jai la platine relait de chez Conrad LeC http://www.conrad.fr/Composants/Automatisme/Automates-programmables/Carte-de-relais-pour-commutation.html
dapre le livre il me disse que je doit transmettre une serie de 4byte

Byte 0            Byte 1                        byte2       Byte3 
Commande -  adresse de la paqute - Donner - total de controle (XOR)
3                    1                                 1            3

le code QuickBasic :

CLS
DIM inbuf(800)
DIM outbuf(3)

OPEN "com1,19200,n,8,1,bin,cs,ds" FOR RANDOM AS #1

outbuf(0) = 3
outbuf(1) = 1
outbuf(2) = 1
outbuf(3) = outbuf(0) XOR outbuf(1) XOR outbuf(2)

PRINT #1, CHR$(outbuf(0)) + CHR$( outbuf(1)) + CHR$( outbuf(2)) + CHR$( outbuf(3))

END

donc voila! si tu veut plus dinfo ésite pas! jespere que tu y vera plus claire que moi
merci davance
0
totalhackerz Messages postés 33 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 30 octobre 2007
1 sept. 2006 à 15:56
re jai trouvé se que signifié CHR ( http://www.vbfrance.com/infomsg.aspx?ID=806849 ) il stranforme le carraterre en ASCII donc je voudrai juste savoir comment je pourai faire sa en delphi pour stransmettre au com1 le total en ascii??
0
Rejoignez-nous