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
| procedure TFPrincipal.Traitement(const ligne :String);
Var
ReplaceLigne, Debit, Credit : String;
Fichier: TextFile;
CheminEtFichierDestination: String;
ChaineRoot, ChaineFin: String;
s2 :string;
Begin
CheminEtFichierDestination := CheminFichierDat + FichierDestination;
// On remplace le premier 411 trouvé par LabCompteFrs
if AnsiMidStr(Ligne,9,3) = '411' then
ReplaceLigne := StringReplace(Ligne,AnsiMidStr(Ligne,9,3),LabCompteFrs.Text,[])
else
// On remplace le premier 707 trouvé par LabCompteAchat
if AnsiMidStr(Ligne,9,3) = '707' then
ReplaceLigne := StringReplace(Ligne,AnsiMidStr(Ligne,9,3),LabCompteAchat.Text,[])
else
// On remplace le premier 4457 trouver par LabCompteTVA
if AnsiMidStr(Ligne,9,4) = '4457' then
ReplaceLigne := StringReplace(Ligne,AnsiMidStr(Ligne,9,4),LabCompteTVA.Text,[]);
// Ma fonction // Pour Mémoire
// Le debit devient credit et vice et versa...
// Debit := AnsiMidStr(ReplaceLigne,84,20);
// Credit := AnsiMidStr(ReplaceLigne,104,20);
// ReplaceLigne := AnsiMidStr(ReplaceLigne,0,83)+Credit+Debit+AnsiMidStr(ReplaceLigne,124,length(Ligne));//1254);
// Andnotor
// 1) ReplaceLigne := Permute(ReplaceLigne); // Pour Mémoire
// 2)
SetLength(s2, 20);
Move(ReplaceLigne[84], s2[1], 20);
Move(ReplaceLigne[104], ReplaceLigne[84], 20);
Move(s2[1], ReplaceLigne[104], 20);
// Anapurna // Pour mémoire
// ChaineRoot := Copy(Ligne,1,84);
// Debit := Copy(Ligne,84,20);
// Credit := Copy(Ligne,104,20);
// ChaineFin := Copy(Ligne,124,length(Ligne)-124);
// ReplaceLigne := ChaineRoot+Credit+Debit+ChaineFin;
// Affectation de la variable Fichier vers le fichier
AssignFile(Fichier, FichierDestination);
// Ouverture du fichier
if not FileExists(FichierDestination) then
Rewrite(Fichier)
else
Begin
Reset(Fichier);
Append(Fichier);
end;
// Ecriture dans le fichier
Writeln(Fichier, ReplaceLigne); // On écris le resultat ligne à ligne
// Fermeture du fichier
CloseFile(Fichier);
end; |