About

الخميس، 8 مارس 2012

كيفية انشاء قاعدة بيانات بالكود في كليبر

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

الموضوع : انشاء ملف بيانات وهيكلتة بالكود وبدون الـ DataBase Utility
سيتم الشرح من خلال المثال التالي




ندخل علي شاشة الكود
البرنامج مكون من شاشة واحدة
بها الكود التالي

fieldname = space(10)
typef = space(1)
lenf = 000
dec = 0

       set color to "w/w,w/w"
cls
set color to "bg/bg,bg/bg"
@0,0 say space (80)
set color to "n/w,n/w"
@0,32 say "create database"
shadow (3,9,10,70,"r/r,r/r")
set color to "bg+/n,bg+/n"
@3,9 to 10,70 
set color to "g+/r,g++,r"

@5,15 say "field name:" get fieldname 
@5,38 say "  type:" get typef
@7,15 say "     Width:" get lenf
@9,15 say "       dec:" get dec
read

        CREATE tempstrc
        APPEND BLANk
        REPLACE Field_name WITH fieldname,;
           Field_type WITH typef,;
           Field_len WITH lenf,;
           Field_dec WITH dec
        CLOSE
        CREATE db1 FROM tempstr



اليكم شرح الكود
سنجزء الكود لنتمكن من شرحة


fieldname = space(10)
typef = space(1)
lenf = 000
dec = 0


بنحجز في الذاكرة 4 متغيرات
الاول لاسم الحقل والثاني لنوعة والثالث لطولة والرابع لضبطة في حالة ان الحقل بة رقم عشري

set color to "w/w,w/w"
cls
set color to "bg/bg,bg/bg"
@0,0 say space (80)
set color to "n/w,n/w"
@0,32 say "create database"
shadow (3,9,10,70,"r/r,r/r")
set color to "bg+/n,bg+/n"
@3,9 to 10,70 
set color to "g+/r,g++,r"


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

@5,15 say "field name:" get fieldname 
@5,38 say "  type:" get typef
@7,15 say "     Width:" get lenf
@9,15 say "       dec:" get dec
read


بكتب اسم الحقل ثم بسائل المستخدم عنة واخد القيمة التي سيكتبها المستخدم وتتخزن داخل المتغيرات التي قمنا بعملها في بداية الكود
ناتي الان الي كود انشاء ملف البيانات

CREATE tempstrc
      APPEND BLANk
           REPLACE Field_name WITH fieldname,;
           Field_type WITH typef,;
           Field_len WITH lenf,;
           Field_dec WITH dec
      CLOSE
CREATE db1 FROM tempstrc


قلت في السطر الاول انشئ لي ملف بيانات باسم TempStrc 
لية سميتة بالاسم دة؟
علي عموم مش حتفرق سمية باي اسم
ولكن هذا الاسم يدل علي ان هذة القاعدة مؤقتة الهدف منها بناء هيكل قاعدة البيانات
بعد ان انشائت هذا الملف حنضيف بة سجل جديد
هو جدول عشان نضيف فية سجل ؟ لا
حنضيف فية حقول وكل حقل حنعطي لة قيمة
وهم 4 حقول تم انشائهم
fieldname ووضعنا بداخلة قيمة المتغير field_name
وهكذا
ثم اغلقنا ملف البيانات
 ثم في السطر الاخير من الكود قولت انشئ قاعدة البيانات او ملف البيانات DB1
 وخذ الهيكل الخاص بة من ملف البيانات  Tempstrc


تعالو نجرب البرنامج
عاوزين ننشئ ملف بيانات بة 
 حقل اسمة  name
 نوعة char
 طولة 30


حنلاحظ بعد ذلك ظهور ملفين بيانات بمجلد المشروع كما يلي
قاعدة البيانات المؤقتة التي انشئتها بعرض فقط هيكلية قاعدة البيانات الاخري التي اريد انشائها
والتي اسمها
DB1




 طيب تعالو نستخدم الـ  DBU
ونشوف اية الي حصل
ندخل علي قاعدة البيانات المؤقتة حنجد انة تم عمل 4 حقول وحفظ مواصفات الحقول الاربعة بتلك الحقول كما يلي






 ملحوظة لو عاوز نوع الحقل نصي اكتب C
 لو عوزة رقمي اكتب n
ممكن تحزف بعد ذلك ملف البيانات المؤقت
ويوجد طرق اخري لانشتاء قاعدة بيانات بالكود 

تعالو معي نري كيف يمكنني حزف هذا الملف
كود البرنامج


fieldname = space(10)
typef = space(1)
lenf = 000
dec = 0

        set color to "w/w,w/w"
cls
set color to "bg/bg,bg/bg"
@0,0 say space (80)
set color to "n/w,n/w"
@0,32 say "create database"
shadow (3,9,10,70,"r/r,r/r")
set color to "bg+/n,bg+/n"
@3,9 to 10,70 
set color to "g+/r,g++,r"

@5,15 say "field name:" get fieldname 
@5,38 say "  type:" get typef
@7,15 say "     Width:" get lenf
@9,15 say "       dec:" get dec
read

        CREATE tempstrc
        APPEND BLANk
        REPLACE Field_name WITH fieldname,;
           Field_type WITH typef,;
           Field_len WITH lenf,;
           Field_dec WITH dec
        CLOSE
        CREATE db1 FROM tempstrc

tempf = FILE("TEMPSTRC.DBF")         
if tempf = .t.
        ERASE TEMPSTRC.DBF
end if

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


tempf = FILE("TEMPSTRC.DBF")         
if tempf = .t.
        ERASE TEMPSTRC.DBF
end if



 شرح الكود بقول ضع لي في المتغير Tempf  القيمة العائدة من الدالة FILE 
تعالي نتعرف علي هذة الدالة
صيغتها

FILE("  اسم الملف  ")


 لو وجد الملف فعلا حتكون القيمة العائدة هي .t.
اما لو لم يجد الملف حتكون القيمة العائدة من الدالة هي .f. 
فبقول لو القيمة العائدة التي خزنت في المتغير tempf   تساوي .t.
 امسح الملف الذي اسمة TEMPSTRC.DBF

وبكدا نكون تمكنا من مسح ملف البيانات المؤقت
منتظر اسئلتكم 
وشكرا  


2 التعليقات:

atb.brahim31 يقول...

شكرا

atb.brahim31 يقول...

كيف يتم تجميع الملف tmpstrc

إرسال تعليق

Twitter Delicious Facebook Digg Stumbleupon Favorites More