المشاركات : 7,391
المواضيع 803
الإنتساب : Sep 2013
السمعة :
846
الشكر: 13249
تم شكره 18795 مرات في 4414 مشاركات
26-06-19, 02:15 AM
(آخر تعديل لهذه المشاركة : 26-06-19, 02:28 AM {2} بواسطة سعود.)
السلام عليكم ورحمة الله وبركاته
كيف لتحميل بيانات من ملف نصي الى قائمة نصية(او مصفوفة) او اداة list.
بارك الله فيكم جميعا
[مشروع] مثال تحويل الرقم الى سورة والعكس
اقصد او هل يمكن لاحد يجهز مشروع مثل الفكرة؟
اكيد يكون هو الجواب الاسرع للسؤال.
المشاركات : 52
المواضيع 0
الإنتساب : Jun 2019
السمعة :
21
الشكر: 382
تم شكره 121 مرات في 50 مشاركات
26-06-19, 10:47 AM
(آخر تعديل لهذه المشاركة : 26-06-19, 11:17 AM {2} بواسطة wared.)
(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;
تم اعتماد أسلوب أحد المبرمجين القدامى في الشرح والترتيب
المشاركات : 752
المواضيع 239
الإنتساب : May 2018
السمعة :
209
الشكر: 765
تم شكره 2214 مرات في 752 مشاركات
26-06-19, 01:48 PM
(آخر تعديل لهذه المشاركة : 26-06-19, 07:07 PM {2} بواسطة viv.)
اضافة بسيطة اخ سعود ستفيدك على كل ماسبق لتحري السهولة فقط ولفتح المخيلة على امور وطرق اخرى
حيث قمنا باظهار اسم السورة من رقمها وحفظنا اسماء السور في اداة بدل من مصفوفة وكل هذا بسطر برمجي واحد
كود :
edit2.Text := ListBox1.Items[UpDown1.Position-1]
تعلم البرمجة السابقة المطروحة مطلوب ولكن معرفتك باسلوب ابسط ايضا مطلوب
هذا اسلوبي انا في البرمجة ، ابحث دائما عن السهولة وعن الراحة ، عندما تقود مرسيدس يفضل عدم معاملتها كلاندروفر
قلت خليني احلبها
ايضا قراءة ملف نصي ووضعه في اداة List بسطرين برمجيين فقط
كود :
Memo1.Lines.LoadFromFile(ExtractFileDir(Application.ExeName)+ '/str.txt');
ListBox2.Items:=Memo1.Lines
ReadString.rar (الحجم : 59.31 ك ب / التحميلات : 8)
هناك حسب رايي طريقين للبرمجة
الطريق الطويل والطريق السهل والبسيط
والطرق البسيطة والسهلة بالصحراء تحتاج الى اشخاص جربوا سلك مسالك ودروب مختصرة
هناك من يسلك الطريق الطويل في اخفاء واظهار شئ ووضعه في مؤقت Timer مثال
كود :
Var int:Integer
begin
if int =1 then
begin
self.visbale := true;
int : =0;
end
else
begin
self.visbale := False;
int : =1;
end;
وهناك من يسلك الطريق والمدروب المختصرة بالصحراء
كود :
self.visbale :=not self.visable
العلم والالمام مهم (وقال الذي اوتي علم من الكتاب انا اتيك به قبل ان يرتد اليك طرفك)
المشاركات : 44
المواضيع 12
الإنتساب : Jul 2018
السمعة :
5
الشكر: 32
تم شكره 74 مرات في 31 مشاركات
ببساطة استخدم الدالة loadfromfile مثلا لتعبئة ليست بوكس من ملف نصي
في حدث النقر على زر أو حدث انشاء فورم اكتب الكود الأتي :
كود :
procedure TForm1.FormCreate(Sender: TObject);
begin
listbox1.Items.LoadFromFile('اكتب مسار الملف');
end;
|