PDA

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



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

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

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

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

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

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


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

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

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

مجتبی تاجیک
چهارشنبه 28 مهر 1389, 18:42 عصر
سلام خدمت دوست گرامی جناب تاجیک
فایل را روی دلفی در هنگام ران قسمت 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:14 عصر
مرسی و سلام
من از دلفی6 بهره می برم ایا در این کد اعداد ممیز دار هم استخراج می شونند

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

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

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

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

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

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

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

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

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

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

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