PDA

View Full Version : باز کردن فایل txt از طریق برنامه



yaas135
چهارشنبه 30 مرداد 1387, 15:12 عصر
با سلام
لطفا قبل از این که من رو ارجاع بدید به جستجو در سایت سوال رو کامل مطالعه کنید.
من یک فایل دارم با اسم مثلا 1.txt که توش یه فولدر رو آدرس دادم.
حالا از طریق برنامه میخوام بگم، نرم افزار بره متن داخل این فایل رو بخونه، به تهِ ادرسِ داخل فایل یه اسم اضافه کنه، مثلا 2.txt و بعد بره برام فایل 2.txt رو باز کنه. برای این کار باید چیکار کنم؟
از ShellExecute هم استفاده کردم نشد.
ممنونم

Hsimple11
چهارشنبه 30 مرداد 1387, 16:42 عصر
من یک فایل دارم با اسم مثلا 1.txt که توش یه فولدر رو آدرس دادم.
حالا از طریق برنامه میخوام بگم، نرم افزار بره متن داخل این فایل رو بخونه

برای اینکار راهای مختلفی وجود دارد. میتونید از هر شیئی که خاصیت TStrings رو داره استفاده کنید و از متد LoadFromFile اون کمک بگیرید. مثلا با یک Memo و LoadFromFile متن رو در Memo بیاورید.

راه دیگر بدون استفاده از کنترلی مثل Memo، استفاده از یک TextFile هست. یک متغیر از نوع TextFile تعریف کنید و یک متغیر از نوع String. میتونید ابتدا با تابع FileExists از وجود فایل مطمئن شوید . با AssignFile متغیر خودتون رو به فایلتون مرتبط کنید. از Reset برای باز کردن فایل متنی خود و از ReadLn برای خواندن خطوط استفاده کنید و در نهایت فایل را ببندید. مثال :


procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
S: string;
begin
if FileExists('C:\YServer.txt') then begin
AssignFile(F, 'C:\YServer.txt');
Reset(F);
ReadLn(F, S);
Edit1.Text := S;
ReadLn(F, S);
Edit2.Text := S;
CloseFile(F);
end
else
ShowMessage('File not found');
end;


راه دیگه استفاده از یه StringList است. مثال :


Function LoadFile(const FileName: TFileName): string;
begin
with TStringList.Create do
try
LoadFromFile(FileName);
Result := Text;
finally
Free;
end;
end;


و برای استفاده از اون :


procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:= LoadFile('c:\YServer.Txt');
end;


از یک FileStream هم میشه استفاده کرد. که میتونید بطور مستقیم محتوای فایلتون رو درون اون بریزید.


به تهِ ادرسِ داخل فایل یه اسم اضافه کنه، مثلا 2.txt

به این رشته چیزی رو که میخواهید اضافه کنید.


و بعد بره برام فایل 2.txt رو باز کنه. برای این کار باید چیکار کنم؟

حالا این رشته (مسیر فایل txt2) رو میتونید با ShellExecute باز کنید.

yaas135
چهارشنبه 30 مرداد 1387, 18:03 عصر
خیلی ممنونم، از همین روش استفاده کردم من هم، حل شد