PDA

View Full Version : سوال در مورد ReadLn



kheyri
سه شنبه 28 فروردین 1386, 15:59 عصر
سلام دوستان
من توسط دستور ( )ReadLn یک فایل تکست رو میخونم که توی این فایل هم عدد هست و هم تکست. فرض کنید یک فایل از نوع تکست با 6 خط اطلاعات که 4 تای اون عددی هست و 2 تای دیگه تکست مثل این :

1349
12
12345678
33
امیر
حسینی

حالا با استفاده از این دستور اطلاعات تکست فایلم رو میخونم:
;(ReadLn(F,a,b,c,d,e,f
حالا وقتی مقادیر متغیر هامو چک میکنم میبینم مقادیر عددی خونده شده ولی مقادیر تکست خونده نشده .
امکانش هست منو راهنمایی بفرمائید؟
ممنونم.

ghabil
چهارشنبه 29 فروردین 1386, 09:06 صبح
متغییرهات از چه نوعی هستند؟

Sandbad
چهارشنبه 29 فروردین 1386, 13:30 عصر
اگه فارسی نوشتی باید متغیرات از نوع wideString باشند

kheyri
یک شنبه 02 اردیبهشت 1386, 18:38 عصر
متاسفانه مشکل من حل نشد. بخاطر همین نمونه برنامه رو ضمیمه کردم تا اگه ممکنه از نظراتتون بهتر بتونم استفاده کنم. توضیحاً اینکه همراه کد برنامه یک تکست فایل هست که باید در Root پارتیشن C کپی بشه . همونطور که قبلا گفتم ، برنامه مقادیر عددی رو میخونه ولی دو خط آخر فایل رو که تکست هست ، نمیخونه. ممنون میشم اگه منو راهنمایی کنید.

dkhatibi
یک شنبه 02 اردیبهشت 1386, 19:13 عصر
روشی که استفاده می کنی اصلا مناسب نیست
به شکل زیر عمل کن.

m-khorsandi
یک شنبه 02 اردیبهشت 1386, 21:08 عصر
فرض کن این فایل شامل اطلاعات بیشتری باشه، به همون مقدار متغیرها رو اضافه می‌کنی!!؟؟

در کل روش خوبی استفاده نکردی.

می‌تونی به شکل زیر تغییرش بدی :




procedure TForm1.Button1Click(Sender: TObject);

var
FF : Textfile;
sRead: string;
sConcate: string;
begin
assignfile(FF,'c:\mytext.txt');
reset(FF);

sRead := '';
sConcate := '';
while not eof(ff) do
begin
Readln(ff, sRead);
sConcate := sConcate + sRead;
end;

showmessage(sConcate);
CloseFile(ff);
end;



در ضمن بعد از تموم شدن کارت با فایل، باید اون رو ببندی.

kheyri
یک شنبه 02 اردیبهشت 1386, 21:48 عصر
خیلی ممنون از راهنمائیتون. مشکل حل شد. حالا یک سوال دیگه پیش اومد. اگه بخوام هر خط از این تکست فایل رو بعنوان یک فیلد در نظر بگیرم و این فیلد ها رو در یک رکورد ذخیره کنم مثلا در Table در SQLSERVER ، چه راه حل مناسبی داره؟
باز هم تشکر میکنم از راهنمائیتون.