واضح آرشیو وب فارسی:سایت ریسک: View Full Version : کار با فایلها whisper13-07-2008, 11:36 PMسلام دوستان من میخوام یه برنامه بنویسم که بشه توش یه متنی رو وارد کنیم بعد قابلیت save و Edit و Delete داشته باشه ولی من تاحالا با فایلها کار نکردم اکه میشه یه مثالی یا راهنما بفرماید از کجا شروع کنم! ممنون میشم whisper13-07-2008, 11:37 PMراستی من با ویبی 2005 کار می کنم Bracket14-07-2008, 01:09 AMچند روش و کلاس برای دسترسی به فایل ها وجود داره میتونید مجموعه کلاس های IO استفاده کنید تو برنامتون از My.computer.fileSystem استفاده کنید که امکانات عالی رو در اختیارتون میزاره البته تو vb فقط این وجود داره , کلاس System.Io رو قبلش به کلاستون وارد کنید . یا میتونید از FileStream هم استفاده کنید البته من اولی رو ترجیح میدم . _H2_14-07-2008, 01:40 AMسلام چه خبر؟ فکر نکنم با گذاشتن یک TextBox یا RichTextBox مشکلی داشته باشید. ضمن تایید گفته های جناب Bracket ... اگر صرق خواندن و نوشتن ساده ی متن باشد، دستورات زیر شاید کافی باشند. (sdata متغییری از نوع String است) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! whisper14-07-2008, 11:13 PMسلام خیلی مخلصم سربازم بعد 6 ماه از پادگان ولم کردن رفتم یه کامپیوتر دیگه خریدم با ویژوال استودیو 2008 اومدم p30world مرسی میرم امتحان کنم mespio15-07-2008, 01:17 AMحتما سراغ System.IO برید از کلاس های FileStream, StreamReader. StreamWriter, File و کلی کلاس دیگه که برای کار با فایل ها در MSDN هست استفاده کنید. مثال به اندازه ی کافی تو MSDN هست whisper15-07-2008, 09:53 AMمرسی از همه دوستان به خاطر راهنمایی خوبشون H2 جان همون که گفتی Edit هم داره من یه replace پیدا کردم ولی فکر کنم یه فایل رو با یه فایل دیگه عوض می کنه !! اگه ممکنه Edit هم بگید!! whisper15-07-2008, 08:12 PMدوستان یه سوال دیگه!! من اگه بخوام نام یک سری فایل رو که تو یه پوشه هست رو تو یه ListBox در برنامه در حال اجرا وارد کنم باید چیکار کنم؟ _H2_16-07-2008, 01:34 AMسلام که گفتی Edit هم داره من یه replace پیدا کردم ولی فکر کنم یه فایل رو با یه فایل دیگه عوض می کنه !! اگه ممکنه Edit هم بگید!! شاید من درست متوجه نشده باشم، ولی بحث به نظر من خیلی واضح است. - شما اطلاعات را لود میکنید - درصورت نیاز چیزی را کم و زیاد و Replace میکنید - در آخر دیتا را ذخیره میکنید. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! این اعمال ویرایشی را میتوان توسط فرامین کاربر و با دیالوگ و... صورت بگیرد. من اگه بخوام نام یک سری فایل رو که تو یه پوشه هست رو تو یه ListBox در برنامه در حال اجرا وارد کنم باید چیکار کنم؟ !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. whisper16-07-2008, 01:18 PMمرسی از راهنمایی خوبتون whisper16-07-2008, 08:02 PM!!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! میشه راجع به این کد توضیح بدید.:13: _H2_16-07-2008, 09:56 PMسلام خط اول آرایه ای (لیست) از کلیه فایلهای داخل مسیر C:Windows به دست می آورد. این آرایه شامل مسیر کامل فایل است، مثلاً C:Windowsfile.txt ولی عموماً در زمان نمایش لیستی به کاربران برنامه نویس مایل است تا به جای عبارت C:Windowsfile.txt عبارت file.txt نمایش داده شود. حلقه موجود همین کار را انجام میدهد و تک تک عناصر String داخل آرایه را با کمک تابع GetFileName فقط نامشان را استخراج میکند. و خط آخر هم که موجب نمایش آرایه جدید میشود. ضمناً قابل ذکر است که دو کنترلر قدیمی VB 6 با نامهای FileListBox و DirListBox هم در دات نت وجود دارد ولی به صورت پیشفرض در آیتم های Toolbar نیستند که در صورت نیاز باید دستی اضافه شان کرد. whisper23-07-2008, 07:16 PMسلام دوستان آقا یه سوال دیگه من وقتی یه فایل رو پاک می کنم اسمش هنوز تو لیست باکس من میمونه یا یه فایل ایجاد می کنم هم همین مشکل وجود داره چی کار کنم ؟؟؟ me.refresh و me.listbox.refresh هم استفاده کردم ولی حل نشد فقط وقتی برنامه رو می بندم دوباره باز میکنم درست میشه؟!! _H2_24-07-2008, 01:44 AMسلام دستور Refresh شما فقط ظاهر نمایشی کنترلرها را بازتولید میکند و ربطی به لیست فایلها ندارد. در اصل لیستی که شما به دست می اورید یک آرایه معمولی است، کاملاً ایستا! مثل به دست آوردن حجم یک فایل به صورت یک عدد Integer یا Long ! شما باید آرایه جدید را از اول به دست آورید. یعنی کل دستورات را باید مجدداً اجرا کنید. whisper24-07-2008, 09:21 PMسلام میشه بیشتر راهنماایم کنید من از یه راه رفتم کار هم کرد ولی فکر میکنم اشتباه باشه......!!!! من قطعه کدی که توی فرم لود برنامه ام بود رو بعد از ایجاد یک فایل کپی کردم کار هم میکنه ولی اینجوری برنامه سنگین میشه تو حجم بالا که.... آخه هر چی گشتم که یه کاری کنم فرم1 برنامه ام بعد از ایجاد فایل دوباره ایجاد شه نشد. من فایل جدید رو تو یه فرم دیگه ایجاد می کنم. _H2_24-07-2008, 11:34 PMسلام شما باید همین کد پست 9 و 11 را در قالب یک sub بنویسید مثلاً به نام FileListRefresh ، و در form_load و هر مکانی که نیاز به بازسازی لیست است، فراخوانی کنید. آخه هر چی گشتم که یه کاری کنم فرم1 برنامه ام بعد از ایجاد فایل دوباره ایجاد شه نشد. برای چی؟ چرا؟ یک فراخوانی زیر روال sub ای که گفتم، کافی است. من فایل جدید رو تو یه فرم دیگه ایجاد می کنم. همچنین میتوانید به نوعی این زیر روال را در فرم دیگر فراخوانی کنید، یا روش کاملتر آن است که از FileSystemWatcher استفاده کنید تا تغییرات را به شما گزارش دهد و شما لیست را بازتولید کنید. این روش استاندارد دات نت است، اگر با سرعت به مشکلی بر خوردید، میتوان با دسترسی مستقیم API سرعت را تا حد ممکن افزایش داد ولی فکر نکنم نیازتان شود. whisper25-07-2008, 10:39 PMشما باید همین کد پست 9 و 11 را در قالب یک sub بنویسید مثلاً به نام FileListRefresh ، و در form_load و هر مکانی که نیاز به بازسازی لیست است، فراخوانی کنید. آقا دستت درد نکنه دنبال همین راه بودم خودشه حله:10: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1274]