السلام عليكم
لدي قاعدة بيانات : (ccp, cle , solde, nom)و في ملف النص يصدر على الشكل التالي : (*) ثابت ، (00000000)ثابت، (ccp) متكون 10 ارقام وإن كان أقل من ذلك نكمل بالأصفار أي (0012345678) ، (cle) متكون رقمين على شكل (00) ، (solde) متكون 13 ارقام وإن كان أقل من ذلك نكمل بالأصفار أي (0000000090000) ، (nom) متكون 27 حرف ويوجد فراغ بين الاسم واللقب، والرمز (1) بعد كل اسم... الشرح في الصورة المرفقة
أريد اخراج ملف قاعدة البيانات الى ملف نص.؟؟؟؟
وجدت هذا الحل ولاكن لم اتمكن من برمجته....
لدي قاعدة بيانات : (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;
