NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4463 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 21 به 26 از 26

موضوع: خواندن کاراکتر های یک صفحه کلید کامپیوتر

  1. #21
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    درود بر دوستان گل من بیسیک بلد نیستم ولی تقربیا همشو فهمیدم به جز این دستور
    Mid(inputstr , X , 1) = ""
    چه معنی در زبان c میده؟

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #22
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    اگر بخوای از وسط رشته کاراکتری یک حرف حذف کنی باید مثل برنامه مهندس بقیه کاراکتر ها رو یک خونه تو آرایه شیفت بدی.

    ولی تو برنامه من کاراکتر ها از آخر رشته با backspace پاک میشن. این دستور دقیقا مثل دستور زیر توی C عمل می کنه :
    کد:
    inputstr[x] = ''

    چون تو بیسیک ما براحتی به درایه های یک رشته کاراکتری دسترسی نداریم باید از تابع mid واسه این کار استفاده کنیم.

  5. کاربران : 2 تشکر کرده اند از شما ali_h برای ارسال این پست سودمند:


  6. #23
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    من که دارم بیخیالش مشم!
    نمی دونم چرا هر کاری باهاش میکنم نمی شه
    برنامه رو میزارم یه نگاهش بندازید اساتید
    کد:
    while (1) { if(n==0x1B){ i=0; lcd_clear(); n=0; } if(n==0x0D&&i==0){ lcd_gotoxy(0,1); x=1; i=1; n=0; } if(n==0x08){ x--; if(x<1) x=1; //lcd_read_byte(0x0F); //lcd_read_byte(0x0C); // _lcd_write_data(0x7); inputstr[x]=''; lcd_gotoxy(x,1); lcd_putsf(" "); lcd_gotoxy(x,1); n=0; } if(n!=0x1B&&n!=0x0D&&n!=0x08){ n=getchar(); delay_ms(5); sprintf(buffer,"%c",n); lcd_puts(buffer); x++; } }; }
    دوست عزیز برنامه رو تا اونجایی که می تونستم به برنامه ای که شما لطف کردید گذاشتید نزدیک کردم لطفا شما هم یه نیگاه بنداز!
    ویرایش توسط Ma3ood : 09-03-2012 در ساعت 18:15

  7. تشکرها از این نوشته :


  8. #24
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    سلام دوست عزیز همیشه توی برنامه هایی که می نویسید tab گذاری صحیح رو رعایت کنید. وارد هر حلقه که میشید یک تب جلو بیاین و در پایان حلقه یک تب عقب برید. این جوری خوندن برنامتون خیلی راحت تر می شه.

    منظور من از inputstr اسم متغیری بود که شما رشتتون رو توش ذخیره می کنید ولی گویا شما اصلاً رشته وارد شده رو جایی ذخیره نمی کنید. کاربرد متغیر i رو متوجه نشدم.

    برنامتون موقع کامپایل خطا نمی ده؟

    من یه تصحیحاتی کردم ولی بهتره کل برنامتون رو یکجا بگذارید (مخصوصاً بخش تعریف متغیر ها رو)
    کد:
    while (1) {
        n=getchar();
        
        if(n==0x1B){
            i=0;
            lcd_clear();
            n=0;
            x=0;
        }
        
        if(n==0x0D&&i==0){
            lcd_gotoxy(0,1);
            x=0;
            i=1;
            n=0;
        }
    
        if(n==0x08){
            x--;
            if(x<0) 
                x=0;
            lcd_gotoxy(x,1);
            lcd_putsf(" ");
            lcd_gotoxy(x,1);
            n=0;
        }
        
        if(n!=0x1B&&n!=0x0D&&n!=0x08){
            sprintf(buffer,"%c",n);
            lcd_puts(buffer);
            x++;
        }
    
        delay_ms(5);
    };

  9. تشکرها از این نوشته :


  10. #25
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    درود بر شما دوست عزیز شرمنده بایت ناخوانایی برنامه استادم هم همیشه میگفت اینا رو رعایت کنید ولی کو گوش شنوا
    من کاربرد این inputstr رو درست متوجه نشدم و نتونستم ازش استفاده کنم!
    برنامه خطایی نداره و همه چیش کارمیکنه به جز این مسئله ای که دارم!
    متعییر i را برای این گذاشتم اگه در برنامه دوبار کلید اینتر رو بزنیم دفعه دوم بی اثر باشه!
    برنامه رو کامل میزارم شما خواهشا تغییرات رو برای متغییر inputstr رو درش اعمال کن بلکه درست شد
    یه سوال مهم زمانی که از دستور lcd_gotoxy استفاده میکنیم در قسمت سطر نمی تونیم که عدد ثابت 1 بزاریم چون این جوری همش میره سطر دوم و عملیات رو میخواد از اونجا ادامه بده و باید تشخیص بدیم که الان سطر اوله یا دوم
    کد:
    #include <mega8.h> #include <stdlib.h> #include <delay.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x18 ;PORTB #endasm #include <lcd.h> #include <stdio.h> void main(void) { unsigned char n=0,i=0; char buffer[16],x=0; char inputstr[32]; PORTD=0x00; DDRD=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; UCSRA=0x00; UCSRB=0x10; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0C; lcd_init(16); while (1) { if(n==0x1B){ i=0; lcd_clear(); n=0; } if(n==0x0D&&i==0){ lcd_gotoxy(0,1); i=1; n=0; } if(n==0x08){ x--; delay_ms(150); if(x<0) x=0; inputstr[x]=''; lcd_gotoxy(x,0); lcd_putchar(0xFE); lcd_gotoxy(x,0); n=0; } if(n!=0x1B&n!=0x0D&n!=0x08){ n=getchar(); inputstr[x]=n; sprintf(buffer,"%c",n); lcd_puts(buffer); x++; } }; }
    ویرایش توسط Ma3ood : 09-03-2012 در ساعت 21:35

  11. تشکرها از این نوشته :


  12. #26
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    سلام مجدد دوستان ما را از نظرات خود بی بهره نگذارید همچنان نیاز مند پست های مفید شما هستیم!

  13. تشکرها از این نوشته :


صفحه 2 از 2 نخستنخست 12

موضوعات مشابه

  1. شبکه های کامپیوتری
    توسط mehdi_nxp در انجمن مقالات،آموزش هاوپایان نامه ها
    پاسخ: 0
    آخرين نوشته: 03-06-2012, 23:00
  2. کامپیوتر بر علیه کامپیوتر!!
    توسط alamdar در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 1
    آخرين نوشته: 30-04-2012, 11:20
  3. پروگرمر با lcd گرافیکی و بدون نیاز به کامپیوتر
    توسط pooriya در انجمن پروگرامرهای AVR.PIC.8051.XMEGA.ARM
    پاسخ: 1
    آخرين نوشته: 12-06-2011, 11:42
  4. اخبار کامپیوتر و it
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 34
    آخرين نوشته: 03-06-2010, 14:16
  5. اخبار کامپیوتر و it
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 1
    آخرين نوشته: 03-06-2010, 11:23

مجوز های ارسال و ویرایش

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