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

مشكلة أرجو الحل (قراءة محتوى ملف إلى خانة نص)

بدأه A3-3aTa في 16 نوفمبر 2013 · 11 رد · 682 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا صممت برنامج بلغة ال c#

 

لكن واجهتني مشكلة

            string i;
StreamReader I = new StreamReader("i.txt");
while ((i = I.ReadLine()) != null)

هنا انا عملت قرائة لملف اسمه i.txt

 

textbox.text =i;

 

يعني ياخد الموجود داخل التكست ويحطه في textbox

ولما يبدا البرنامج في العمه بيسير مشكلة 

انو البرنامج بيعلق لانو ملف التكست الي اسمه

i.txt

موجود فيه 20 سطر

 

وخفيف ولكن لما تبدا حلقة التكرار while

 

بتاخد كل سطر من الملف وبتبدا تعمل عليه وما بيبين في التكست بوكس اي حاجة غير اخر سطر اخدته

 

انا عايز لما تبدا الحلقة بالتكرار يفصل بين كل سطر وسطر ويبين السطر الي في الملف على ال txtbox

يعني كل ما يخلص سطر ينتقل ع السطر الي بعده

أرجو منكم الحل .....

#2

جرب

i+=I.readLine()

||***************************************************||


 ||بسم الله الذي لا يعلو على اسمه شيء في الارض ولا في السماء وهو العلي العظيم ||


||***************************************************||


 ||                             اللهم إن لم يكن بك غضب علي فلا ابالي                       ||


||***************************************************||


في المنتديات العلمية استخدام التقييم rep_up.png  rep_down.png  يرفع من قيمة الموضوع واهمية الرد

#3

أخي الكريم:

أولا تأكد من وضع خاصية Multiline ضمن الـ TextBox إلى True. لكي تمكنك من عرض أكثر من سطر.

 

  • إليك طريقة أفضل لقراءة الملف وكتابته على TextBox حيث يمكنك الإستفادة من الخاصية Lines ضمن الـ TextBox.
textBox1.Lines = File.ReadAllLines(@"i.txt");
  • ويمكنك أيضاً قراءة الأسطر من TextBox وكتابتها على ملف أخر بنفس الطريقة:
File.WriteAllLines(@"i1.txt", textBox1.Lines);

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#4

اخي مشكور على ردك 

 

انا حاطط خاصية المالتي لاين

لكن ليست هاذه المشكلة التي تواجهني

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

 

844928040.png

 

 

هذا هوا البرنامج هوا عبارة عن برنامج متل ما انتو شايفين

 

 

طبعاً يوجد ملف أسمه

 

Target.txt

 

موجود بداخله

 

wwww.host.com

www.sait.com

localhost

 

وملف اخر أسمه

 

user.txt

 

موجود بداخله

admin1

admin2

admin3

admin

 

وملف اسمه

pass.txt

موجود بداخله

 

123456

1234567

12345678

123456789

2804804

 

 

المشكلة هنا شاهد الصورة التالية

 

 

310130074.png

 

 

لاحظ ان اخر كلمة من كل مستند نص تظهر فقط على ال txtbox

التي تراها امامك

ولكن البرنامج يعمل بشل صحيح ويأخد كل سطر من المستند ولكن .. كل ما أريده ان يأخد اول سطر من كل مستند وينفذ عليه الكود الخاص بالبرنامج ويظهر السطر الذي ينفذ عليه الكود على ال txtbox

أكيد فهمت انا شو بقصد ....

#5

أرجوو الحل منكم  ضروووري بعد أزنكم

تم تعديل هذه المشاركة بواسطة A3-3aTa في 18 نوفمبر 2013 في 00:42

#6

أخي الكريم.

أنت تقصد، أن البرنامج يعمل بشكل صحيح، ولكنك تريد رؤية خطوات العمل [معالجة كل سطر]، بحيث يظهر سطر، تتم معالجته، ثم يظهر السطر الذي بعده.

 

إذا كان هذا ما تقصد؛ فأنت بحاجة لعمل [إيقاف مؤقت] بين كل عملية معالجة سطر [لأن المعالج يعالج الأسطر بسرعة] لا نستطيع ملاحظتها، لذلك يجب علينا تأخيره بالعمل حتى نستطيع رؤية ما يحصل:

1.  يمكنك عمل [Timer] له مدة محددة، بعد كل مدة معينة يقوم بقراءة سطر ومعالجته، لو وضعنا مدته إلى 1 ثانية. وكان المف 5 أسطر فنحن بحاجة ل 5 ثوان حتى يتم معالجة الملف، وكل ثانية يعرض سطر على الـ TextBox.

2.  يمكنك استخدام [Threads]، ضمن حلقة الـ [while] حيث تقوم بعمل [thread.sleep] لمد معينة، ثانية مثلاً. لكن هذه الطريقة ربما لا تعطيك الفائدة المرجوة، لأن [thread] المنشأة ستكون على مستوى النافذة. لذلك سيتم ايقاف البرنامج ككل لمدة ثم عرض اخر سطر. لذلك نحتاج لعمل [background worker]. لكن انصحك بالطريقة الأولى فهي أفضل

 

بالتوفيق.

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#7

أخي الكريم، إليك هذا المثال البسيط، الذي يفتح الملفات الثلاثة المذكورة

ثم يقرا سطر من كل ملف ويضعه ضمن TextBox معين. وبعد 1.5 ثانية ينتقل لقراءة سطر أخر.

يمكنك التحكم بالمدة طبعاً من خصائص الـ Timer

 

أسأل الله أن ينفعك هذا.

ReadsFiles.rar

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#8

مشكورين والله ما قصرتو خليني اجرب وان شاء الله يزبط

#9

اخي

Eng.Tareq Jehad

أين يمكن ان أضع الكود الخاص فالبرنامج في المشروع الي قمت بعمله انتا .....

#10

 أخي الكريم: المعالجة تتم عند قراءة السطر، فنحن نقرء السطر ضمن Timer ونعرضه على  TextBox. في مكان [Data Processing]، أما إذا كنت ترغب بمعالجة الأسطر الثلاثة سوياً، فهناك عدة أمور يجب أخذها بالحسبان، ان حجم الملفات متفاوت من حيث الأسطر. لذلك عليك تحديد عملية المعالجة بالضبط.

على كل كما أخبرتك مكان المعالجة موضح بالكود التالي. 

if (targetIndex < targetLines.Length)
            {
                txtTarget.Text = targetLines[targetIndex];
                // Data Processing
                targetIndex++;
            }

بالتوفيق.

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#11

اخي ممكن سكاي بي أو ايميل او فيس بوك لاني بكل سراحة حبيت الفريق

#12

انا قمت بنقل ما كتبته انتا في مشروووعك على مشروووعي لكن يوجد مشكلة

انا قمت بعمل الملفات جميع الاسطر ليست متفاوتة

تم تعديل هذه المشاركة بواسطة A3-3aTa في 18 نوفمبر 2013 في 02:25

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

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

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

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

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