babazou38
Messages postés22Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 1 décembre 2010 1 déc. 2010 à 08:02
Cela m'étonnerait que l'on puisse déclarer un tableau avec une longueur à 0 !
En VFP, les variables et les tableaux ne sont pas typés (enfin, normalement).
On écrirait simplement
DIMENSION vEnrollNumber(1)
Si le tableau est local à une procédure, on peut écrire
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 1 déc. 2010 à 16:25
Chdeb,
Merci de mettre en forme le code avec le bouton approprié!
Déjà, en VFP, on n'a pas de DO UNTIL, on a juste le DO WHILE. Donc il te faut prévoir la clause de sortie de boucle, ou au contraire une initialisation préalable.
Ensuite, il faudrait que tu nous dises ce que sont toutes ces variables, leur type, et ce que ce traitement doit faire.
Je veux bien t'aider, mais pas faire ton boulot
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_chdeb
Messages postés6Date d'inscriptionmercredi 24 mars 2010StatutMembreDernière intervention 2 décembre 2010 1 déc. 2010 à 19:10
je un controle ocx sa methode "GetGeneralLogData" besoin de parametre comme ça
ZKEM1.GetGeneralLogData(1, vTMachineNumber(0), vEnrollNumber(0), _
vEMachineNumber(0), vVerifyMode(0), vInOutMode(0), vYear(0), vMonth(0), _
vDay(0), vHour(0), vMinute(0))
je besoin utiliser ce parametre pour construire use chaine de texte
mais toujours il donne un message type de donnee incompatible
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 1 déc. 2010 à 20:44
Qu'est-ce que c'est que cet OCX?
quels sont les paramètres nécessaires? vTmachineNumber(0) par exemple, c'est quoi? comment tu l'obtiens? dans quel code VB qui précède la ligne que tu nous montres?
cs_chdeb
Messages postés6Date d'inscriptionmercredi 24 mars 2010StatutMembreDernière intervention 2 décembre 2010 1 déc. 2010 à 22:08
je un programme ecrit en vb pour charger des données a partir d'une pointeuse a emprinte
voici tous le code ecrit en vb :
***************************************
code en vb
je besoin de convertir ce code en vfp
***********
Dim Action As Boolean
Private Sub cimport_Click()
Dim pc
Dim mn
Dim br
Dim ip
Dim port
Dim com
'Ouvre le fichier
Open "parametre.txt" For Input As #2
Input #2, pc
Input #2, mn
Input #2, br
Input #2, ip
Input #2, port
Input #2, com
Close #2
If com = "com" Then
If CZKEM1.Connect_Com(pc, mn, br) Then
Text1.Text = "Connected" & Chr(13) & Chr(10)
Else
Text1.Text = "Connect Fail" & Chr(13) & Chr(10)
End If
Else
Dim pc1
Dim mn1
Dim br1
Dim ip1 As String
Dim port1
Dim com1
Open "parametre.txt" For Input As #2
Input #2, pc1
Input #2, mn1
Input #2, br1
Input #2, ip1
Input #2, port1
Input #2, com1
Close #2
y = ip1
If CZKEM1.Connect_Net(y, port1) Then
Text1.Text = y & "Connected " & Chr(13) & Chr(10)
Else
Text1.Text = y & "Connect fail" & Chr(13) & Chr(10)
End If
End If
End Sub
Private Sub cm_usb_Click()
Load USB
USB.Visible = True
End Sub
Private Sub cparam_Click()
Load parametre
parametre.Visible = True
End Sub
Private Sub CZKEM1_OnConnected()
'Text2.Text = Text2.Text & "Connected" & Chr(13) & Chr(10)
Dim vMachineNumber As Long, vTMachineNumber(0) As Long
Dim vEnrollNumber(0) As Long, vEMachineNumber(0) As Long
Dim vVerifyMode(0) As Long
Dim vInOutMode(0) As Long
Dim vYear(0) As Long, vMonth(0) As Long, vDay(0) As Long
Dim vHour(0) As Long, vMinute(0) As Long
Dim bRet As Boolean
vMachineNumber = 1
bRet = CZKEM1.ReadGeneralLogData(1)
If bRet = False Then
f = MsgBox("Pas de données à transferer", vbInformation, "Pointeuse")
cimport.Enabled = True
cfermer.Enabled = True
cparam.Enabled = True
'creduire.Enabled = True
Action = False
Exit Sub
Else
Do Until (CZKEM1.GetGeneralLogData(1, vTMachineNumber(0), vEnrollNumber(0), _
vEMachineNumber(0), vVerifyMode(0), vInOutMode(0), vYear(0), vMonth(0), _
vDay(0), vHour(0), vMinute(0)) = False)
'cimport.Enabled = False
'cfermer.Enabled = False
'cparam = False
Action = True
Text2.Text = Text2.Text & CStr(vYear(0)) & "-" & Format(vMonth(0), "00") & "-" & Format(vDay(0), "00") _
& " " & Format(vHour(0), "00") & ":" & Format(vMinute(0), "00") & ":" & CStr(vTMachineNumber(0)) & ":" & CStr(vEnrollNumber(0)) & ":" & CStr(vEMachineNumber(0)) & ":" & CStr(vVerifyMode(0)) & Chr(13) & Chr(10)
Loop
If (CZKEM1.GetGeneralLogData(1, vTMachineNumber(0), vEnrollNumber(0), _
vEMachineNumber(0), vVerifyMode(0), vInOutMode(0), vYear(0), vMonth(0), _
vDay(0), vHour(0), vMinute(0)) = False) Then
'MsgBox "Importation des pointages réussie vers le fichier pointage.text"
f = MsgBox("Importation des pointages réussie vers le fichier pointage.txt", vbInformation, "Pointeuse")
End If
End If
Action = False
Open "pointage.txt" For Append As #1
Print #1, Text2.Text
'fermeture du fichier
Close #1
Open "sauvgarde\pointage.txt" For Append As #1
Print #1, Text2.Text
Close #1
End Sub
Private Sub cfermer_Click()
Dim vMachineNumber As Long
If (CZKEM1.ClearGLog(1) = True) Then
MsgBox "Echec de suppression !"
Else
CZKEM1.Disconnect
cimport.Enabled = True
cfermer.Enabled = False
End If
End Sub
Private Sub CZKEM1_OnDisConnected()
Text1.Text = Text1.Text & "DisConnected" & Chr(13) & Chr(10)
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Action = True Then
Valretour = MsgBox("Risque de perte de données.", vbOKCancel, "Attention")
If Valretour = 1 Then
Cancel = 0
Dim vMachineNumber As Long
If (CZKEM1.ClearGLog(1) = True) Then
MsgBox "Echec de suppression !"
Else
CZKEM1.Disconnect
cimport.Enabled = True
cfermer.Enabled = False
End If
End
Else
Cancel = 1
End If
Else
Cancel = 0
End
End If
End Sub
**********************************
fin code vb
**************************
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 2 déc. 2010 à 15:29
Chdeb,
faut vraiment te tirer les informations une à une!
Quand je te demandais ce que c'était que cet OCX, et que tu me dis que c'est une pointeuse, tu ne pouvais pas nous donner le site web du fabricant, ou au moins la marque?
Tu n'as aucune documentation sur cet OCX?
à quel endroit as-tu écrit ce code? dans une méthode du form? dans un prg?
que se passe-t-il quand tu lances ce code? tu as une erreur? sur quelle ligne? avec quel message exact?
on va prendre le code VFP que tu as écrit pour traduire le code VB que tu as écrit, par fragments. Tu vas nous expliquer ce que le code VB doit faire, et on te dira comment corriger ton code VFP.
On commence par les déclarations de variables.
dans ce fragment de code:
Dim vMachineNumber As Long, vTMachineNumber(0) As Long
Dim vEnrollNumber(0) As Long, vEMachineNumber(0) As Long
Dim vVerifyMode(0) As Long
Dim vInOutMode(0) As Long
Dim vYear(0) As Long, vMonth(0) As Long, vDay(0) As Long
Dim vHour(0) As Long, vMinute(0) As Long
Dim bRet As Boolean
quelles sont les variables qui sont des tableaux, et celles qui n'en sont pas?