(26-06-19, 02:15 AM)سعود كتب : السلام عليكم ورحمة الله وبركاته
كيف لتحميل بيانات من ملف نصي الى قائمة نصية(او مصفوفة) او اداة list.
بارك الله فيكم جميعا
[مشروع] مثال تحويل الرقم الى سورة والعكس
اقصد او هل يمكن لاحد يجهز مشروع مثل الفكرة؟
اكيد يكون هو الجواب الاسرع للسؤال.
(لست مبرمج Delphi)
تحويل مع بعض التصرف في كود (مثال تحويل الرقم الى سورة والعكس)
بعد إضافة TEdit وTButton و إثنان TLabel
تم إدراج أسماء سور القرآن الكريم في مصفوفة نصية داخل الكود
وهذا كود حدث Click الخاص بـ Button1
كود :
var // قسم التعريفات
sour: array of string; // مصفوفة نصية
s: string; // متغير نصي
v: integer; // متغير رقمي للقيمة
code: integer; // متغير لكود الخطأ
s_int: integer; // رقم السورة
s_name: string; // إسم السورة
begin // قسم كود الحدث
// تعبئة المصفوفة النصية بالبيانات
sour := ['الفاتحة', 'البقرة', 'آل عمران', 'النساء', 'المائدة', 'الأنعام',
'الأعراف', 'الأنفال', 'التوبة', 'يونس', 'هود', 'يوسف', 'الرعد',
'إِبراهيم', 'الحجر', 'النحل', 'الإِسراء', 'الكهف', 'مريم', 'طه',
'الأنبياء', 'الحج', 'المؤمنون', 'النور', 'الفرقان', 'الشعراء', 'النمل',
'القصص', 'العنكبوت', 'الروم', 'لقمان', 'السجدة', 'الأحزاب', 'سبأ', 'فاطر',
'يس', 'الصافات', 'ص', 'الزمر', 'غافر', 'فصلت', 'الشورى', 'الزخرف',
'الدخان', 'الجاثية', 'الأحقاف', 'محمد', 'الفتح', 'الحجرات', 'ق',
'الذاريات', 'الطور', 'النجم', 'القمر', 'الرحمن', 'الواقعة', 'الحديد',
'المجادلة', 'الحشر', 'الممتحنة', 'الصف', 'الجمعة', 'المنافقون', 'التغابن',
'الطلاق', 'التحريم', 'الملك', 'القلم', 'الحاقة', 'المعارج', 'نوح', 'الجن',
'المزمل', 'المدثر', 'القيامة', 'الإِنسان', 'المرسلات', 'النبأ',
'النازعات', 'عبس', 'التكوير', 'الانفطار', 'المطففين', 'الانشقاق',
'البروج', 'الطارق', 'الأعلى', 'الغاشية', 'الفجر', 'البلد', 'الشمس',
'الليل', 'الضحى', 'الشرح', 'التين', 'العلق', 'القدر', 'البينة', 'الزلزلة',
'العاديات', 'القارعة', 'التكاثر', 'العصر', 'الهمزة', 'الفيل', 'قريش',
'الماعون', 'الكوثر', 'الكافرون', 'النصر', 'المسد', 'الإِخلاص',
'الفلق', 'الناس'];
s := Trim(Edit1.Text); // Edit1 قراءة مربع النص
// التأكد من وجود مدخلات
If s.IsEmpty Then ShowMessage('أكتب نصا او رقما لتحويله');
Val(s, v, code); // code تحويل النص المدخل إلى رقم ووضع كود الخطأ في
If code = 0 Then begin // إن نجح تحويل النص إلى رقم
if (v >= 1) and (v <= 114) then
begin
s_int := v; // رقم السورة
s_name := sour[v - 1]; // إسم السورة
end; // end if
end
else
begin // وإلا كان المدخل نصا
// المرور على المصفوفة لمطابقة المدخلات مع العناصر
for v := 1 to 114 do
begin
// إذا تطابق العنصر مع المدخل
if sour[v - 1].Equals(s) then
begin
s_name := sour[v - 1]; // إسم السورة
s_int := v; // رقم السورة
end; // end if
end; // end for
end; // end else
// Label1 عرض إسم السورة في
Label1.Caption := 'إسم السورة: ' + s_name;
// Label2 عرض رقم السورة في
Label2.Caption := 'رقـم السورة: ' + s_int.ToString;
end;قراءة ملف نصي كاملا وإظهاره في أي من الأدوات TLabel أوTEdit وTMemo
كود :
uses // متطلبات
IOUtils;
var // تعريفات
s: string; // تعريف متغير نصي
begin // كود
// قراءة جميع النص من ملف نصي
s := TFile.ReadAllText('D:\test.txt');
Label1.Caption := s; // Label عنوان
Edit1.text := s; // Edit مربع نص لسطر واحد
Memo1.text := s; // TMemo مربع نص متعدد الأسطر
end;قراءة جميع أسطر ملف نصي وإضافتها في أداة TListBox
كود :
uses // متطلبات
Types;
var // تعريفات
strLines: TStringDynArray; // تعريف مصفوفة نصية
s: string; // تعريف متغير نصي
begin // كود
// قراءة جميع الأسطر من ملف نصي ووضعها في مصفوفة نصية
strLines := TFile.ReadAllLines('D:\test.txt');
// إفراغ أداة الليست بوكس
ListBox1.Clear;
// حلقة المرور على جميع عناصر المصفوفة
for s in strLines do
begin
ListBox1.Items.Add(Trim(s)); // ListBox إضافة العنصر في أداة
end;
end;قراءة نص من الأداة TMemo وكتابته في ملف نصي
كود :
var // تعريفات
s: string;
begin // كود
s := Memo1.text; // Memo1 قراءة النص من الأداة
// الكتابة في ملف نصي مع تحديد نوع الترميز
TFile.WriteAllText('D:\test.txt', s, TEncoding.UTF8);
end;تم اعتماد أسلوب أحد المبرمجين القدامى في الشرح والترتيب
