كيف يمكن القرائة من ملف نصي بحيث يتم تخزين القيم داخل هذا الملف ومن ثم قرائة جملة معينة من هذا الملف وليس الملف بالكامل
يعني أستغل الملف النصي كملف قاعدة بيانات
10-02-2011, 05:46 PM (آخر تعديل لهذه المشاركة: 10-03-2011, 05:01 PM بواسطة kachwahed.)
مشكور أخي علي الرد
ليس ذلك أنما لدي مستند نصي يحتوي علي بينات وعن طريف هذة البيانا أجري عمليات حسابية فكيف يمكن أجرا العمليات الحسابية عيها، مثال علي المستند النصي
كود :
http://www13.0zz0.com/2011/02/10/16/667184269.jpg
كيف أرسال التاريخ ألي edit1.text و الوقت ألي edit2.text وكل مهما كان ويلا ألي edit
وعندما أظيف سطر جديد يترك السطر القديم ويقراء الجديد
اتمنا أن تكون الفكرة قد توضحت ومشكور علي الرد
الامر بسيط جدا ولايحتاج قاعدة بيانات
قم بالقرائة من الملف سطرا سطرا حتى النهاية
قسم محتوى كل سطر حسب ما يحتويه
ان اردت مثال ارفق ملف نصي به ما بالصورة السابقة لاعد لك مثال عليه
2 هذا النص شبية بقاعدة البيانات كيف يمكنني الوصول ألي أخر سطر وقراءة البيانات
كل عمود منفصل عن الأخر بحيت كل الوقت في edit التاريخ في edit وأرقام كل منها منفصل عن الأخر في edit لوحدة
والملف مرفق
ساستخدم الطريقة القديمة للتعامل مع الملف النصي
اولا نعرف متغير T من نوع ملف نصي TextFile وما نحتاجه من متغيرات
L تحتوى سطر واحد Row من الملف
S متغير StringList لتقسيم السطر الى متغيرات باستخدام CommaText
كود :
Var
T: TextFile;
L: String;
S: TStringList;
نفتح الملف للقراءة وننشئ الStringList
كود :
begin
AssignFile(T,'PBX.TXT');
Reset(T);
S := TStringList.Create;
نقراء سطرين من الملف دون وضعها بمتغير (اول سطرين بالملف مهملة)
نقراء السطر التالي من الملف ونضعه بالمتغير L
تلاحظ استخدمنا 6 مكونات Edit لعرض سطر واحد
لعرض اكثر من سطر نستخدم مكون StringGrid
بعض التعديلات ليصبح
كود :
Var
T: TextFile;
L: String;
S: TStringList;
i,j : Integer;
begin
AssignFile(T,'PBX.TXT');
Reset(T); j:=1;
S := TStringList.Create;
Readln(T);Readln(T);
Repeat
Readln(T,L);
S.CommaText := L;
if S.Count>StringGrid1.ColCount then StringGrid1.ColCount:=S.Count;
for i:=0 to S.Count-1 do
StringGrid1.Cells[i,j]:=S[i];
inc(j);
StringGrid1.RowCount:=j;
Until eof(T);
CloseFile(T);
S.Free;
end;