View Full Version : استفاده از متغيري كه خاصيت Auto Increment داشته باشد
heroma
یک شنبه 06 شهریور 1384, 20:51 عصر
سلام
من می خواهم از یک متغیر در برنامه ام استفاده کنم که بعد از هر بار باز شدن یک پنجره 1 واحد زیاد شود و با اجرای دوباره ی آن برنامه مقدار آن متغیر 0 نشود آخرین مقدار خود را بگیرد.
در C معادلش STATIC است اینجا چی؟
با تشکر از جواب های سریع و خوب شما
Developer Programmer
یک شنبه 06 شهریور 1384, 23:03 عصر
می تونید متغیرتون رو عمومی تعریف کنید
البته بسته به نوع دسترسی کلاس ، Private or Public
vcldeveloper
دوشنبه 07 شهریور 1384, 02:07 صبح
من کاملا متوجه منظور شما نشدم...شما می خواید یه متغیر(مثلا I) داشته باشید که هر بار برنامه اجرا شد، یک واحد به مقدار این متغیر اضافه بشه (یعنی I = تعداد نمونه های باز اون برنامه) .... یا اینکه می خواید در یک برنامه متغیری تعریف کنید که هربار پنجره خاصی باز شد، مقدار متغیر یک واحد افزایش پیدا کنه (یعنی I = تعداد دفعاتی که کاربر یک پنجره خاص را در برنامه باز کرد).
اگه اولین کار رو بخواید انجام بدید باید از داده ایی استفاده کنید که process های مختلف بتونند به اون دسترسی داشته باشند (مثل MemoryMappedFiles) به این ترتیب همه process هایی که اون MemoryMappedFile رو Map کردن، می تونند به مقدار ذخیره شده در اون دسترسی داشته باشند، یا اونو تغییر بدند. برای اطلاعات بیشتر درباره MemoryMappedFiles می تونید در Windows SDK دنبال توابعی مثل CreateFileMapping, OpenFileMapping, MapViewOfFile و... بگردید.
اگه فقط می خواید تعداد باز شدن های یک پنجره در یک برنامه رو بشمارید، می تونید خیلی راحت یه متغیر global تعریف کنید (نه داخل یک کلاس) و در هنگام ایجاد هر پنجره یه واحد به اون متغیر اضافه کنید. برای تعریف یه متغیر global فقط کافیه در بخش Interface یکی از یونیت های برنامه این متغیر رو تعریف کنید و اسم این یونیت رو در قسمت uses تمام یونیت هایی که از اون داده استفاده می کنند قرار بدید.
مثال:
unit unit1;
interface
var
I : integer;
......
end;
unit unit2;
interface
....
implementation
uses Unit1;
//Access I from Unit1
....
end;
heroma
جمعه 11 شهریور 1384, 19:50 عصر
سلام
از راهنمایی هاتون ممنون .
من می خواستم این کارو بکنم که: هر بار که یه صفحه باز می شه (این صفحه مال ورود داده است که کتاب باشه) یک عدد جدید که یکی یکی هم زیاد بشه تو جدولم موقع باز شدن پنجره تو یکی از Editهای جدولم نمایش داده بشه. پس این عدد باید همیشه حفظ بشه تا اگه من صد بار هم برنامه ام رو ران کردم برای صدمین بار از 0 شروع نشه از اون مقدار آخری شروع بشه. امیدوارم این بار مسئله درست بیان شده باشه.
مهدی کرامتی
شنبه 12 شهریور 1384, 00:21 صبح
این کار رو میتونید با استفاده از فیلدهای Auto Increment در جداول دلفی (و فیلدهای دارای خاصیت Identity در SQL Server) انجام دهید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.