1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| sLignelue est une chaîne
nIdFichier est un entier
nRib est une entier
sRibInitial est une chaîne
sCodebanque est une chaîne
sCodeguichet est une chaîne
sNumcompte est une chaîne
//sContenu est une chaine
Nbre est une chaîne = sCodeguichet+"43173"+sNumcompte
xDividende est un numérique = 100*Val(Nbre)
sCodeGuichet et sNumcompte viennent d’être initialisé à ''
Nbre vaudra donc vraisemblablement toujours 0, de même que xDividende
sChaineRemplace est une chaîne
resCopie est une chaîne
//Sauvegarde du fichier avant modif
resCopie = fCopieFichier(SC_SelecteurFichier1.SAI_FIC,"C:\Partage\SICA\BKP\")
resCopie a été déclaré comme Chaîne et non comme Booléen, qui est le type du résultat <Vrai / Faux> renvoyé par fcopie Fichier
SI resCopie = Vrai ALORS
nIdFichier = fChargeTexte(SC_SelecteurFichier1.SAI_FIC,foLectureEcriture)
nIdFichier a été déclaré comme Entier et fChargeTexte renvoie une chaîne (vide en cas d’erreur, mais chaîne quand même)
SI nIdFichier<>-1 ALORS
//----->On ne traite pas la première ligne
sLignelue = fLitLigne(nIdFichier)
si je vous a conseillé, avec frenchsting, d'utiliser fChargeTexte, c’est pour éviter fLitLigne
//----->On récupère le contenu de la deuxième ligne
sLignelue = fLitLigne(nIdFichier)
sCodebanque = sLignelue[[119 sur 5]]
//POUR TOUTE CHAINE sLignelue DE sContenu
//FIN
TANTQUE sLignelue <>EOT
SI Contient(sCodebanque,"ML123") ALORS
//Algo Calcul de la nouvelle clé RIB en fonction du nouveau code Banque ML173
sCodeguichet = sLignelue[[124 sur 5]]
sRibInitial = sLignelue[[141 sur 2]]
sRibInitial = Val(sRibInitial)
sNumcompte = sLignelue[[129 sur 12]]
nRib = modulo(xDividende,97)
Comme xDividence vaudra toujours 0 (cft supra), nRib ne va pas beaucoup varier
//On remplace le M123 sur la ligne par ML173, idem pour la clé RIB
sChaineRemplace = Remplace(sLignelue,sCodebanque,"ML173")
sChaineRemplace = Remplace(sLignelue,sRibInitial,nRib)
Comme déjà signalé et également relevé par dsr57, sChaineRemplace contient sLigneLue après ses deux modifications par Remplace(), mais comme sChaineRemplce est ensuite abandonnée sur le champ de bataille sans autre forme de traitement, la modification n’est pas répercutée dans le fichier.
FIN
sLignelue = fLitLigne(SC_SelecteurFichier1.SAI_FIC)
FIN
Info("Corrections opportées avec succès.","L'ancienne clé RIB est :"+sRibInitial+"La nouvelle clé RIB est :"+nRib)
fFerme(SC_SelecteurFichier1.SAI_FIC)
SINON
Erreur(ErreurInfo())
FIN
FIN
RAZ(SC_SelecteurFichier1) |
Partager