المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: في التعامل مع الملفات
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات البرمجة على Microsoft .NET Platform > منتدى مبرمجي Microsoft Visual C#.NET
روح الأمل


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

أنا حابه اسأل عن قراءة الملفات والكتابة فيها ,

الآن أنا أقرأ من ملف ولنفرض اسمه (1.TXT)

ملف (1.TXT) => يحتوي على عبارات كل واحدهـ بسطر جديد ,
أريد ترقيم هذه العبارات , وكتابة الترقيم في ملف آخر (2.txt) ثم اقوم بحساب عدد حرف (n) في العبارات ووضعها امامه في الملف .

مثلا عندما أقرا هذا الملف عن طريق هذا الكود :



كود


while (( = r1.ReadLine()) != null)
{

counter1++;
    w1.WriteLine(counter1,"-");

while (r1.Peek() >= 0)
                {

                    c1 = new char[1];
          
                    r1.Read(c1, 0, c1.Length);

if(c1[0].Equals('n'))
{
counter2++;
}
}
w1.Write(counter2);

}





المشكلة :

اني أريد أن أقرا من نفس الملف رقم 1 - واقوم بحساب عدد حرف (n) في العبارة ووكتابته امام الترقيم في الملف الآخر .
ليظهر الناتج في ملف الكتابة كالتالي

1-2
2-3

الآن كم اعرف من اوبجكت لقراءة الملف
والكتابة


لماذا الكود السابق بعد التنفيذ فقط يقوم بكتابة الترقيم
؟؟؟؟؟؟



*مبتدئة بالسي شارب*


H power
السلام عليكم ...

أنا كمان مبتدئة في الC# و في المنتدى كمان ..
إن شاء الله مبتدئات نساعد بعضنا ..

ايه استخدمت للقراءة ؟
لأني استخدمت الfileStream و ما فيه دالة peek ؟

روح الأمل
كود
StreamReader r1 = new StreamReader("c:\\1.txt");


أنا استخدمت هذا الكود,,


H power


جربي هذا الكود


كود
[/b][size="2"][color="#0000ff"]int[/color][/size][size="2"] counter1 = 0;

[/size][size="2"][color="#0000ff"]int[/color][/size][size="2"] counter2 = 0;

[/size][size="2"][color="#0000ff"]char[/color][/size][size="2"][] c1;

[/size][size="2"][color="#008080"]StreamReader[/color][/size][size="2"] r1 = [/size][size="2"][color="#0000ff"]new[/color][/size][size="2"] [/size][size="2"][color="#008080"]StreamReader[/color][/size][size="2"]([/size][size="2"][color="#800000"]"c:\\1.txt"[/color][/size][size="2"]);



[/size][size="2"][color="#0000ff"]while[/color][/size][size="2"] (r1.Peek() >= 0)

{

c1 = [/size][size="2"][color="#0000ff"]new[/color][/size][size="2"] [/size][size="2"][color="#0000ff"]char[/color][/size][size="2"][1];



r1.Read(c1, 0, c1.Length);

[/size][size="2"][color="#0000ff"]if[/color][/size][size="2"](c1[0].Equals([/size][size="2"][color="#800000"]'n'[/color][/size][size="2"]))

{

counter2++;

}

[/size][size="2"][color="#0000ff"]if[/color][/size][size="2"] (c1[0] == [/size][size="2"][color="#800000"]'\n'[/color][/size][size="2"])

{

w1.Text += counter1.ToString() + [/size][size="2"][color="#800000"]"-"[/color][/size][size="2"];

w1.Text += counter2.ToString() + [/size][size="2"][color="#800000"]" * "[/color][/size][size="2"];

[/size][size="2"][color="#008000"]//استخدمي الملف بدل الtext box [/color][/size][size="2"]
[size="2"][/size]
counter1++;

counter2 = 0;

}

}

[/size][b]
مشكلته يتجاهل السطر الأخير
أتمنى يفيدك ا


H power
آسفة ... إن شاء الله كذا أضبط
كود
int counter1 = 0;          
int counter2 = 0;            
char[] c1;            
StreamReader r1 = new StreamReader("c:\\1.txt");                                      
while (r1.Peek() >= 0)            
   {                
  c1 = new char[1];                
r1.Read(c1, 0, c1.Length);                  
if(c1[0].Equals('n'))                    
{counter2++;}                
if (c1[0] == '\n')
{                      
w1.Text += counter1.ToString() + "-";                      
w1.Text += counter2.ToString() + "   *    ";                        
counter1++;                      
counter2 = 0;                  
}
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2009 Invision Power Services, Inc.