Port com sur delphi 6 [Résolu]

totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention - 30 août 2006 à 23:28 - Dernière réponse : totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention
- 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
Afficher la suite 

7 réponses

Répondre au sujet
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 30 août 2006 à 23:42
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jlen100
totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention - 31 août 2006 à 11:49
0
Utile
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
Commenter la réponse de totalhackerz
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 31 août 2006 à 12:02
0
Utile
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
Commenter la réponse de jlen100
totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention - 31 août 2006 à 13:47
0
Utile
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?
Commenter la réponse de totalhackerz
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 31 août 2006 à 14:48
0
Utile
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
Commenter la réponse de jlen100
totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention - 1 sept. 2006 à 11:50
0
Utile
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
Commenter la réponse de totalhackerz
totalhackerz 33 Messages postés dimanche 23 mai 2004Date d'inscription 30 octobre 2007 Dernière intervention - 1 sept. 2006 à 15:56
0
Utile
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??
Commenter la réponse de totalhackerz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.