سلام
نقل قول:
ذخیره کردن یک متن در فایل در ویبی دات نت چگونه هست ؟
بسته به شرایط و دلایل ذخیره سازی راه کاری های مختلفی پیدا میکنید.
چیزی که حتماً تا حالا متوجه شده اید این است که Net Framework. که VB.Net از ان استفاده میکنید بسیار بسیار بسیار وسیع تر و گسترده تر از امکانات و چیزهای اندکی است که در VB6 شاهد ان بوده اید.
- اگر میخواهید حالت تنظیمات برنامه باشد و چیزی را Save کنید و بعداً که برنامه بالا امدن همان اخرین تنظیمات را داشته باشد، روش مخصوصی و ساده Settings وجود دارد.
- اگر میخواهید مجموعه اطلاعات سازمان یافته و مشکل و بانکی را ذخیره کنید که روش دیتابیس بهترین راه است.
- اگر میخواهید یکسری مقادیر فیلدی مشخص را (یک پله کمتر از یک بانک اطلاعاتی رابطه ای) ذخیره کنید روش های سریالی XML و Binary کلاسها و ساختار ها وجود دارد.
- فقط برای ذخیره و خواندن متن ساده و مشخص (مثل Notepad) در یک فایل میتوانید از دستوری مثل این اقدام کنید:
کد:
'Save...
System.IO.File.WriteAllText("C:\file.txt", "Hello", System.Text.Encoding.UTF8)
'Load...
Dim str As String = System.IO.File.ReadAllText("C:\file.txt")
مقدار System.Text.Encoding همان چیزی است که برنامه نویسان VB6 از ان رنج میبردند!
این مقدار فرمت و استاندارد ذخیره (و یا خواندن) متن را مشخص میکند که دو فرمت های UTF-8 و Unicode=UTF-16 از فرمت های خوش دست و بسیار خوب جهانی شده برای ذخیره متون همه فرهنگ ها است که طبق استاندارد Unicode هستند و تقریباً همه برنامه های جدید این فرمت ها را میشناسند و دیگر میتوانید مشکل ذخیره و بارگذاری و نمایش متون فارسی را فراموش کنید.
(تمام بخشهای داخلی دات نت هم با استاندار Unicode کار میکند و با تمام فرهنگ ها و علائم تمام زبانها هماهنگ است)
کلاً بخش ذخیره و خوندان فایلها و بخش ترسیمات و نقاشی خیلی متفاوت از VB6 است و البته کاملتر و قدرتمند تر شده است.
دستور دیگری برای ذخیره در فایل ...
کد:
Using writer As New System.IO.StreamWriter("C:\file.txt", False, System.Text.Encoding.UTF8)
writer.Write("Hello ")
writer.WriteLine("Visual Studio 2008")
End Using
همه امکانات مرتب و دسته بندی شده است و شما میتوانید، کلاسهای و متدهای رایج و پایه ای کار با فایلها در فضای System.IO پیدا کنید.
اصول کار با فایلها در دات نت بر مبنایی مفهوم Stream است که در واقع میتوان ان را به نوار نقاله ای از اطلاعات تفسیر کرد ...
- این نوار نقاله میتواند به سادگی از یک فایل داخل و خارج شود و چیزهایی در مخزن و شکم داخل فایل بریزد یا بخواند ...
- این نقاله جریان اطلاعات میتواند مربوط به یک فرآیند Download یا Upload در فضای وب باشد
- میتواند یک جریان ارتباطی شبکه بین دو رایانه در دو نقطه مختلف جهان باشد
- میتواند یک جریان اطلاعات به از RAM باشد
و...
و این وسط کلاسهایی میتوانند این جریان را در داخل خود رد کنند و تغییر دهند!
رمزنگارزی و فشرده سازی و درج و خواندن اطلاعات با فرمت خاص و...
(کلاس StreamWriter که در بالا دیدید در همین گروه آخری قرار دارد.)
این امکانات خوب که در بستر OOP (و پلی مورفیزم) ارائه میشود میتواند به کد شما قابلیت بسیار جالبی بدهد و کد شما برای کارهای مختلف ثابت و یکسان بماند.
شما میتوانید کدی بنویسید که یک فایل را بخواند، ساده و بدیهی است!
ولی نکته جالب انجا است که فایل شما اگر در هارد خودتان و در رایانه دیگری در شبکه و یا همین لحظه در حل دانلود از سایتی باشد و فشره شده باشد و یا رمزنگاری شده باشد و... و... و... کد مرکزی خواندن شما یک خطش هم میتواند تغییر نکند و بتواند همه موارد فوق را قبول کند.
نقل قول:
توی فرم 3 میتونی بزنی توش comand1.visiable=false ولی تو وی بی دات نت نمی تونی روی یک دگمه که توی همون فرم قرار داره این قطعه کد رو بزنی خواستم ببینم چطوری میشه این کار را کرد.
نام پیشفرض دکمه ها دیگر Command1 نیست! مگر اینکه خودتان نامش را عوض کرده باشید.
ضمن اینکه املای انگلیسی visiable هم اصلاً صحیح نیست.
در داخل خود فرم میتوانید کدی مثل این بنویسید:
کد:
Me.Button1.Visible = False
نقل قول:
مثلا 3 تا فرم داریم یعد اینا دگمه بک داره و باید در هر زمان یک فرم نمایش داده شود
توضیح بیشتر.
نقل قول:
سوال بعدی آیا تو دات نت مثل وی بی 6 میشود یک data base بسازیم
نمیدانم کدام نسخه VS را نصب کرده اید؟
VS2005 خودش میتوانید دیتابیس های SQL Server Express را ساخته و ویرایش کند.
پسوند mdf.*
0این دیتابیس ها به راحتی قابل انتقال و اتچ به نسخه های صنعتی SQL Server هستند.)
VS2008 میتواند دیتابیس های SQL Server Compact را هم بسازد و ویرایش کند.
پسوند sdf.*
(این دیتابیس ها خیلی امکانات کمتری دارند و ضعیف تر هم هستند ولی در عوض روی تجهیزات قابل حمل، مثل موبایل های مجهز به WinCE هم قابل نصب هستند)
کد:
Project->Add New Item->Data
{
Service-based Database (SQL Server Express)
or...
Local Database (SQL Server Compact)
}
(بعد از وارد کردن نام و OK کردن کمی طول خواهد کشید و اگر فرمی امد، مهم نیست و Cancel اش کنید.)
برای ویرایش جداول و... میتوانید از View->Server Explorer استفاده کنید.
=====
ولی میتوانید دیتابیس های Access (موتور JET) و یا اوراکل و... را هم با نرم افزارهای خودشان بسازید و در پروزه تان استفاده کنید.
امکانات کار با دیتابیسی هم تغییرات زیادی داشته و پیشنهاد میکنم حتماً حتماً کتاب یا PDF در خصوص ADO.Net تهیه و مطالعه کنید.
چون مبحثی نیست که با سوال و جواب بتوانید به ان مسلط شوید.
موفق باشید.