PDA

View Full Version : كار با فايل متني



ali.2566
دوشنبه 29 تیر 1388, 00:26 صبح
سلام

من تازه با اين سايت آشنا شدم. اگه اين تاپيك رو در بخش اشتباه زدم منو عفو كنيد. :خجالت:

من در دلفي تقريبا تازه كار هستم. ميخوام برنامه ي كوچكي بنويسم كه در يك فايل متني چند رشته رو با متغيري كه تعريف ميكنم عوض كنه. مثلا در قسمتي از فايل متني واژه _text_ رو نوشته و به عنوان متغير تعريف كنم و برنامه من رشته اي دلخواه رو از اديت گرفته و جايگزين _text_ كند. نكته اي مهم برام اينه كه حروف رو جايگزين كنه نه اضافه، مثل وقتي كه دكمه Insert كيبورد فعال هستش.

ممنون ميشم كمك كنيد.

tdkhakpur
دوشنبه 29 تیر 1388, 14:23 عصر
سلام
ببینید توابع مورد نیاز کارتان را برای شما ارسال میکنم شما خودتان برنامه را بنویسید.
ولی یک راهنمایی برای تغییر رشته در فایل باید عرض کنم این هست که شما باید محل یا offsset رشته مورد نظر در فایل را پیدا کرده و با تابع seek به این محل رفته و با تابع WriteBuffer در این محل بنویسید.


var
fptmp : TFileStream;
begin
fptmp := TFileStream.Create('Data.txt', fmOpenReadWrite);
fptmp.Seek(offset, soFromBeginning),
fptmp.WriteBuffer(text, 255);
FreeAndNil(fptmp);
end;

ali.2566
دوشنبه 29 تیر 1388, 14:40 عصر
ممنونم ولي من واقعا تو دلفي تازه كار هستم. اگه يكم بيشتر توضيح بديد ممنون ميشم.
خيلي لازم دارم اين برنامه رو.

Felony
دوشنبه 29 تیر 1388, 15:02 عصر
شما بهتره کار با StringList رو یاد بگیرید ، تو انجمن بگردید دربارش زیاد بحث شده .

vcldeveloper
دوشنبه 29 تیر 1388, 16:39 عصر
var
SList : TStringList;
begin
SList := TStringList.Create;
try
SList.LoadFromFile('C:\Test.txt');
SList.Text := StringReplace(SList.Text,'_text_',Edit1.Text,[rfReplaceAll])
finally
SList.Free;
end;
end;