الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة الدلفى والكتابه الى الملفات النصية

مغلق
بدأه هانى ابو مهند في 20 مايو 2003 · 5 رد · 869 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخوانى الاحباب

العبد لله عنده مشكله ما هى؟

عندما اقوم بتحويل قواعدالبيانات الى ملفات نصيه تحدث شئ غريب

اعندم اكتب اى جمل ثابته يظهر فى الملف بصوره صحصيه

ولكن عندما اخذ القيم من قاعدة البيانات تظهر اشكال غريبه فى الملف وهذا هو الكود

FileHandle := FileCreate('allbanks.txt');

FileWrite(FileHandle,'HDR ',4);

adodataset1.Open;

adodataset1.First;

for i:=1 to adodataset1.RecordCount do

begin

temp:= inttostr(ADODataSet1.FieldByName('codenumber').Value) ;

FileWrite(FileHandle,temp ,4);

adodataset1.Next;

end;

معذرة ان كان هذا الموضوع عرض من قبل ولكن خاصية البحث معطله والله اعلم متى تعاد ثانية؟؟

#2

بسم الله الرحمن الرحيم

أخي هانى ابو مهند

حاول أن تغير إمتداد الملف النصي إلى

rtf

وأخبرني

عبد الوهاب

#3

اخى عبد الوهاب

جزاكم الله خيرا

فعلا كما قلت وغير الامتداد ولم يحدث تغير

ان كان فى طريقه اخرى غير هذه ياريت حد يفيدنا بها وجزاه الله خيرا

#4

والحل موجود معى ومن يريده يطلبه واكتبه هنا ان كان مفيد لاحد:)

#5

السلام عليكم

أخي هاني مبروك لانك وجدت الحل ....بس :o

ممكن تعطينا مثال عن المشكلة ...وكيف تم تجاوزها ......

أخوكم:cool:

#6

السلام عليكم ورحمة الله وبركاته

يا اخى فوكس انا لا افهمك من ناحية مثال على المشكله فان فى اول الموضوع

اظن انى وضحت المشكله وكتبت الكود فيها:D

وان كان غير ذلك فارجو ان توضح:cool:

المهم ان الكود الصحيح بالنسبه لوجهة نظر العبد لله هو

procedure TForm1.Button1Click(Sender: TObject);

var

diff,FileHandle,i,ii : integer;

fs: textfile;

short ,NetSalary ,TotalNetSalary : Currency;

begin

AssignFile(fs, test.txt');

ReWrite(fs);

Write(fs,'aot co. ');

write(fs,' ');

writeln(fs,FormatDateTime('yyyymmdd', now));

adodataset2.Open;

adodataset2.Sort:='codenumber ASC';

adodataset2.First;

TotalNetSalary:=0;

hash:=0;

for i:=1 to adodataset2.RecordCount do

begin

NetSalary:=0;

temp:= (ADODataSet2.FieldByName('IDNumber').text);

diff:= 8 - length(temp);

for ii:= 1 to diff do

temp := temp + ' ';

tempname:= ADODataSet2.FieldByName('FullNameEnglish').text;

diff:= 50 - length(tempname);

for ii:= 1 to diff do

tempname := tempname + ' ';

tempacount:= ADODataSet2.FieldByName('AcounNumber').text;

diff:= 15 - length(tempacount);

for ii:= 1 to diff do

tempacount := tempacount + ' ';

tempsalary:= ADODataSet1.FieldByName('BasicSalary').text;

Write(fs,tempacount);

Write(fs,tempsalary);

Write(fs,temp); // this is the correct way

Writeln(fs,tempname);

adodataset2.Next;

end;

Write(fs,'000'+INTTOSTR(adodataset2.RecordCount));

temp:=FormatCurr('00000000000.000',TotalNetSalary);

Write(fs,temp);

closefile(fs);

adodataset2.Close ;

end;

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…