اطلاعیه

Collapse
No announcement yet.

یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

    سلام
    یه سوال خیلی ساده :biggrin:
    آره سادس ولی به نظر ساده میاد
    چند ماهی میشه مغزم رو درگیر کرده و هرچی برنامه بلد بودم روش پیاده کردم اما نشد :redface:

    سوال اینه که:
    با زدن کلید UP به مقدار ترک بار یک واحد اظافه بشه
    با زدن کلید DOWN از مقدار ترک بار یک واحد کم بشه
    خوب این رو که خودم یلدم و اجتیاجی به پاسخ عزیزان در این بخش نیست :mrgreen:

    بخش دوم سوال:
    میخوام مقدار ترک بار رو هر مقداری بود پس از اینکه پنجره رو بستیم و دوباره باز کردیم ، ترک بار همون مقدار رو نمایش بده
    یعنی آخرین اطلاعات فرم قبل از بسته شدن رو ذخیره کنه

    این هم فرمی که مد نظرم هست:


    منتظر کمک و همفکریتون هستم :nerd: :bye
    هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

    \|/_\/_

    #2
    پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

    اگه میخوای اطلاعاتی رو بعد از بستن برنامه از دست ندی باید داده رو ذخیره کنی، برای این کار معمولاً از فایل استفاده میشه.
    اول فضای نام (NameSpace) مربوط به کار با فایلها را به برنامه اضافه کن. اول برنامه قبل از شروع معرفی کلاس:
    کد PHP:
    Imports System.IO 

    برای نوشتن/خواندن فایل متغیر زیر را ایجاد کن (هر جای برنامه که بهش نیاز هست):
    کد PHP:
    Dim fsStream As New FileStream(FileNameFileMode.OpenFileAccess.Read

    بعد از گذاشتن نقطه بعد FileMode و FileAccess گزینه های دیگه که از اسمشون مشخصه چه کار می کنن باز میشن که گزینه مناسب کارت رو انتخاب می کنی. دستور بالا برای خواندن از فایل هست.
    آبجکت زیر هم برای خواندن از فایل استفاده میشه:
    کد PHP:
    Dim swReader As New StreamReader(fsStream

    برای نوشتن هم از StreamWriter استفاده میشه.
    برای خواندن کل فایل میتونی از دستور زیر استفاده کنی:
    کد PHP:
    txtfile swReader.ReadToEnd 

    برای نوشتن هم میتونی از swWriter.write استفاده کنی که swWriter آبجکتی هست که برای نوشتن در فایل ایجاد کردی.
    مثال های زیادی توی اینترنت هست که میتونی ازشون استفاده کنی.

    به این ترتیب یک فایل ایجاد می کنی و داده ای که اینجا محل Trackbar هست توی فایل ذخیره می کنی (write) و دفعه بعد که برنامه رو باز کردی توی قسمت Form_Load فایل رو باز می کنی و میخونی و محل Trackbar رو تنظیم می کنی (read).
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    دیدگاه


      #3
      پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

      ارسال شده توسط: هـادی
      « : امروز ساعت 0443 am »
      oo: oo: oo: oo:

      ایول هادی جان !! این وقت سحر هم از کمک به ا دریغ نمیکنی
      دمت گرم :applause:


      داداش شرمنده
      من در اون حد با برنامه حرفه ای نشدم که راحت بتونم توضیحات شما رو درک کنم و انجام بدم.
      اگه یک مثال میزاشتی در کنار توضیحات خیلی عالی میشد.
      اینترنتم گشتم...خیلی گشتم...برای محیط وب نویسی بود سر در نیاوردم !

      اگر براتون امکانش هست یک مثال برای بخش ذخیره بزارید
      اون دوتا دکمه هم نمیخواد

      فقط ترک بار باشه که بزاریمش رو یک مقدار و پنجره رو ببندیم و دوباره باز کنیم و ترک بار بازهم رو اون مقدار باشه
      خیلی ممنون میشم اگه برنامش رو برای مثال بنویسید یادبگیریم :nice:


      هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

      \|/_\/_

      دیدگاه


        #4
        پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

        عزیز جان ، اصلا لزومی به استفاده از فایل نیست.
        دات نت خودش این امکان رو بهت میده که یکسری متغیر رو درون خود برنامه ذخیره کنی.
        تو پنجره Solution Explorer روی Settings.settings کلیک کن. اونجا میتونی متغیرت رو تعریف کنی.
        مثلا Value از نوع int.
        تو برنامه هم به صورت زیر استفاده کن
        namespace.Properties.Settings.Default.Value
        وقتی هم خواستی ذخیرش کنی
        namespace.Properties.Settings.Default.Save()
        به همین راحتی
        بجای namespace اسم namespace خودت رو بزار.

        دیدگاه


          #5
          پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

          اگه خواستی از فایل استفاده کنی:
          کد PHP:
          Imports System.IO
          Public Class Form1
            
          Const FileName As String = "trkValue.dat"

            Private 
          Sub Form1_FormClosing(ByVal sender As ObjectByVal e As FormClosingEventArgsHandles MyBase.FormClosing
              MsgBox
          ("I'm leaving u now")
              
          Dim fsStream As New FileStream(FileNameFileMode.OpenFileAccess.WriteFileShare.ReadWrite)
              
          Dim swWriter As New StreamWriter(fsStream)
              
          Dim trkcvalue As String
              trkcvalue 
          trk1.Value.ToString
              swWriter
          .WriteLine(trkcvalue)
              
          swWriter.Flush()
              
          swWriter.Close()
              
          fsStream.Close()
            
          End Sub
            
          Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
              Dim fsStream 
          As New FileStream(FileNameFileMode.OpenOrCreateFileAccess.ReadFileShare.ReadWrite)
              
          Dim swReader As New StreamReader(fsStream)
              
          trk1.Value swReader.ReadToEnd
              swReader
          .Close()
              
          fsStream.Close()
            
          End Sub
          End 
          Class 
          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
          لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
          با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
          اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
          يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

          دیدگاه


            #6
            پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

            روش امیر خیلی راحت تره.





            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
            اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
            يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

            دیدگاه


              #7
              پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

              من با C# برنامه مینویسم و مثال رو هم با اون نوشتم. خودت دیگه باید زحمت تبدیلش رو به VB بکشی عزیز.

              دیدگاه


                #8
                پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                واااااای عالی بود ......
                از کمکتون خیلی ممنونم
                آقا امیر دست گل شماهم درد نکنه
                دقیقا همون چیزی بود که میخواستم
                هم با کلید هم بی کلید ....عالیییییییییییییییییییی :wow: :wow: :wow: :wow:

                فقط من با بیسیک و بسکام کار میکنم.....یکم طول میکشه برنامه نویسیتون با کدویژن رو درک کنم ....ولی بازهم خیلی ممنون :nice:
                عالیییی :nerd:
                خدا از شر مشگلاتتون راحتتون کنه

                راستی
                یه سوال دیگه

                از یک کلید بخوام چند تا عمل انجام بده

                یعنی به این صورت که:
                مثلا یه چیزی...مثل رنگ فرم اصلی
                4تا رنگ انتخاب کنیم

                کلید 1 رو هر بار فشار میدیم
                یکی از اون رنگ ها اعمال بشه
                برنامه به صورت حلقه باشه
                به انتهای رنگ رسید دوباره از رنگ شماره 1 اعمال کنه

                برنامه جالبی میشه
                ولی چطوری این کارو با یک کلید انجام بدیم ؟

                هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

                \|/_\/_

                دیدگاه


                  #9
                  پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                  ببین تو برنامه نویسی ویندوز برای اینکار باید از تایمرها استفاده کنی. یک متغیر کلی تعیریف میکنی و با هر باز زدن کلید مقدار اون رو تغییر میدی و تو تایمر چکش میکنی.

                  دیدگاه


                    #10
                    پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                    نوشته اصلی توسط امیر . م
                    ببین تو برنامه نویسی ویندوز برای اینکار باید از تایمرها استفاده کنی. یک متغیر کلی تعیریف میکنی و با هر باز زدن کلید مقدار اون رو تغییر میدی و تو تایمر چکش میکنی.
                    بله خوب همین موضوع
                    اون متغیر چطوری نوشته میشه!
                    چطوری بگیم متغیر بعدی اعمال بشه !
                    متغیر های ما مثلا اینها باشند:
                    me.backcolor=blue
                    me.backcolor=red
                    me.backcolor=green

                    این هارو چطوری دونه دونه اعمال کنه !

                    هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

                    \|/_\/_

                    دیدگاه


                      #11
                      پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                      راه ساده تر اینه که از یک متغیر Public استفاده کنی:
                      کد PHP:
                      Public Class Form1
                        
                      Public colnum As Integer 0
                        
                      Private Sub btnColor_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnColor.Click
                          Dim colors
                      () As Color = {Color.BlueColor.RedColor.YellowColor.Black}
                          
                      Me.BackColor colors(colnum)
                          
                      colnum += 1
                          
                      If colnum &gt3 Then
                            colnum 
                      0
                          End 
                      If
                        
                      End Sub
                      End 
                      Class 
                      لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                      لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                      با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                      اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                      يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                      دیدگاه


                        #12
                        پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                        وااااای عالیههههه
                        ممنونمممم
                        خیلی دمتون گرم
                        برنامه ساده و جالبی شد....خیلی هم کاربرد داره...
                        ممنون
                        ممنون
                        ممنون
                        هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

                        \|/_\/_

                        دیدگاه


                          #13
                          پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                          بازهم تشکر میکنم از کمک خوب و دقیق دوستان

                          مرحله تغییر رنگ رو کاملا متوجه شدم و ازشم جواب گرفتم

                          اون فایل ذخیره که امیر جان هم با کدویژن دادن کار میکنه ولی هنوز متوجه نشدم :redface:

                          آموزش تثویری ذخیره فایل هادی جان هم انجام دادم
                          هنگام اجرای برنامه در این بخش گیر میکنه
                          مشگل چیه ؟
                          هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

                          \|/_\/_

                          دیدگاه


                            #14
                            پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                            احتمالاً Option Strict در تنظیمات Visual Studio روی On تنظیم شده که باید تبدیل نوع متغیرها از نوع صریح باشه. برای حل این مشکل باید سمت راست تساوی به نوع صحیح تبدیل بشه که میتونی از دستور Convert.ToInt32 استفاده کنی یعنی:
                            کد PHP:
                            trk2.Value Convert.ToInt32(My.Setting.trk2val

                            یا میتونی اول برنامه قبل از معرفی کلاس بنویسی Option Strict Off و نیازی به تبدیل نوع داده نیست.
                            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                            لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                            با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                            اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                            يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                            دیدگاه


                              #15
                              پاسخ : یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET

                              نوشته اصلی توسط هـادی
                              احتمالاً Option Strict در تنظیمات Visual Studio روی On تنظیم شده که باید تبدیل نوع متغیرها از نوع صریح باشه. برای حل این مشکل باید سمت راست تساوی به نوع صحیح تبدیل بشه که میتونی از دستور Convert.ToInt32 استفاده کنی یعنی:
                              کد PHP:
                              trk2.Value Convert.ToInt32(My.Setting.trk2val

                              یا میتونی اول برنامه قبل از معرفی کلاس بنویسی Option Strict Off و نیازی به تبدیل نوع داده نیست.
                              ممنون بابت پاسخت هادی جان
                              یه فرم جدید دیگه باز کردم و دوباره مراحل رو انجام دادم
                              ولی
                              دستور اول گزاشتم نشد - دومی رو گزاشتم نشد - جفتش رو گزاشتم....
                              ولی بازم نشد :cry:
                              به همون قسمت گیر میده

                              کد:
                              Option Strict Off
                              Public Class Form1
                              
                                Const fileName As String = "trkvalue.dat"
                              
                                Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
                              
                                  My.Settings.trk2val = Trk2.Value.ToString
                              
                                End Sub
                              
                                Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                              
                                  Trk2.Value = Convert.ToInt32(My.Settings.trk2val)
                                  Trk2.Value = My.Settings.trk2val
                                End Sub
                              End Class
                              اگه این رو بنویسم
                              باز به این بخش برسه گیر میده
                              Trk2.Value = Convert.ToInt32(My.Settings.trk2val)
                              هنگامي که چيزي مينويسي، کاري نکن تنها کسي که از مغزش استفاده کرده باشد ،مدادت باشد .

                              \|/_\/_

                              دیدگاه

                              لطفا صبر کنید...
                              X