PDA

View Full Version : جدا کردن فایل از پسوند



pm_hamze
چهارشنبه 15 خرداد 1387, 19:16 عصر
با سلام خدمت شما دوستان عزیز و همچنین جناب آقای کشاورز
من لیست کامل فایل ها رو بدست آوردم حالا می خوام اسم فایل ها رو از پسوندشون جدا کنم
لطفا مرا یاری کنید
با تشکر

مهران موسوی
چهارشنبه 15 خرداد 1387, 19:44 عصر
با استفاده از تابع زير ميتونيد نام فايل رو بدست بياريد .


ExtractFileName()

pm_hamze
چهارشنبه 15 خرداد 1387, 20:29 عصر
ممنون از جوابتون اما اسم فایل رو با پسوندش با هم دیگه می ده

pm_hamze
چهارشنبه 15 خرداد 1387, 20:34 عصر
من فقط اسم فایل رو می خوام این دستور با پسوند نشون می ده

dkhatibi
چهارشنبه 15 خرداد 1387, 21:51 عصر
فکر کنم یک تابع برای جدا کردن پسوند هم بود.
اما میتونید خودتون تابعشو بنویسید.
به کمک Pos محل نقطه را بیابید وبا length طول نام را یافته و حالا با delete نقطه و بعد از اونو حدف کنید.

مهران موسوی
چهارشنبه 15 خرداد 1387, 21:59 عصر
خودتون بنويسيد ... يك تابع هست كه پسوند رو برميگردونه ... طول پسوند رو بگيريد و به همون اندازه از اخر نام برگردونده شده توسط تابع مذكور حذف كنيد ...

pm_hamze
پنج شنبه 16 خرداد 1387, 00:36 صبح
دستتون درد نکنه اما فایلهایی که می خام پسوندشون رو جدا کنم مختلفه و یه اندازه نیست

مهران موسوی
پنج شنبه 16 خرداد 1387, 01:19 صبح
اخه دوست خوب وقتي تابع زير به طور كامل اين كار رو انجام ميده ديگه اين كار ي كه شما كردي و 70% امكان خطا توش هست مثلا اگه پسوند 3 حرفي نبود چي ؟؟ چه فايده اي داره ؟؟


ExtractFileExt()

pm_hamze
شنبه 18 خرداد 1387, 05:58 صبح
جناب آقای مهران هیچکدومش فایده ای نداشت لطفا یه راهنمایی دیگه بکنید

Felony
شنبه 18 خرداد 1387, 07:56 صبح
دوست عزیز مهران جان جوابتون رو داد برای این کار شما پسوند اون فایل رو پیداکن بعد بشمار ببین چند کارکتر هست این پسوند و بعد از آخر نام فایل حذفش کن.

براتون یه کد نمونه نوشتم این طوری باید بنویسید :

var
b,c:integer;
begin
b:=length(edit1.Text);
c:=length(Extractfileext(edit1.Text));
button1.caption:=copy(edit1.Text,0,b-c);
end;

pm_hamze
دوشنبه 20 خرداد 1387, 01:54 صبح
آخه عزیز دل گاهی وقتا پسوندا چهار کارکتریه

B-Vedadian
دوشنبه 20 خرداد 1387, 08:18 صبح
برای همین نوشته

بشمار ببین چند کارکتر هستبرنامه نمونشون هم فقط یک اشکال کوچک داره، رشته ها از 1 شروع میشن


var
b,c:integer;
begin
b:=length(edit1.Text);
c:=length(Extractfileext(edit1.Text));
button1.caption:=copy(edit1.Text,1,b-c);
end;

Felony
دوشنبه 20 خرداد 1387, 14:51 عصر
بله درسته شما حداقل کدی که من نوشتم رو میخوندی و برای خودت تحلیلش میکردی یا تستسش میکردی تا ببینی که هیچ فرقی نداره پسوند چقدر باشه برنامه به درستی پسوند رو برمیگردونه.

در ضمن آقای B_vedadian شرمنده ولی من با همون 0 تست کردم درست کار کرد مگه برای شما مشکلی داشت با 0 ؟