المحتوى

29‏/09‏/2008

برنامج لعمل فلتر لأنواع الملفات

السلام عليكم

هذا أيضا أحد البرامج التي نثرت للتو عنها الغبار , غبار سنتين لم أفتحه فيها إلى اليوم , وقصة عملي لهذا البرنامج أن أحد أصدقائي يريد حذف امتدادات معينة من عدة مجلدات فكان يريد حذف الصور الموجودة في جهازة , فخطرة لي فكرة هذا البرنامج وهو يقوم بحذف نوع معين من الملفات في المسار الذي يحدده المستخدم , وبالامكان برمجته بسهوله ليقوم بعدة مهام أخرى , وقد أسميته sbr_filter_v1

إن كنت تريد تجربة هذا البرنامج (أو أي برنامج يستخدم تقنية الرسم) فيلزمك:
1- برنامج توربوسي++ (لعمل الاختبار)
2- اعدادات الرسم (إن لم تعرفها فستجدها في مقدمة كتابي سلسلة البرمجة المفتوحة)
3- انسخ ملف المكتبة المرفق sbr3_win.h إلى المسار c:\tc\include على حسب مكان التوربوسي في جهازك
4- تأكد من أن مسار مجلد الرسم BGI صحيح

طريقة الاستخدم: قم بوضع البرنامج في المجلد المستهدف
بعد تنفيذ البرنامج سيطلب منك:
أولا: folder , إذا كنت ترغب في الدخول إلى مجلد فرعي فاطبع اسم المجلد وإلا فاضغط على Enter
ثانيا: path , قم بطباعة نوع الملفات المراد حذفها , فمثلا الملفات النصية رمزها txt أما ملفات Word فرمزها doc وأما word 2007 فرمزها docx وهكذا ....

سأقوم بإرفاق ملف التحميل في الأيام القادمة إن شاء الله , لأن اليوم أول أيام العيد , تقبل الله منا ومنكم وكل عام وأنتم بخير

تحويل صورة إلى ملف نصي والعكس -الجزء الثاني-

السلام عليكم
هذا البرنامج مكمل للمقال الذي يسبقه (تحويل صورة إلى ملف نصي والعكس -الجزء الأول-) حيث نقوم هنا بتحويل الملف النصي التالي:
إلى الصورة المقابلة له كالتالي:
يتوجب عليك أولا نسخ المكتبة bitmap.h المرفقة مع البرنامج إلى المسار الجديد c:\tc\include\bitmap.h ثم قم بتحديد مسار الصورة المستهدفة.

لمعرفة المزيد يمكنك الاطلاع على كتابي: سلسلة البرمجة المفتوحة بلغة ++C باستخدام (Turbo C++ 3.0) في كتيب "عرض الصور" , أما الآن فأترككم مع النص المصدري:

#include //stdio.h
#include //conio.h
#include //graphics.h
//كتبت الاستدعاء بهذا الشكل لأن المدونة لاتسمح بعرض الاسهم المعكوفة
/////////////////////////////////////////
#include //bitmap.h external header
/////////////////////////////////////////
void ini_g()
{
int gd= DETECT,gm;
initgraph(&gd,&gm,"c:\\tc\\BGI");
}
/////////////////////////////////////////
char e(int c)
{
char r='x';
switch(c)
{
case 10:r='A';break;
case 11:r='B';break;
case 12:r='C';break;
case 13:r='D';break;
case 14:r='E';break;
case 15:r='F';break;
}
return r;
}
/////////////////////////////////////////
int save_2d_file(char path[60],int start_x,int start_y,int end_x,int end_y)
{
FILE *f;
int r=0,i,j,d=0;
int c[10000];
setcolor(4);
rectangle(start_x,start_y,end_x,end_y);
if ((f = fopen(path,"w")) == NULL)
{
printf("\nCannot open output file.\n");
r=0;
}
else r=1;
for(j=start_y;j< end_y;j++)
{
for(i=start_x;i< end_x;i++)
{
c[d]=getpixel(i,j);
putpixel(i,j,c[d]);
if(c[d]<=9)
fprintf(f, "%d", c[d]);
else fprintf(f, "%c", e(c[d]));
d++;
}
fprintf(f, "\n");
}
fclose(f);
return r;
}
/////////////////////////////////////////
void main()
{
ini_g();
displaybitmap(0,0,"c:\\tc\\box\\1.bmp");
save_2d_file("c:\\tc\\box\\image.txt",0,0,50,50);
getch();
}

تحويل صورة إلى ملف نصي والعكس -الجزء الأول-

السلام عليكم

منذ أكثر من سنتين كنت قد كتبت هذا البرنامج وظل حبيس الذاكرة , حتى كشفت النور عنه الآن , وللعلم فإن أهمية هذا البرنامج كبيرة بالنسبة لي لأنه جزء مهم جدا من عدة مشاريع وبرامج قمت بتنفيذها سابقا , وقد صممته لكي يحول الصور من نوع 16 لون (بيئة دوس) إلى ملف نصي , حيث كل بكسل في الصورة يتم تحويلها إلى رقمها المقابل حيث الأرقام مرتبة من 1 إلى 16 لذا راعيت أن يكون الترقيم هو (hex) من 1 إلى F

فمثلا لنأخذ صورة الدراجة:

يمكنك اقتطاع أي جزء من الصورة كالتالي:
ومن ثم يتم تحويلها إلى:
يتوجب عليك أولا نسخ المكتبة bitmap.h المرفقة مع البرنامج إلى المسار الجديد c:\tc\include\bitmap.h ثم قم بتحديد مسار الصورة المستهدفة.

لمعرفة المزيد يمكنك الاطلاع على كتابي: سلسلة البرمجة المفتوحة بلغة ++C باستخدام (Turbo C++ 3.0) في كتيب "عرض الصور" , أما الآن فأترككم مع النص المصدري:

#include //stdio.h
#include //conio.h
#include //graphics.h
//كتبت الاستدعاء بهذا الشكل لأن المدونة لاتسمح بعرض الاسهم المعكوفة , لذا قم بتصحيح ذلك
/////////////////////////////////////////
#include //bitmap.h external header
/////////////////////////////////////////
void ini_g()
{
int gd= DETECT,gm;
initgraph(&gd,&gm,"c:\\tc\\BGI");
}
/////////////////////////////////////////
char e(int c)
{
char r='x';
switch(c)
{
case 10:r='A';break;
case 11:r='B';break;
case 12:r='C';break;
case 13:r='D';break;
case 14:r='E';break;
case 15:r='F';break;
}
return r;
}
/////////////////////////////////////////
int save_2d_file(char path[60],int start_x,int start_y,int end_x,int end_y)
{
FILE *f;
int r=0,i,j,d=0;
int c[10000];
setcolor(4);
rectangle(start_x,start_y,end_x,end_y);
if ((f = fopen(path,"w")) == NULL)
{
printf("\nCannot open output file.\n");
r=0;
}
else r=1;
for(j=start_y;j< end_y;j++)
{
for(i=start_x;i< end_x;i++)
{
c[d]=getpixel(i,j);
putpixel(i,j,c[d]);
if(c[d]<=9)
fprintf(f, "%d", c[d]);
else fprintf(f, "%c", e(c[d]));
d++;
}
fprintf(f, "\n");
}
fclose(f);
return r;
}
/////////////////////////////////////////
void main()
{
ini_g();
displaybitmap(0,0,"c:\\tc\\box\\1.bmp");
save_2d_file("c:\\tc\\box\\image.txt",0,0,50,50);
getch();
}

برنامج لاستعراض المقرارت الدراسية

السلام عليكم

هذا البرنامج كتبته بلغة السي باستخدام توربوسي++ وفكرة عمله أنه يسمح للمستخدم باستعراض المقررات الدراسة على صورة شجرية بحيث إذا ضغط المستخدم على أحد المواد فسيظهر له المواد التي تفتحها تلك المادة.



وهو حاليا يعرض المقررات الدراسية لقسم الحاسب الآلي (كلية الهندسة جامعة طرابلس) وبإمكانك تعديله لأي قسم آخر , وفي الصورة التالية تظهر القائمة التي اعتمدتها لذلك:






27‏/09‏/2008

افتتاح المدونة

السلام عليكم ورحمة الله

يسرني افتتاح هذه المدونة , أسأل الله أن ينفع بها

البراء الرملي

27-9-2008
الموافق 27 رمضان 1429هـ