الكتابة في ملف نصيBloc Not دون استخدام memo ؟؟
#1
السلام عليكم
قمت بالبحث المتقدم في المنتدى لكن وجدت اغلب الشروحات يستعمل فيها 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
الرد
#2
سلام عليكم

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

شاهد المرفق

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

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

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

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; 
الرد
#8
السلام عليكم

اخي انت تتعامل مع Stream عند تعاملك مع مكون memo الخاصية Lines هي من النوع TStrings و النمط TStringList مورث منه ! استخدام TStringList جيد جدا للتعامل مع الملفات النصية الطريقة الاخرى انضر هنا
http://www.delphi4arab.net/forum/showthr...p?tid=7032
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#9
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; 
حل رائع شكرا لك
الرد
#10
S.FATEH كتب :السلام عليكم

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

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم