ايران ويج

نسخه‌ی کامل: POINTERS
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

ضبط و پخش وقایع موس

من یک اشاره گر برای گرفتن مختصات موس ساختم:
کد:
LPPOINT PO[10000000];
    long i;
    long l;
    long x;
    long y;

و مختصات موس را برای چندین بار بوسیله ی تایمر گرفتم:

کد:
void CMRECDlg::OnTimer(UINT nIDEvent)
{
    CString s;

    switch(nIDEvent)
    {
    case ID_TIMER_REC:
        l++;
        s.Format("%d - %d",l,i);
        SetWindowText(s);

        GetCursorPos(PO[l]);
        break;
    case ID_TIMER_PLY:
        i++;
        s.Format("%d - %d",l,i);
        SetWindowText(s);
        
        x=PO[i]->x;
        y=PO[i]->y;

        SetCursorPos(x,y);

        if (i==l || i>l) {
            KillTimer(ID_TIMER_PLY);
            IsPly=FALSE;
            i=l;
        }
        break;
    }

    CDialog::OnTimer(nIDEvent);
}

اما وقتی میخام بخونم Error میده! این کد اشکالی داره؟

اگه بخام مختصات PO[x].x را بریزم داخل x چجوری؟
:wink:

-------------------------------------------------------------------------------

یک نمونه هم از کاربرد اشارهگر ها بگید. چون اصلا نمیدونم این اشاره گر ها به چه درد میخورن! (ساده توضیح بدین) با در VB اشاره گر ها چجوریند؟ :wink:
این که شما ساختی یه متغیره ، اشاره گر نیست اشاره گر ها آدرس رو ذخیره می کنن (البته برای آرایه ها تقریبا خیلی هم فرقی نمی کنه )
خیلی وقته vc کارنکردم ولی فکرکنم باید از نقطه استفاده کنی به جای -> ارور رو هم باید ببینی چیه شاید دسترسی به متغیر نداره public تعریف کردی متغییر رو؟
در vb هم اشاره گر نداریم نهایتا توی یه تابع که می خوان یه متغییر رو ارسال کنن می گن با آدرس باشه یا با مقدارش
اما اشاره گر ها مثلا عدد دو رو شما توی RAM ذخیره میکنی این دوتا مشخصه داره یکی مقدارش که عدد 2 هست و یکی هم ادرسش که در کجای RAM ذخیره شده به اون دومی می گن اشاره گر برای مواقعی که یه حجم زیادی داده داری به جای جابجا کردن همه اون داده ها می تونی اشاره گرش رو استفاده کنی و یا برای کار با آرایه ها میتونه مفید باشه