السلام عليكم ورحمة الله ..... اخواني لدي مشكلة في تصدير البيانات من كائن StringGrid .
انا آخذ قيم من الكائن واقوم بوضعها في قاعدة البيانات عن طريق ADOTable
PHP كود :
procedure TForm12.Button2Click(Sender: TObject); var c,r:Integer; nomjour,tempstart,codeprof,codemat:string; begin for c := 1 to 5 do begin for r := 1 to 8 do begin case c of 1:nomjour:='الأحد'; 2:nomjour:='الاثنين'; 3:nomjour:='الثلاثاء'; 4:nomjour:='الأربعاء'; 5:nomjour:='الخميس'; end; begin case r of 1:tempstart:='08:00'; 2:tempstart:='09:00'; 3:tempstart:='10:00'; 4:tempstart:='11:00'; 5:tempstart:='12:00'; 6:tempstart:='14:00'; 7:tempstart:='15:00'; 8:tempstart:='16:00'; end; end; codeprof:=StringGrid1.Cells[c,r]; codemat:=copy (codeprof,1,3);
السلام عليكم
1- تحقق من قيمة codeprof
2- البيانات تكتبها بجدول له علاقة بجدول أخر، تحقق من العلاقة
3- الكود كما هو فوق خطأ فهو يكتب سجل/سطر/توقيت واحد فقط
أستاذ عبد العزيز , بقي لدي مشكل في تحديد الايام والساعات في الحلقة الأولى والثانية Case ؟
فهو يقوم بأخذ آخر قيم .... يأخذ مثلا الأحد أو الخميس او الوقت 8:00 او 16:00 في تحديد الخلية ؟
PHP كود :
procedure TForm12.Button2Click(Sender: TObject); var c,r:integer; jour,temp,codeprof,codemat:string; begin //الحلقة الاولى for c := 1 to 5 do begin //الحلقة الثانية for r := 1 to 7 do begin //بداية حلقة الأيام case c of 1:jour:='الأحد'; 2:jour:='الاثنين'; 3:jour:='الثلاثاء'; 4:jour:='الأربعاء'; 5:jour:='الخميس'; end; //نهاية حلقة الأيام begin //بداية حلقة الوقت المتداخلة case r of 1:temp:='08:00'; 2:temp:='09:00'; 3:temp:='10:00'; 4:temp:='11:00'; 5:temp:='14:00'; 6:temp:='15:00'; 7:temp:='16:00'; end; //نهاية حلقة الأيام end; //الخروج من حلقة الوقت
end; //الخروج من حلقة الأيام codeprof:=DBLookupComboBox6.Text; // codeprof:=StringGrid1.Cells[c,r]; codemat:=copy (codeprof,1,3); // codemat:=Copy ADOTable1.Edit; // ADOTable1.FieldByName('codeprof').Value:=codeprof; ADOTable1codeprof.Value:=DBLookupComboBox6.Text; ADOTable1.FieldByName('codemat').Value:=codemat; ADOTable1.FieldByName('nomjour').Value:=jour; ADOTable1.FieldByName('tempstart').Value:=temp; ADOTable1.FieldByName('codeclasse').Value:= DBLookupComboBox1.Text; ADOTable1.FieldByName('nomlocale').Value:= DBLookupComboBox3.Text; ADOTable1.FieldByName('annee').Value:= DBEdit1.Text; ADOTable1.Post;
end; //الخروج من الحلقة الثانية end; //الخروج من الحلقة الأولى
(26-01-2016, 01:00 PM)B.M.AbdelAziZ كتب : هل StringGrid يحتوي توقيت واحد فقط ؟ يعني خلية وحدة كما بالصورة ؟
[size=large]لا ... هو يحتوي على توقيت أسبوع كامل ... لكن عند الضغط على الخلية , اقوم بإضافة الاستاذ عن طريق الزر حجز الذي يحتوي على هذه التعليمة : [/size]
PHP كود :
procedure TForm12.Button1Click(Sender: TObject); var c,r:integer; begin c:=StringGrid1.Col; r:=StringGrid1.Row; StringGrid1.Cells[c,r]:=DBLookupComboBox6.Text;
end;
[size=large]فيقوم بحجز ترميز الاستاذ كما هو المثال في الصورة عربية1 (ARB1) وهكذا نقوم بالعمل على بقية الحصص ؟[/size]