Exporter table Access vers format de virement CCP
#1
Question 
السلام عليكم
لدي قاعدة بيانات : (ccp, cle , solde, nom)و في ملف النص يصدر على الشكل التالي : (*) ثابت ، (00000000)ثابت، (ccp) متكون 10 ارقام وإن كان أقل من ذلك نكمل بالأصفار أي (0012345678) ، (cle) متكون رقمين على شكل (00) ، (solde) متكون 13 ارقام وإن كان أقل من ذلك نكمل بالأصفار أي (0000000090000) ، (nom) متكون 27 حرف ويوجد فراغ بين الاسم واللقب، والرمز (1) بعد كل اسم... الشرح في الصورة المرفقة
أريد اخراج ملف قاعدة البيانات الى ملف نص.؟؟؟؟
وجدت هذا الحل ولاكن لم اتمكن من برمجته....
كود :
function LigneDeVirement(Nccp : String;Montant: Real;Nom:String) : String; var s,St,sNccp : String;MEntier : integer; begin     s:= FormatFloat('0.00',Montant );;     s := copy(s,pos(DecimalSeparator,s)+1,2);     MEntier := trunc(Montant);     St  := '*00000000' +   Repeatstr('0',12-Length( epurer(Trim(Nccp)))) +  epurer(Trim(Nccp));     St := St + RepeatStr('0',11-length(inttostr(mentier))) + IntToStr(MEntier)+ s;     if Length(Trim(Nom)) >= 27 then St := St + LeftStr(Trim(Nom),27)+'1'     Else St := St + nom + RepeatStr(' ',27-length(trim(nom))) + '1';     Result := st; end; function epurer (CCp : String):string; Var s,s1 : string;  i:integer; Begin      s := '';      for i :=1 to length(ccp) Do      IF (CCp[i]  in ['0'..'9']) Then S := S + CCp[i] ;      epurer := S; end; (**********************************************************************) FUNCTION RepeatStr(ch: char; n:integer): string; var  i : integer ;      s : string; Begin       s := '';       for i := 1 to n do  s := s + ch;       result := s; end;


الملفات المرفقة
.png   calcul.png (الحجم : 79.34 ك ب / التحميلات : 33)
الرد
#2
http://delphi4arab.net/forum/showthread.php?tid=7435
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#3
السلام عليكم
هذا مثال لمساعدتك، ولكن عليك أن تبذل جهدا...
كود :
var list : tstringList; begin list := TstringList.create(nil); table1.first ; While Not table1.eof Do begin list.add(lignedevirement(table1['NCCP'],Table1['Montant'],Table1['Nom'] + ' '+ Table1['prenom']) ); Table1.next; end; list.items.savetofile('c:\virement.txt'); end;
وآمل أن يكون هذا الملف مساعد، لم أختبر تحت دلفي أنا أكتب مباشرة في المنتدى... شكرا
حتى لو فشلت يكفيك شرف المحاولة....
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم