المشاركات : 115
المواضيع 10
:
: 0
الإنتساب : Feb 2008
و عليكم السلام و رحمة الله
أنا هنا لكنك لم تجبني فيما كتبت
إقتباس : اقتباس:
وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:00 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:00 وتنتهي على الساعة 05:00
ملاحظة أولية خطأ في السطرين الأخيرين و الصواب
وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:01 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:01 وتنتهي على الساعة 05:00
من تشبه بقوم فهو منهم
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
مهدي كتب : و عليكم السلام و رحمة الله
أنا هنا لكنك لم تجبني فيما كتبت
السلام عليكم أعذرني لم انتبه
ظننتك وجدت الخطأ وأصلحته وأن ما كتبته هو انك حذرتني من الخطأ
وسأشرح لك
الصواب هو :
وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:01 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:01 وتنتهي على الساعة 05:00
ملاحظة أخرى
كيف يمكن للساعة ان تخرج في ورقة الطباعة بهذا الشكل
00:00 بدلا من 00:00:00
وكيف يمكن للتاريخ ان يخرج في ورقة الطباعة على هذا الشكل
01/01/2008 بدلا من 2008/01/01
المشاركات : 115
المواضيع 10
:
: 0
الإنتساب : Feb 2008
و عليكم السلام و رحمة الله
إقتباس : كيف يمكن للساعة ان تخرج في ورقة الطباعة بهذا الشكل
00:00 بدلا من 00:00:00
هل تريد إلغاء حساب الثواني ؟
إقتباس : وكيف يمكن للتاريخ ان يخرج في ورقة الطباعة على هذا الشكل
01/01/2008 بدلا من 2008/01/01
يمكنك تغيير شكل التاريخ من الإعدادت الإقليمية في لوحة التحكم
بدلا من dd-MM-yyyy اكتب yyyy-MM-dd
من تشبه بقوم فهو منهم
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
السلام عليكم ورحمة الله تعالى وبركاته
وصباح الخير
نعم **** إلغاء حساب الثواني حتى تظهر الساعة بأربعة ارقام في الطباعة بدلا من ستة ارقام
أما بالنسبة للتاريخ
فانا اعرف بان التغيير يكون في لوحة التحكم
لكن ما ****ه هو ان التغيير يكون داخل البرنامج لكي حتى ولو كان في الويندوز يظهر من اليسار الى اليمين لا بد من اظهاره في البرنامج من اليمين الى اليسار
وشكرًا
المشاركات : 115
المواضيع 10
:
: 0
الإنتساب : Feb 2008
و عليكم السلام و رحمة الله و بركاته
إقتباس : لماذا هذه النجوم التي تظهر في مكان بعض الكلمات
توجد بعض الكلمات محظورة في المنتدى
إقتباس : لكن ما ****ه هو ان التغيير يكون داخل البرنامج لكي حتى ولو كان في الويندوز يظهر من اليسار الى اليمين لا بد من اظهاره في البرنامج من اليمين الى اليسار
إليك هذا المثال الذي يحدث التغيير الذي أردته و ذلك لإستعمال كائن TButton و كائنين من TEdit
كود :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Edit1.Text:=IntToStr(Year)+'-'+IntToStr(Month)+'-'+IntToStr(Day) ;
DecodeTime(Present, Hour, Min, Sec, MSec);
Edit2.Text:=IntToStr(Hour) + ':'+ IntToStr(Min)
end;
end.
من تشبه بقوم فهو منهم
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
شكرًا جزيلاً وسأرى بعد التجربة وأخبرك
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
السلام عليكم ورحمة الله تعالى وبركاته
الأكود الذي تمت به التجربة وحولته هو الملف المرفق من طرفكم
DATE_HEURE_correct
لقد حولته من DateTimePicker إلى DBedit
ولم افلح (اين الخطأ يا ترى)
لابد من الإطلاع على المرفق وتبيين الخطأ أين يكمن
وتصحيحه من فضلكم
المشاركات : 334
المواضيع 83
:
: 17
الإنتساب : Feb 2008
و عليكم السلام ورحمة الله تعالى وبركاته
الخطأ هو
كود :
table3.fieldByName('HR_DEP1').asdateTime:=table3.fieldByName('DT_DEP1').asdateTime;
table3.fieldByName('HR_ARV1').asdateTime:=table3.fieldByName('DT_ARV1').asdatetime;
في حين:
DT_DEP1, DT_ARV1: Date
HR_DEP1, HR_ARV1: Time
لمعالجة الوضعية (أؤكد أنها تتغير حسب المبرمج، البرنامج، ...) تستطيع استعمال هذه الطريقة:
اللون الأزرق يعبر عن التعديل
كود :
procedure TForm1.Calcul1Click(Sender: TObject);
var t1,t2,
[color=Blue] t01,t02[/color] : tdatetime;
i,j : integer;
AYear,AMonth,ADay : word;
[COLOR=Blue] function TheTime(AYear,AMonth,ADay:word ;heure:string):tdatetime;
var Hour,Min,Sec,MSec : Word;
begin
DecodeTime(strtotime(heure),Hour,Min,Sec,MSec);
Result := EncodeDateTime(AYear,AMonth,ADay,Hour,Min,Sec,MSec);
end;[/COLOR]
begin
i:=DaysBetween(table3.fieldByName('DT_DEP1').asdateTime,table3.fieldByName('DT_ARV1').asdatetime);
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,
AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
14,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,
AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
11,01,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if [color=Blue]t02[/color]>=t2 then
j:=j+1;
table3.Edit;
table3.FieldByName('Nb_RPJ1').asInteger:=(i-1+j);
table3.Post;
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
21,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
18,00,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if [color=Blue]t02[/color]>=t2 then
j:=j+1;
Table3.edit;
table3.FieldByName('Nb_RPM1').asInteger:=(i-1+j);
table3.post;
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
05,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
00,00,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if ([color=Blue]t02[/color]>t2) then
j:=j+1;
table3.edit;
table3.FieldByName('N_Che1').asInteger:=(i-1+j);
table3.FieldByName('N_RP1').AsInteger:=Table3.fieldbyname('Nb_RPJ1').AsInteger + table3.fieldbyname('Nb_RPM1').AsInteger;
table3.Post;
end;
بالنسبة للإدخال في الجدول حاول دائما الإدخال مرة واحدة.
كود :
table3.Edit;
table3.FieldByName('Nb_RPJ1').asInteger:=(i-1+j);
table3.FieldByName('Nb_RPM1').asInteger:=(i-1+j);
table3.FieldByName('N_Che1').asInteger:=(i-1+j);
table3.FieldByName('N_RP1').AsInteger:=
Table3.fieldbyname('Nb_RPJ1').AsInteger + table3.fieldbyname('Nb_RPM1').AsInteger;
table3.Post;
ملاحظة: الحل المقترح مع انه يقوم بما تريد إلا أنه ليس نهائي تستطيع دائما التحسين
ننتظر النتيجة ، و بالتوفيق
الملفات المرفقة
FRAIS_DEPL_Correct.zip (الحجم : 370.55 ك ب / التحميلات : 69)
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
شكرًا جزيلاًا هذا هو المطلوب وجزاكم الله عنا كل خير
ووفقكم لما فيه الخير
متمنيين من المولى عز وجل ان يضع اعمالكم هذه في ميزان حسناتكم