اين الخطأ في هذا الكود
2 مشترك
صفحة 1 من اصل 1
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: اين الخطأ في هذا الكود
من أنا حتي اجيب على سؤال وضعته
في منتدى أنا مزلت أتتلمذ عندهم
في منتدى أنا مزلت أتتلمذ عندهم
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: اين الخطأ في هذا الكود
هل هذا هو الجواب
يقول المثل العربي تجد في النهر ما لا تجده في البحر
لاغنى عن اي احد وحتى من وضع البرمجة في الاصل ممكن يصيب وممكن يخطأ
لهذا اعتبرك استاذي
مع العلم ان بعض المداخلات قد طرحت اشكالها في ذاك المنتدى ولم اجد مبتغاي الا بعد ما وضعتها في هذا المنتدى وكان الحل من عندك
وعندما اقول هذا.
لانا لا اقلل من خبرة الكفاءات الموجودة بمنتديات الدلفي للعرب حاشا انا ايضا تعلمت منه واستفدت منه الكثير
يقول المثل العربي تجد في النهر ما لا تجده في البحر
لاغنى عن اي احد وحتى من وضع البرمجة في الاصل ممكن يصيب وممكن يخطأ
لهذا اعتبرك استاذي
مع العلم ان بعض المداخلات قد طرحت اشكالها في ذاك المنتدى ولم اجد مبتغاي الا بعد ما وضعتها في هذا المنتدى وكان الحل من عندك
وعندما اقول هذا.
لانا لا اقلل من خبرة الكفاءات الموجودة بمنتديات الدلفي للعرب حاشا انا ايضا تعلمت منه واستفدت منه الكثير
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: اين الخطأ في هذا الكود
يتم أخذ القرار حسب القيم الموجوده في المتغيرات الثلاث
xCda,xCdb,xCdd
مع سابقهم من القيم الموجودة في الحقول والتي أسندت اليهة فيما سبق
بمعنى أننا نقارن القيمة الاولى مع الثانية في نفس الحقل وهكذا مع القيم الباقية
وهذا حسب الكود الذي وضعته
===================================================
procedure TFrmCalc.Button1Click(Sender: TObject);
Var
xCda,xCdb,xCdd:string;
Blq:Boolean;
tot:Double;
begin
with DM do
begin
Table1.first;
xCda:=Table1Cda.asstring;
xCdb:=Table1Cdb.Asstring;
xCdd:=Table1Cdd.Asstring;
http://Table1.next; // ليس له أهية
http://Table1.First; // ليس له أهية
while not (Table1.eof) do
begin
// If Table1.Active=False then // غير ممكن
// begin
{
هذا الشرط لن يتحقق
واذا تحقق سيحدث خطأ من البداية
أعتقد أن هذا خطأ برمجي وغير جائز بتاتا
هذا حسب علمي
وظهور هذه الرسالة
Table1 : Imossible d' effectuer cette opération sur un ensembe de données fermé.
من المستحل اسناد هذه العملية الأن المعطيات في حالة اغلاق
وهذا اذا كان تابل غير نشط أي مغلق
واذا كان غير مقلغ لن يحدث شيء
}
If(Table1Cda.asstring=xCda)and(Table1Cdb.Asstring=xCdb)and
(Table1Cdd.Asstring=xCdd)then
begin
// اذا تساو ى القيم الثلاث مع سابقهم من القيم وهم
http://Table1Cda.Asstring=xCda و Table1Cdb.Asstring=xCdb و Table1Cdd.Asstring=xCdd
// قم بعملية الجمع
tot:=Table1MT.value+tot;
end
else If((Table1Cda.asstring=xCda)and(Table1Cdb.Asstring=xCdb))or
(Table1Cdd.Asstring<>xCdd)then
begin
// اذا تساوت القيمتان مع سابقهما وهما
// Table1Cda.Asstring=xCda و Table1Cdb.Asstring=xCdb
// اسند القيمة الحالية للحقل ام تي الى المتغير توت
tot:=Table1MT.value;
Table1.Next;
end
else
begin
// Table1.Prior; // ليس له أهية
Table1.edit;
Table1MTot.VALUE:=tot;
tot:=Table1MT.value;
Table1.Next;
end;
//end;
xCda:=Table1Cda.asstring;
xCdb:=Table1Cdb.Asstring;
xCdd:=Table1Cdd.Asstring;
Table1.Next;
end;
end;
end;
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: اين الخطأ في هذا الكود
اعتذر عن الخطأ ما كنت اقصد بـ
// If Table1.Active=False then // غير ممكن
// begin
بل كنت اقصد بإذا كان الحقل المسمى active يساوي False
If Table1Active.value=False then
begin
// If Table1.Active=False then // غير ممكن
// begin
بل كنت اقصد بإذا كان الحقل المسمى active يساوي False
If Table1Active.value=False then
begin
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: اين الخطأ في هذا الكود
أعتقد لأن مطابقت الصورة مع نتيجة تنفيذ الكود قد تمت فعلا
ودليل هناك صورة مرفقة تثبت ذلك
- الكود:
procedure TFrmCalc.Button1Click(Sender: TObject);
Var
xCda,xCdb,xCdd:string;
Blq:Boolean;
tot:Double;
begin
with DM do
begin
Table1.first;
xCda:=Table1Cda.asstring;
xCdb:=Table1Cdb.Asstring;
xCdd:=Table1Cdd.Asstring;
while not (Table1.eof) do
begin
If Table1Active.value=False then
begin
If(Table1Cda.asstring=xCda)and(Table1Cdb.Asstring=xCdb) and
(Table1Cdd.Asstring=xCdd)then
begin
tot:=Table1MT.value+tot;
end
else
begin
Table1.edit;
Table1MTot.VALUE:=tot;
Table1.Next;
tot:=Table1MT.value;
end;
xCda:=Table1Cda.asstring;
xCdb:=Table1Cdb.Asstring;
xCdd:=Table1Cdd.Asstring;
end
else tot:=Table1MT.value;
Table1.Next;
end;
end;
end;
.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: اين الخطأ في هذا الكود
انا منيش فاهم وشنه
ولكن الكود عمل كما في صورة
ذلك بتغير الكود فليلا ووضع القيم في الجدول لتحقيق النتيجة
التي طلبتها أنت وهي أن يحقق الكود البرمجي ما هو ظاهر في الصورة
وهو سؤال غريب
ملاحظة
يجب عليك أي كود برمجي تريد
أن تكتبه أن تفهم مليح
وتحاول ان تفهم الكود خطوة خطوة وماذا تريد ان يعمل
ولكن الكود عمل كما في صورة
ذلك بتغير الكود فليلا ووضع القيم في الجدول لتحقيق النتيجة
التي طلبتها أنت وهي أن يحقق الكود البرمجي ما هو ظاهر في الصورة
وهو سؤال غريب
ملاحظة
يجب عليك أي كود برمجي تريد
أن تكتبه أن تفهم مليح
وتحاول ان تفهم الكود خطوة خطوة وماذا تريد ان يعمل
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: اين الخطأ في هذا الكود
يجب ان تصع صور أو شرح
مفصل تبين في كل الاحتمالات الممكنة التي يعالجها
برنامجك حتي اتمكن من مساعدتك ان امكن ذلك
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: اين الخطأ في هذا الكود
لا أستطيع مساعدتك حتى تضع
5 صور مختلفة أو أكثر حتى تتضح الفكرة و الفكرة هي في رأسك أنت
اذا استطعت أن تجسدها في الواقع سافهمها انا وغيري كذلك
واتغير فيها قيم المتعيرات
Cda
و
Cdb
و
Cdd
وتغير كذلك Active
اذا استطعت ان تفهم قصدي ساجيب على سؤالك
أنا لم أستطع أن أفهم فكرتك هذه
مانيش فاهم واش راك الددور
حتى أن فكرة الصورة الاولى تختلف عن فكرة الصورة الثانية
5 صور مختلفة أو أكثر حتى تتضح الفكرة و الفكرة هي في رأسك أنت
اذا استطعت أن تجسدها في الواقع سافهمها انا وغيري كذلك
واتغير فيها قيم المتعيرات
Cda
و
Cdb
و
Cdd
وتغير كذلك Active
اذا استطعت ان تفهم قصدي ساجيب على سؤالك
أنا لم أستطع أن أفهم فكرتك هذه
مانيش فاهم واش راك الددور
حتى أن فكرة الصورة الاولى تختلف عن فكرة الصورة الثانية
- الكود:
b
if Image >= 5 then
Yes
else
No;
d.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: اين الخطأ في هذا الكود
انظر الى هذا الموضوع
هل حل المشكل وشكرا
.
- الكود:
i: integer;
procedure TFrmCalc.btnCalcClick(Sender: TObject);
type
TMto = array of Double;
Tcd = array of String;
var
Mtot, MT: TMto;
cdd, cdb, cda: Tcd;
j: integer; tot: Double;
Cont: integer;
begin
i := 0;
with DM do
begin
Cont := Table1.RecordCount;
SetLength(Mtot, Cont);
SetLength(MT, Cont);
SetLength(cdd, Cont);
SetLength(cdb, Cont);
SetLength(cda, Cont);
Table1.DisableControls;
try
Table1.First;
while not table1.Eof do
begin
if not Table1Active.value then
MT[i] := Table1mt.Value;
cdd[i] := Table1cdd.AsString;
cdb[i] := Table1cdb.AsString;
cda[i] := Table1cda.AsString;
i := i + 1;
Table1.Next;
end;
finally
Table1.EnableControls;
end;
end;
tot := Mt[0];
for j := 1 to Cont-1 do
begin
if(cdd[j-1]=cdd[j])and(cdb[j-1]=cdb[j])and(cda[j-1]=cda[j])then
tot := tot + MT[j]
else
begin
Mtot[j-1] := tot;
tot := Mt[j];
end;
end;
Mtot[j-1] := tot;
with DM do
begin
Table1.DisableControls;
try
Table1.First;
for j := 0 to Cont-1 do
begin
Table1.Edit;
if Mtot[j] = 0 then Table1Mtot.Text := ''
else Table1Mtot.Value := Mtot[j];
Table1.Next;
end;
finally
Table1.EnableControls;
end;
end;
end;
هل حل المشكل وشكرا
.
علي- زائر
رد: اين الخطأ في هذا الكود
بارك الله فيك اخي وفيكم جميعا
وجمعة مباركة بحول الله وقوته
وجمعة مباركة بحول الله وقوته
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
مواضيع مماثلة
» اين الخطأ في هذا الكود
» هذا الكود يحول بعض خصائص كل العناصر الموضوعة على النموذج (Form) الى كود برمجي .
» هذا الكود يحول بعض خصائص كل العناصر الموضوعة على النموذج (Form) الى كود برمجي .
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى