PDA

View Full Version : سوال: کار با فایل های متنی در دلفی txt-text



hassan p.b
یک شنبه 18 مهر 1389, 20:44 عصر
سلام
سوال را عمومی شروع می نمایم
اول باز کردن فایل تویط دلفیچ
دوم فرض نماییذ فایل متنی مل حاوی خرف و اعدا است مانند
x9y-98
x-.098y-56.78
خال می خواهیم از طریق برنامه نویسی این فایل باز شده و x,y ها اتوماتیک خوانده شده و بطور مستقل بفرض ذر جدولی حاوی فیلدهای x-y ریخته شود لطفا همراهی نمایید تا به نتیجه برسیم
اگر مقدور باشد مثال هم اپ نمایید
با تسکر
حسن پوریوسف

hassan p.b
یک شنبه 18 مهر 1389, 20:47 عصر
مبحث خواندن و نوشتن در سایت ها موجود است ولی خواندن و جداسازی تقریبا جدید است من چیز خاصی که بتوان روی ان انگشت کذاشت ندیدم
دوستان عزیز متن می تواند منظم و یا مانند مثال بالا نامنظم و بهم چسبیده باشد عدد کنار x مقدار x و y مقدارy است
با تشکر

Felony
یک شنبه 18 مهر 1389, 21:18 عصر
به وسیله کلاس TStringList میتونید یه فایل متنی رو بخونید و به وسیله توابع Copy و Pos میتونید اطلاعات رو تفکیک کنید ، در مورد همه موارد بالا در سایت پست های زیادی هست .

hassan p.b
پنج شنبه 22 مهر 1389, 11:17 صبح
با تشکر ولی اعداد را از حروف چگونه تشخیص بدهیم اعداد هم طول یکسانی ندارنند

hassan p.b
پنج شنبه 22 مهر 1389, 11:19 صبح
موارد ذکر شده بیشتری برای vb هستند

Felony
پنج شنبه 22 مهر 1389, 19:58 عصر
با تشکر ولی اعداد را از حروف چگونه تشخیص بدهیم اعداد هم طول یکسانی ندارنند


موارد ذکر شده بیشتری برای vb هستند

توابع Copy و Pos رو برای همین کار نام بردم !
نمونه ضمیمه رو ببینید .

hassan p.b
چهارشنبه 28 مهر 1389, 18:48 عصر
فایل را روی دلفی در هنگام ران قسمت for...do ایراد می گیرد
با تشکر از همراهیتان

Felony
چهارشنبه 28 مهر 1389, 19:12 عصر
سلام
فایل را روی دلفی در هنگام ران قسمت for...do ایراد می گیرد
با تشکر از همراهیتان

چون تو برنامه از حلقه for ... in استفاده شده و این نوع حلقه از دلفی 2009 به بعد اضافه شده ، اگر از نسخه قدیمی تر از 2009 استفاده میکنید کد رو به صورت زیر تغییر بدید :

var
StrList: TStringList;
Temp, TempX, TempY: String;
I: Integer;
begin
if OpenDialog1.Execute then
begin
StrList:= TStringList.Create;
try
StrList.LoadFromFile(OpenDialog1.FileName);
for I := 0 to StrList.Count - 1 do
begin
Temp:= StrList.Strings[i];
TempX:= Copy(Temp, Pos('x', Temp)+2, Pos('y', Temp)-3);
TempY:= Copy(Temp, Pos('y', Temp)+2, Length(Temp));
ListBox1.Items.Add(TempX);
ListBox2.Items.Add(TempY);
end;
finally
StrList.Free;
end;
end;
end;

hassan p.b
پنج شنبه 29 مهر 1389, 12:44 عصر
مرسی و سلام
من از دلفی6 بهره می برم ایا در این کد اعداد ممیز دار هم استخراج می شونند

Felony
پنج شنبه 29 مهر 1389, 12:53 عصر
مرسی و سلام
من از دلفی6 بهره می برم ایا در این کد اعداد ممیز دار هم استخراج می شونند

بله ، فکر نمیکنم تحلیل یا تست کردن این کد اینقدر سخت باشه ، کافی بود چند دقیقه روش وقت بزارید !

hassan p.b
شنبه 01 آبان 1389, 11:26 صبح
با سلام دیگر
من مثال را کسترش دادم ولی بنظرم بایستی کد مستحکم تری بنویسیم تا تحت هر شریطی کار نماید ممکن است مانند متون اضافه شده تفاوت ها ی گوناگون باشند و رفتار برنامه مهم خواهد بود
در مثال زیر و txt های آن این مسئله قابل مشاهده است
با تشکر

hassan p.b
دوشنبه 03 آبان 1389, 13:42 عصر
لطفا ادامه بدید با تشکر از همراهی دوستان عزیز

sips65
سه شنبه 03 اسفند 1389, 15:13 عصر
سلام...
من با نوشتن فایل متنی به صورت چند خطی مشکل دارم...
تو برنامه یه حلقه دارم که هر بار با دستور writeln() متنی رو توی فابل میریزم و با تکرار بعدی همون فایل رو میخونم با read() و متن جدید رو باز با writeln() بهش اضافه میکنم .ولی تو فایلم فقط اولین و آخرین داده ذخیره میشه.... لطفا راهنمائی کنید...ممنون.

hassan p.b
چهارشنبه 18 اسفند 1389, 04:06 صبح
[متاسفانه بعد ارتقاسایت من نوشته هام را سخت می توانم پیدا کنم

sips65
پنج شنبه 19 اسفند 1389, 23:25 عصر
دوستان محترم...من که ایراد کار خوردم رو پیدا کردم....ممنون!

sips65
پنج شنبه 19 اسفند 1389, 23:29 عصر
دوستان کسی یک کمپوننت ساده و کارا برای باز کردن فایل اکسل تو دلفی میشناسه که بتونیم دقیقا با آدرس دهی مقادیر هر سطر و ستون رو بخونیم؟؟؟

MohsenB
جمعه 20 اسفند 1389, 10:01 صبح
سلام

تو کامپوننت های TMS بگردید ، حتما پیدا میکنید .

hassan p.b
سه شنبه 24 آبان 1390, 16:24 عصر
سلام
مثال ها و فروم جالبی یافتم
لینک:
http://barnamenevis.org/showthread.php?278361-نحوه-جداسازی-حروف-از-کلمه-و-جمله/page2&highlight=POS

hassan p.b
سه شنبه 08 مرداد 1392, 16:22 عصر
دوستان خیلی وقته که اینجا نیامدم و کار نیمه رها شده است لطفا همراهی نمایید
من می خواهم از یک فایل متنی مثلا x و مقدارش را جدا و در یم بطور مثال لیست باکس قرار بدهم این فایل می تواند منفی و اعشار هم باشد این x یا y -z-r-g-m می توانند در هر جایی از متن باشند ولی باید من بتوانم اعداد را کامل جدا نمایم و مهمتر اینکه بدانم کدام x است و کدام y و سایر موارد....
دوستی اینکار را انجام دادند 50 هم ازم گرفتند و سورس را تحویل ندادند 150 هم می خواهند دیگه بکسی نمی شود اطمینان کرد اگه لطف کنید می خواهم خود یاد بگیرم و انجام دهم فایل کار ایشان را ضمیمه می کنم
با تشکر
حسن
www.airship.blogfa.com

hassan p.b
سه شنبه 08 مرداد 1392, 16:27 عصر
راستی مثال بالا بعلت متغییر بودن متن و محل x و سایر پارامترها کارا نیست در ضمیمه های بالا کاملا مشخص است و مثلا مثال نمی تواند اولا x را تشخیص دهد و اگه مثلا بین x و y فاصله باشد و یا در سطر y نباشد دچار مشکل می شود.
با تشکر
حسن

hassan p.b
یک شنبه 09 شهریور 1393, 01:38 صبح
http://barnamenevis.org/showthread.php?459841-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%D9%85%D8%AA%D9%86%DB%8C-%D9%88-%D8%AC%D8%AF%D8%A7%D8%B3%D8%A7%D8%B2%DB%8C-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%A7%D8%B2-%D8%A2%D9%86-(%D9%88%D9%82%D8%B1%D8%A7%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-%D8%AF%D8%B1-%D8%AC%D8%AF%D9%88%D9%84-%D9%88-%DB%8C%D8%A7-%D9%84%DB%8C%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3)&p=2058207#post2058207