delphi4arab منتديات دلفي للعرب

نسخة كاملة : الكتابة في ملف نصيBloc Not دون استخدام memo ؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
قمت بالبحث المتقدم في المنتدى لكن وجدت اغلب الشروحات يستعمل فيها memo لحفظ في ملف نصي
لدي مشروع فيه عدة edittext و زر واحد ،ما هو كود الضغط على الزر يقوم بانشاء ملف نصي اي Bloc not ويقوم بفتحه و بكتابة القيم المدخلة الى edittext في هدا الملف النصي مع بعض الكتابة حسب المثال التالي :

كود :
<newcamd-connector name="CSP5" profile="Edit5" enabled="true" metric="Edit6"> <host>Edit1</host><port>Edit2</port><user>Edit3</user><password>Edit4</password> <asynchronous>true</asynchronous> </newcamd-connector>

فقط تتغير قيم كل editText من خلال البرنامج والبقية جعلها تتولد اتوماتيكيا اي لا تتغير
وهده الصورة للتوصيح اكثر :
كود :
http://www.shy22.com/upfilpng/enf65747.png
سلام عليكم

شاهد المرفق
Mr.DOS كتب :سلام عليكم

شاهد المرفق

وعليكم السلام ورحمة الله وبركاته
جزاك الله خيرا يا اخي لكن ما هي طريقة الحفظ في ملف نصي يعني Bloc not لمشاهدته و للتعديل عليه عند الحاجة
لان طريقة حفظك اظنها في ملفات stream ؟؟
يا اخي انشا متغير من نوع tstringstream و كتب فيه ما تشاء من خزعبلات ^^ برمجياا و حفظه كاي stream
باالنسبة للملفات الكبيرة الحجم لا يمكن رفعها على memo هذا منطقي
والاحسن استعمال stream كما قال الاخوة .
الياس الدويرة كتب :باالنسبة للملفات الكبيرة الحجم لا يمكن رفعها على memo هذا منطقي
والاحسن استعمال stream كما قال الاخوة .

شكرا اخي الياس الدويرة و اخي Houdini لكن ما ****ه هو الحفظ في ملف نصي احتاج فقط حفظ الكود
الموضح في مشاركتي الاولى لا اظنه كبيرا حتى احفظه في ملف stream هل توجد طريقة اخرى لحفظه في ملف نصي في Bloc not ??
السلام عليكم

ربما هذا الكود أبسط:

PHP كود :
var
  
strList: TStringList;
begin
  strList 
:= TStringList.Create;
  try

   
strList.Add('<newcamd-connector' +
              
'name="CSP5"' +
                 
'profile=' + '"' + Edit5.Text + '"' +
           
'enabled="true"' +
                  
'metric=' + '"' + Edit6 + '"' + '>');

   
strList.Add('<host>'     + '"' + Edit1.Text + '"' + '</host>');
   
strList.Add('<port>'     + '"' + Edit2.Text + '"' + '</port>');
   
strList.Add('<user>'     + '"' + Edit3.Text + '"' + '</user>');
   
strList.Add('<password>' + '"' + Edit4.Text + '"' + '</password>');

   
strList.Add('<asynchronous>true</asynchronous>');
   
strList.Add('</newcamd-connector>');

   
strList.SaveToFile('MyFile.txt', TEncoding.UTF8);

  finally
    
strList.Free;
  
end; 
السلام عليكم

اخي انت تتعامل مع Stream عند تعاملك مع مكون memo الخاصية Lines هي من النوع TStrings و النمط TStringList مورث منه ! استخدام TStringList جيد جدا للتعامل مع الملفات النصية الطريقة الاخرى انضر هنا
http://www.delphi4arab.net/forum/showthr...p?tid=7032
shagrouni كتب :السلام عليكم

ربما هذا الكود أبسط:

PHP كود :
var
  
strlist: Tstringlist;
begin
  strlist 
:= tstringlist.create;
  try

   
strlist.add('<newcamd-connector' +
              
'name="csp5"' +
                 
'profile=' + '"' + edit5.text + '"' +
           
'enabled="true"' +
                  
'metric=' + '"' + edit6 + '"' + '>');

   
strlist.add('<host>'     + '"' + edit1.text + '"' + '</host>');
   
strlist.add('<port>'     + '"' + edit2.text + '"' + '</port>');
   
strlist.add('<user>'     + '"' + edit3.text + '"' + '</user>');
   
strlist.add('<password>' + '"' + edit4.text + '"' + '</password>');

   
strlist.add('<asynchronous>true</asynchronous>');
   
strlist.add('</newcamd-connector>');

   
strlist.savetofile('myfile.txt', tencoding.utf8);

  finally
    
strlist.free;
  
end; 
حل رائع شكرا لك
S.FATEH كتب :السلام عليكم

اخي انت تتعامل مع Stream عند تعاملك مع مكون memo الخاصية Lines هي من النوع TStrings و النمط TStringList مورث منه ! استخدام TStringList جيد جدا للتعامل مع الملفات النصية الطريقة الاخرى انضر هنا
http://www.delphi4arab.net/forum/showthr...p?tid=7032

بارك الله فيك اخي فاتح افضل استعمال TStringList لاني اود ان ارى الملف بعد الكتابة فيه كما في المثال الدي اعطانيه الاخ shagrouni .
على العموم بارك الله فيكم جميعا