نمایش نتایج 1 تا 8 از 8

نام تاپیک: شمارنده در سی شارپ با حافظه ماندگار

  1. #1

    شمارنده در سی شارپ با حافظه ماندگار

    با سلام ،
    در سی شارپ چطور میتوان یک کانتر معرفی کرد که بعد از اجرای هر بار کلاس مربوطه یک واحدد اضافه گردد و بعد از خروج از برنامه به مقدار صفر بر نگردد ( در vb راحت بود ) و مقدار را تا فراخوانی بعدی نگه دارد ، اگر بخواهم از پایگاه داده استفاده کنم فراخوانی و ویرایش سرعت را میگیرد . آرایه ها هم که به مقدار اولیه بر میگردند ، البته من تازه با سی شارپ کار میکنم .

  2. #2
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,500

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    نقل قول نوشته شده توسط adam_11 مشاهده تاپیک
    با سلام ،
    در سی شارپ چطور میتوان یک کانتر معرفی کرد که بعد از اجرای هر بار کلاس مربوطه یک واحدد اضافه گردد و بعد از خروج از برنامه به مقدار صفر بر نگردد ( در vb راحت بود ) و مقدار را تا فراخوانی بعدی نگه دارد ، اگر بخواهم از پایگاه داده استفاده کنم فراخوانی و ویرایش سرعت را میگیرد . آرایه ها هم که به مقدار اولیه بر میگردند ، البته من تازه با سی شارپ کار میکنم .
    سلام
    من که منظورت و متوجه نشدم اگه بحث ذخیره سازی هست که راه های مختلفی هست
    1- رجیستری
    2- فایل متنی ساده
    3- سند xml
    4- تنظیمات پروژه (My.Settings)
    آخرین ویرایش به وسیله ROSTAM2 : یک شنبه 05 شهریور 1402 در 11:52 صبح

  3. #3
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    411

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    به نظرم برای این کار استفاده از یک متغیر static در کلاس مورد نظر روش مناسبی هست . یک متغیر static به صورت مشترک بین تمام نمونه های آبجکت کلاس قابل دسترس است ولی دسترسی به آن از طریق نمونه های کلاس به صورت instance نیست. بعنوان مثال :



    using System;
    public Class Counter
    Private static int count = 0; // متغیر static
    public Counter()
    count++;
    public static int GetCount()
    return count;
    public class Program
    public static void Main(string)[] args)
    Counter c1 = new Counter ();
    Counter c2 = new Counter ();
    Counter c3 = new Counter ();
    Console .WriteLine(Counter.GetCount()); // نمایش مقدار کانتر

    در این مثال هر بار که یک نمونه از کلاس Counter ایجاد میشود ، مقدار متغیر Count افزایش می یابد . سپس با استفاده از متد GetCount میتوان مقدار کل کانتر را دریافت کرد . در خروجی این مثال مقدار 3 نمایش داده میشود که نشان میدهد هر با که یک نمونه از کلاس Counter ایجاد میشود ، مقدار کانتر افزایش می یابد.

  4. #4

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    نقل قول نوشته شده توسط پرستو پارسایی مشاهده تاپیک
    به نظرم برای این کار استفاده از یک متغیر static در کلاس مورد نظر روش مناسبی هست . یک متغیر static به صورت مشترک بین تمام نمونه های آبجکت کلاس قابل دسترس است ولی دسترسی به آن از طریق نمونه های کلاس به صورت instance نیست. بعنوان مثال :



    using System;
    public Class Counter
    Private static int count = 0; // متغیر static
    public Counter()
    count++;
    public static int GetCount()
    return count;
    public class Program
    public static void Main(string)[] args)
    Counter c1 = new Counter ();
    Counter c2 = new Counter ();
    Counter c3 = new Counter ();
    Console .WriteLine(Counter.GetCount()); // نمایش مقدار کانتر

    در این مثال هر بار که یک نمونه از کلاس Counter ایجاد میشود ، مقدار متغیر Count افزایش می یابد . سپس با استفاده از متد GetCount میتوان مقدار کل کانتر را دریافت کرد . در خروجی این مثال مقدار 3 نمایش داده میشود که نشان میدهد هر با که یک نمونه از کلاس Counter ایجاد میشود ، مقدار کانتر افزایش می یابد.

    با تشکر از لطف شما ولی وقتی برنامه بسته میشود کانتر به پیش فرض بر میگردد .

  5. #5
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    411

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    بله، در مثال قبلی، هر بار که برنامه اجرا می‌شود، مقدار `count` افزایش می‌یابد ولی اگر برنامه بسته شود و دوباره اجرا شود، مقدار `count` به حالت اولیه بازمی‌گردد که صفر است.

    برای ذخیره و بازیابی مقدار `count` بین اجراهای مختلف برنامه، می‌توان از روش‌های دیگری مانند ذخیره مقدار در فایل یا پایگاه داده استفاده کرد. این هم یک مثال استفاده از فایل برای ذخیره و بازیابی مقدار `count` :

    using System;
    using System.IO;


    public class Counter
    {
    private static int count = 0;


    public Counter()
    {
    count++;
    }


    public static int GetCount()
    {
    return count;
    }


    public static void SaveCountToFile(string filePath)
    {
    File.WriteAllText(filePath, count.ToString());
    }


    public static void LoadCountFromFile(string filePath)
    {
    if (File.Exists(filePath))
    {
    string countString = File.ReadAllText(filePath);
    int.TryParse(countString, out count);
    }
    }
    }


    public class Program
    {
    public static void Main(string[] args)
    {
    Counter.LoadCountFromFile("count.txt");


    Counter c1 = new Counter();
    Counter c2 = new Counter();
    Counter c3 = new Counter();


    Console.WriteLine(Counter.GetCount());


    Counter.SaveCountToFile("count.txt");
    }
    }




    در این مثال، متدهای `SaveCountToFile` و `LoadCountFromFile` اضافه شده‌. متد `SaveCountToFile` مقدار `count` را در یک فایل متنی ذخیره می‌کند و متد `LoadCountFromFile` مقدار ذخیره شده را از فایل بارگزاری می‌کند. در ابتدای اجرای برنامه، مقدار `count` از فایل `count.txt` بارگزاری می‌شود. سپس نمونه‌های `Counter` ساخته می‌شوند و مقدار `count` نمایش داده می‌شود. در نهایت، مقدار `count` در فایل ذخیره می‌شود. با اجرای مجدد برنامه، مقدار `count` از فایل بارگزاری می‌شود و ادامه می‌یابد.

  6. #6
    کاربر دائمی آواتار ShayanFiroozi
    تاریخ عضویت
    شهریور 1397
    محل زندگی
    بندرعباس ، خلیج همیشه فارس
    سن
    38
    پست
    218

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    سلام ،

    با رجیستری کار کنین.

  7. #7
    کاربر دائمی آواتار shahryari
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آذربايجان
    سن
    40
    پست
    1,224

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    اگه میخای کلا پاک نشه (حتی با اف دیسک) یادمه یه زمانی در کامپیوتر های قدیمی ، با اسمبلی در یکی از ثبات های بایوس یا چیپ eeprom مین بورد، یک بایت ( 8 بیت) را میتونستیم بنویسم و بخونیم
    آخرین ویرایش به وسیله shahryari : سه شنبه 14 شهریور 1402 در 12:32 عصر

  8. #8
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    2,889

    نقل قول: شمارنده در سی شارپ با حافظه ماندگار

    نقل قول نوشته شده توسط shahryari مشاهده تاپیک
    اگه میخای کلا پاک نشه (حتی با اف دیسک) یادمه یه زمانی در کامپیوتر های قدیمی ، با اسمبلی در یکی از ثبات های بایوس یا چیپ eeprom مین بورد، یک بایت ( 8 بیت) را میتونستیم بنویسم و بخونیم
    آمدم بنویسم که:
    این کارها رو دیگه نمیشه الان با برنامه های معمولی ویندوزی و بایوس های مدرن انجام داد (دست کم مستنداتی براش بصورت پابلیک نیست و منطقی هم هست)
    که دیدم خودتون ادیت کردین پست رو.

    همون رجیستری منطقی ترین و بهترین گزینه است که همون اول در پست 2 اشاره شد (در پست 6 هم تاکید شد)،
    و اگر قرار است بعنوان قفل برنامه استفاده بشه که بهترین راه یک دانگل هست.

تاپیک های مشابه

  1. مبتدی: اموزش ساخت قالب فارسی و ریسپانسیو وردپرسی رو کسی داره ؟
    نوشته شده توسط mohammadreza65 در بخش PHP
    پاسخ: 4
    آخرین پست: چهارشنبه 26 آبان 1400, 11:55 صبح
  2. پاسخ: 7
    آخرین پست: پنج شنبه 31 اردیبهشت 1394, 21:28 عصر
  3. پاسخ: 0
    آخرین پست: چهارشنبه 30 بهمن 1392, 10:31 صبح
  4. سورس فارسی نویس، نوشتن فارسی در برنامه هایی که زبان فارسی رو پشتیبانی نمیکنند
    نوشته شده توسط سید حمید حق پرست در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: چهارشنبه 02 بهمن 1392, 11:00 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •