totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 2 sept. 2006 à 18:39
je te remerci sa maide bien mais jai encors un gro sousi!
si je fait avec le RSCOM.dll:
var send:string;
begin send := (chr(3) + chr(1) + chr(1) + chr(3));
sendByte(send); // il me dit : TYPE IMCOMPATIBLE 'Integer' et 'String'
//ou
TXD(send); // il me dit: TYPE IMCOMPATIBLE 'Word' et 'String'
alors je suis inpeut perdu! si quelqu'un connai le moin de changer la variable en Word en gardant les carreter ASCII se sera cool merci
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 2 sept. 2006 à 18:53
Au vu de la fonction, tu dois mettre un type integer dedans, je vois pas comment transformer une chaine (non numérique) en integer. Peut-être comme ceci (attention, je risque de dire une bêtise) :
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 2 sept. 2006 à 18:57
jai essai sa marche pas!
il faut que jenvoie tt les donner ascii au la platine relait! donc deja je peut oublier pour envoier les donner en plusieur foit!
et si je fait comme tu ma dit il envoie les donner 3 1 1 3 et il les faut en ascii!
mais merci quant meme
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 2 sept. 2006 à 19:00
merci pour le lien je les deja vue, il maide bien pour la création de la connextion mais pour les envoie en ASCII il me dit pas grand chose!
dsl javai plus de reponce sur lautre post, et le sujet et plus le meme, vue ke mtn je cherche a envoie les donner sur le port TXD en ASCII
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 2 sept. 2006 à 19:09
deja essai marche pas!
procedure SENDSTRING (Buffer: PChar);
stdcall; external 'RSCOM.DLL';
il faut les donner en PChar et moi jarrive juste a les mettre en ASCII en metten la variable sur string;
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 2 sept. 2006 à 19:14
sa pas lair de marcher!
il y a rien du tous qui se passe, mais il me dit aucune erre alors sé deja bon signe! mtn reste a voire si il envoie bien les donner sur le port TXD avec la commande sendstring
merci
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 3 sept. 2006 à 14:05
je vien dessai ses tjr pareil il veut pas, il envoie bien la donner en ascii mais pas sur le bon port TXD ,mais la bonne nouvelle ses qu'il me dit aps qu'il y a des erre meme si je mais une variable a lintérieu "SendByte(Ord(chaine)); "
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 3 sept. 2006 à 20:50
A la lecture du code BASIC, je me demande un truc: as-tu initialisé la platine ?
Initialise come ceci:
En global:
var
outbuf: array[0..3] of byte;
// Initialisation
outbuf[0] := 1;
outbuf[1] := 1;
outbuf[2] := 0;
outbuf[3] := outbuf[0] xor outbuf[1] xor outbuf[2]; // Donne 0 apres calcul
SendString(PChar(outbuf[0] + outbuf[1] + outbuf[2] + outbuf[3]));
sleep(2000); // Je crois que la boucle sert à faire patientez le soft, je vois pas son utilité sinon
// Envoi
outbuf[0] := 3;
outbuf[1] := 1;
outbuf[2] := 1;
outbuf[3] := outbuf[0] xor outbuf[1] xor outbuf[2]; // Donne 0 apres calcul
SendString(PChar(outbuf[0] + outbuf[1] + outbuf[2] + outbuf[3]));
sleep(2000); // Je crois que la boucle sert à faire patientez le soft, je vois pas son utilité sinon
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 3 sept. 2006 à 21:10
alors oui en tous 1ere il faut initialise la platine avec la commande 1 1 0 0
ensuite on le fait un delay (sleep) pour pas lui envoier tous de suite tro de donner sinon il risque de saturer , ensuite on envoie donc les info sur le relait à enlanché 3 1 1 3
outbuf(0) = 3 // 3 signifi le type de commande (voire lien http://lefouduroi.fr/portserie/CIMG2331.jpg )
outbuf(1) = 1 // on choisi le numero de la platine de 1 à 255
outbuf(2) = 1 // on choisi le relait à enclancheroutbuf(3) 3 //( a XOR des 3outbuf)
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 4 sept. 2006 à 03:48
apres essai de plusieur facon que tu ma donner, des que je veut envoie les donner le logiciel plante en mettant errer sans plus dinfo!
a mon avie ses la variable SendByte(Pchar.... qui ne passe pas du tous!
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 4 sept. 2006 à 15:58
Tu as essayer de le tracer ? (touche F5, F7, F8) Si tu ne sais pas tracer un programme, aucun probleme, met des ShowMessage('msg') à toutes les lignes et regarde à quelle ligne exactement ton logiciel plante.
C'est SendString et pas SendByte... (erreur de frappes je suppose). De plus SendByte n'est pas une variable mais une procedure.
PS: Est-ce que tu pourrais faire un tout petit effort sur ton orthographe ? Ca serait plus agréable de te relire. Merci.
totalhackerz
Messages postés33Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 octobre 2007 5 sept. 2006 à 23:36
oui dsl pour la faute de frape! cette bien sendstring, alors jai fait un tracer sur le logiciel voila le code du bouton qui envoie les donner:
ShowMessage('msg2');
// Initialisation
outbuf[0] := 1;
outbuf[1] := 1;
outbuf[2] := 0;
outbuf[3] := outbuf[0] xor outbuf[1] xor outbuf[2]; // Donne 0 apres calcul
ShowMessage('msg3');
SendString(PChar(outbuf[0] + outbuf[1] + outbuf[2] + outbuf[3]));
ShowMessage('msg4');
quand je fait le pas à pas il me dit bien le message msg2 et msg3, ensuite il plante en me dissent" le projet.exe a provoqué une classe d'exception EAccessViolation....."
quesque je pourai faire d'autre pour le faire marché?
ps: dsl pour les faute d'orthographe, mais le francais est moi sa jamai coller, je vais éssai de m'apliqué