اقوم بعمل Line editor ولكن تواجهني مشكلة عند تطبيق الزر backspace كيف يتم عمل وظيفة هذا الزر في ال سي باستخدام ال array??
وشكرا
اقوم بعمل Line editor ولكن تواجهني مشكلة عند تطبيق الزر backspace كيف يتم عمل وظيفة هذا الزر في ال سي باستخدام ال array??
وشكرا
هذا هو الكود الذي استخدمته ولكنه لايعمل ففي حالة 8 اريده ان يمسح حرف وينتقل باقي السطر باكمله كما يفعل تماما لو ضغطت زر backspace في اي برنامج مثل Notepad
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
int main()
{
int i =0;
int len;
char ch;
char chr[10];
int *ptr;
int dest[10];
clrscr();
do{
ch = getch();
if (ch == 0)
{
ch= getch();
//printf("%d",ch);
switch(ch)
{
case 75:
gotoxy(wherex()-1,1);
break;
case 77:
gotoxy(wherex()+1,1);
break;
}
} else{
if(isprint(ch) != 0)
{
chr = ch;
printf("%c",chr);
i++;
}else{
if(ch == 8)
{
i=wherex()-1;
chr = 0;
len = strlen(chr);
chr[len+1]=0;
strcat(&chr[0],&chr[i+1]);
printf("%s",chr);
}
}
}
}while(ch != 13)
return 0;
}تم تعديل هذه المشاركة بواسطة matrix007 في 14 أكتوبر 2008 في 00:28
بالنسبة للكود هل هو ناقص؟
أين تعريف wherex() ؟
بامكانك تخزين المسافه الفارغه عن طريق رقم الآىسكي كود 32 او قوسين فارغين ' '
الأخ الكريم/الأخت الكريمة
السلام عليكم ورحمة الله وبركاته
مرحباً بكم في منتدى الفريق العربي للبرمجة
تأسف إدارة المنتدى لغلق الموضوع وذلك لمخالفته قوانين المشاركات. فقرة اختيار عنوان مناسب لمحتوى الموضوع.
قواعد طرح المشاركات
شاكرين لكم حُسن تعاونكم
هذا الموضوع مغلق.