Page 1 sur 1
[..] Input et lecteur carte bancaire
Posté : mer. 20 janv. 2010 12:48
par yop73
Bonjour,
Voici le problème.
J'ai un lecteur de carte bancaire et j'y insère la cb du client pour faire une caution.
Je reçois une ligne de chiffres et de lettres que je dois trier.
Mon seul soucis est que je voudrais que lorsque j'insère la cb? le tri se fasse automatiquement et non pas devoir appuyer sur 'enter'.
J'ai essayé d'ajouter un retour charriot à la fin de la ligne qui s'affiche mais ça ne fonctionne pas plus.
J'ai mis un nombre limité de caractères entrant dans mon input mais pas plus de résultat.
Y a t'il une façon comme sur une douchette que les info lues soient validées automatiquement sans validation ?
Merci d'avance à ceux qui me liront.
Yop73
Re: [..] Input et lecteur carte bancaire
Posté : mer. 20 janv. 2010 14:06
par Habibsbib
J'ai pas tout compris. Tu peux nous montrer un extrait de numéros ?
Non, je déconne. Ben, automatisation de la lecture des lignes, rangement, StringSplit, StringCompare... ça me paraît potable.
Re: [..] Input et lecteur carte bancaire
Posté : mer. 20 janv. 2010 17:33
par yop73
Je recommence :
Tout ce qui concerne le tri, le découpage des lignes, trouver les info du propriétaire de la carte c'est ok.
je voudrais pouvoir scanner une cb sans devoir appuyer sur entrée à chaque scan.
Sachant que j'utilise une douchette et un lecteur cb, y'a t'il moyen d'obtenir une validation automatique après une saisie ?
(Les info sur les cb ne sont pas toutes de la même longueur, mais après le 55eme caractère ce ne sont que des caractères de contrôle et je ne m'en sers pas)
Merci
Re: [..] Input et lecteur carte bancaire
Posté : mer. 20 janv. 2010 21:04
par australopitheque
c'est un peu léger comme info

utilise tu un soft spécifique ou l'a tu fait??
car si c'est un soft spécifique faut lui faire envoyer "Send("{enter}")" au bon moment et au bon endroit,pas si c'est un code autoit que tu as fait, qui là, mérite un minimum de code a montrer pour que quelqu'un puisse t'aider

Re: [..] Input et lecteur carte bancaire
Posté : mer. 20 janv. 2010 22:37
par yop73
Désolé ma question me paraissait simple.
Voici la routine :
Il faudrait que lorsque je rentre les données dans mon input
je n'ai pas besoin de valider pour accéder à : switch...... Case $CB,
Pour s'amuser avec le fichier joint, copier la ligne suivante dans l'input de l'onglet "fiche loc creation"
%B4979886129957042^BLOUDET/MARCEL.MR ^1211201755267398000000398000000?;4975686129957042=12112017182673980000?
Global $CB = GUICtrlCreateInput("", 200, 352, 465, 21)
Global $TitreFiche = GUICtrlCreateInput("TitreFiche", 128, 392, 57, 21)
Global $NomFiche = GUICtrlCreateInput("NomFiche", 128, 424, 169, 21)
Global $PrenomFiche = GUICtrlCreateInput("PrenomFiche", 128, 456, 169, 21)
Global $NumCBs = GUICtrlCreatelabel("NumCBs", 424, 424, 201, 21)
Global $DateCB = GUICtrlCreateInput("DateCB", 424, 456, 137, 21)
Global $INPUTCB = GUICtrlCreateInput("", 280, 160, 457, 28)
While 1
global $nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $MenuItem1
Case $MenuItem2 ; CREATION FICHE LOC
_GUICtrlTab_SetCurSel($Tab, 0)
..............
Case $MenuItem19
Case $MenuItem20 ; QUITTER
if MsgBox(1,"QUITTER ?", "Voulez vous quitter le programme ?",4) = 1 then
_ExcelBookClose($Excel)
exit
EndIf
.................
Case $CB
global $MN = GUICtrlRead($CB)
Global $var = StringMid($MN, 3, 16) ; on extrait le num cb
$NumCBs = $var
GUICtrlSetData(28, $var) ; on attribue à $NumCBs la valeur de $var
$mn = StringTrimLeft($mn, 19) ; on retire de la chaine complête le num de cb
global $result = StringInStr($mn, "/") ; on recherche la première occurence de "/" dans la chaine
global $len = StringLen($mn)
$var = StringMid($MN, 1,$result-1)
$nomfiche = $var
GUICtrlSetData(26, $var) ; on attribue à $NomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le nom du client
$result = StringInStr($mn, ".") ; on recherche la première occurence de "." dans la chaine
$len = StringLen($mn)
$var = StringMid($MN, 1,$result-1 )
$PrenomFiche = $var
GUICtrlSetData(27, $var) ; on attribue à $prenomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le nom du client
$result = StringInStr($mn, " ") ; on recherche la première occurence de " " dans la chaine
$len = StringLen($mn)
$var = StringMid($MN, 1,$result-1 )
$TitreFiche = $var
GUICtrlSetData(25, $var) ; on attribue à $prenomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le prénom du client
$mn = StringStripWS($mn, 1)
$mn = StringTrimLeft($mn, 1) ; on retire de la chaine complête le "^"
global $annee = StringMid($MN, 1,2 )
global $mois = StringMid($MN, 3,2 )
$DateCB = $mois & "/" & $annee
GUICtrlSetData(29, $DateCB)
GUICtrlSetData(24, "")
Case $TitreFiche
Case $NomFiche
Case $PrenomFiche
Case $NumCBs
..............................
Case $DateCB
Case $Tab
Case $ENTREE
EndSwitch
WEnd
MERCI
Re: [..] Input et lecteur carte bancaire
Posté : jeu. 21 janv. 2010 01:15
par ayuckers
Bonsoir,
Je reste perplexe sur le finalite de la chose :
certe les numero sont faut mais.... quand meme
4975686129957042
4 =
VISA
4975 =
La BRED
je trouve tout de meme étrange de ce faire une base de donner de la sorte
avec des information non securisé !
Surtout que si tu manipule les carte toi meme tu peut recuperer le crypt derriere !
désolé, sequence nostalgie de ma periode hacker Ado... c'etais il y a bien longtemps

voila une idée un Génerateur de numero de carte en Autoit

Re: [..] Input et lecteur carte bancaire
Posté : jeu. 21 janv. 2010 07:45
par yop73
Bonjour,
Je suis loueur de ski et le fait d'avoir le n° de cb du client est une caution en face de la valeur du matériel.
Le n° est ensuite détruit automatiquement lorsque le client rend son matériel.
Pour rassurer tout le monde une routine cryptera les n° du client dans la base.
Mais je pense que je ne suis pas dans un forum éthique n'est ce pas ?
Pour info absolument tous les soft de loc s'y prennent de cette façon.
Juste un problème de validation automatique pour les cb qui se répétera lorsque je vais attaquer la partie douchette des codes barres collés sur les ski, les surfs, les chaussures.....
Comme les info des cartes bancaires, les codes barres sur le matériel peuvent être de longueur différentes.
Quelqu'un peut-il m'aiguiller ?
Merci d'avance.
Re: [..] Input et lecteur carte bancaire
Posté : jeu. 21 janv. 2010 18:17
par australopitheque
pourquoi tu met pas ton code $cb dans la partie case $bouton1?
ou alors fait toi une fonction pour ton $cb et appel le dans ton case $bouton1.
avec un test si valide ??
► Afficher le texte
Code : Tout sélectionner
Case $Button1
global $MN = GUICtrlRead($CB)
Global $var = StringMid($MN, 3, 16) ; on extrait le num cb
$NumCBs = $var
GUICtrlSetData(28, $var) ; on attribue à $NumCBs la valeur de $var
$mn = StringTrimLeft($mn, 19) ; on retire de la chaine complête le num de cb
global $result = StringInStr($mn, "/") ; on recherche la première occurence de "/" dans la chaine
global $len = StringLen($mn)
$var = StringMid($MN, 1,$result-1)
$nomfiche = $var
GUICtrlSetData(26, $var) ; on attribue à $NomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le nom du client
$result = StringInStr($mn, ".") ; on recherche la première occurence de "." dans la chaine
$len = StringLen($mn)
$var = StringMid($MN, 1,$result-1 )
$PrenomFiche = $var
GUICtrlSetData(27, $var) ; on attribue à $prenomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le nom du client
$result = StringInStr($mn, " ") ; on recherche la première occurence de " " dans la chaine
$len = StringLen($mn)
$var = StringMid($MN, 1,$result-1 )
$TitreFiche = $var
GUICtrlSetData(25, $var) ; on attribue à $prenomFiche la valeur de $var
$mn = StringTrimLeft($mn, $result) ; on retire de la chaine complête le prénom du client
$mn = StringStripWS($mn, 1)
$mn = StringTrimLeft($mn, 1) ; on retire de la chaine complête le "^"
global $annee = StringMid($MN, 1,2 )
global $mois = StringMid($MN, 3,2 )
$DateCB = $mois & "/" & $annee
GUICtrlSetData(29, $DateCB)
GUICtrlSetData(24, "")
if $NumCBs <> "" then
$NomClient = $NomFiche
GUICtrlSetData(44, $Nomclient) ;on attribue à $NomClient la valeur de $NomFiche de la page creation de fiche
$PrenomClient = $prenomFiche
GUICtrlSetData(45, $PrenomClient) ;on attribue à $prenomClient la valeur de $prenomFiche de la page creation de fiche
_GUICtrlTab_ClickTab($Tab, 1, "left", False, 1)
endif
;~ MsgBox(0,"titre", $NomClient)
Re: [..] Input et lecteur carte bancaire
Posté : jeu. 21 janv. 2010 22:07
par Tlem
@yop73
Merci de mettre le code de votre message précédent dans les balises prévues à cet effet.
Nota : Quand à ce forum, il essaie de respecter au mieux une
éthique générale.
Re: [..] Input et lecteur carte bancaire
Posté : jeu. 21 janv. 2010 22:10
par timmalos
Sans compter qu'un logiciel adapté sera beaucoup mieux dans un cas de vente. (Certes payant, mais au moins il est Sur, vous savez tres bien qu'autoit est decompilable et quelqu'un de mal intentionné fera ce qu'il veut de vos N° de cartes.
Re: [..] Input et lecteur carte bancaire
Posté : ven. 22 janv. 2010 22:47
par yop73
Merci de votre intérêt pour mon cas.
désolé pour les balises, c'est un peu abscon pour moi.
Ce soft est destiné à un usage pro uniquement pour ma petite boite.
pourquoi ne pas acheter un soft entre 3K€ et 15k€ ?
C'est vrai je ne m'étais pas posé la question, merci.
Trêve de fadaise...
les n° de cb seront codés et conservés pendant la durée de la location de (1 à 5 jours dans la majorité des cas)
l'ordi ne sert qu'à ça et n'a pas le net.
J'imagine que j'ai passé maintenant le mur éthique qui me séparait des info qui m'amènent à vous.
Pour répondre à Australopithèque, je ne dois appuyer sur aucun bouton pour que la caution soit effectuée. j'ai un clavier-lecteur cb et la carte est passée dans le lecteur, les info cb s'affichent instantanément sur l'écran, puis on passe à la phase de création de la fiche de location (Button1) avec la création du client, puis de la liste des produits qu'il loue entrés par une douchette code barre.
j'aurais le même soucis avec ces codes barres qu'avec ma lecture cb car la douchette valide les produits à la volée. on ne valide pas chaque produit par un 'return'.
Une interception d'évènement doit permettre de reconnaitre qu'une entrée se produit et doit être gérée comme si un 'return' était tapé.
Ai je été clair ?
La question est : "comment automatiser le traitement d'une entrée ?"
Merci à tous
Re: [..] Input et lecteur carte bancaire
Posté : sam. 23 janv. 2010 00:50
par Tlem
yop73 a écrit :désolé pour les balises, c'est un peu abscon pour moi.
http://www.autoitscript.fr/forum/viewto ... 896#p24896
Merci de ré-éditer votre message.