الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

للفائدة : تحويل التاريخ من ميلادي الى هجري

مغلق
بدأه ابوهاني في 10 نوفمبر 2001 · 16 رد · 10,918 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

function GregToHijri(Date: TDateTime): String;
var
GregDate: TSystemTime;
HigriText: array[0..127] of Char; {For Hijra date}
begin
DateTimeToSystemTime(Date, GregDate);
GetDateFormat(0, DATE_USE_ALT_CALENDAR, @GregDate, 'dd/MM/yyyy', HigriText, 128);
Result := StrPas(HigriText);
end;

ومن لديه داله تحويل التاريخ الهجري الى ميلاد فليتفضل مشكورا بنشرها

تحياتي

#2

شكراً عزيزي..

لقد كنت ابحث منذ زمن طويل عن مثل هذا الكود حتى عثرت عليه هنا بفضلك...

ولكني للأسف جربته إلا أنه لم يعمل ، فهو يرجع لي نفس قيمة التاريخ الميلادي!!

#3

اخي الكريم

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

مثال :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    function GregToHijri(Date: TDateTime): String;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function Tform1.GregToHijri(Date: TDateTime): String;
var
GregDate: TSystemTime;
HigriText: array[0..127] of Char; {For Hijra date}
begin
DateTimeToSystemTime(Date, GregDate);
GetDateFormat(0, DATE_USE_ALT_CALENDAR, @GregDate, 'dd/MM/yyyy', HigriText, 128);
Result := StrPas(HigriText);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := GregToHijri(StrToDate(Edit1.Text))
end;

end.

وتجد ايضا مثال مرفق .

تقبل تحياتي

gtoh.zip

#4

مشكور جداً أخ أبو هاني :D

#5

أخي أبو هاني

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

#6

اخي الكريم jrahma

غريبة ، لماذا لم يعمل ؟

وما هو الخطأ الذي ظهر لديك ؟ وهل جربت المثال المرفق مع الرد ؟

وارجو ايضا من الاخوة الذين قاموا بتحميل المثال ان يبلغونا هل واجهوا مشكلة مع الدالة ، لانها تعمل معي وبدون مشاكل .

#7

ابو هاني مساك الله بالخير

نزلت المثال وجربتة ... وحصل معاي مثل ما حصل مع الأخ jrahma

يعطيني نفس قيمة التاريخ الميلادي!!

delphi 6 + xp

تحيااااااااااااتي

#8

السلام عليكم

شكرا أخي ابو هاني على هذه الدالة الرائعة ، تعمل لدي بشكل ممتاز .

#9

اذا ممكن اخوي ادمن ايش نضام التشغيل عندك؟

اخوي ابو هاني ممكن علشان نضام التشغيل عندي

xp معرب ...والتاريخ عندي بجانب الساعة ميلادي فقط

ولا يوجد هجري ..!

#10

:D

لقد عمل معاي بنجاح ..وذالك بعد تغيير اعدادت الوقت والتاريخ الى العربية

من اعدادات اللغة في لوحة التحكم

الأن اقدر اقول الله يعطيك العافية يا ابو هاني على هذة الدالة الأكثر

من ممتازة

تحياااااااااااااااااتي

#11

غريبة انه لم يعمل ، فقد عمل معي بدون رغم ان الويندوز عندي XP انجليزي والتاريخ ميلادي ، وقد غريت التاريخ الى هجري وايضا اشتغل .

على العموم تجدون مع المرفقات دالة اخرى وهي من انتاج اخونا كفاح واظن انها سوف تعمل مع الكل بدون مشاكل

تقبلوا تحياتي

hijri.zip

#12

السلام عليكم

النظام لدي وندوز xp والدلفي الاصدار السادس

#13

يا شباب

ما اظن فكرة حلوة انك تلعب في إعدادات اللغة الكمبيوتر المستخدم بس علشان اتشغل برنامجك!!! يمكن هو ما يحب تغييرها أو في برامج ثانية تتأثر بالتغيير.

المفروض -كمبرمج- أن أضمن للمستخدم أن برنامجي ما يؤثر على بقية البرامج الموجودة على جهازه تأثير سلبي.

لهذا السبب أفضل استخدام المعادلات الفلكية والحسابية اللي تستطيع تحصل عليها من الخبراء الفلكيين.

مع الشكر للجميع

#14

هناك اداة تجدونها في موقع الاخ كفاح نجم

رائعة وتفي بالغرض

للتحويل بين الهجري والميلادي

#15

اتفق معك اخي jrahma في نقطة تغيير اعدادت النظام لدى المستخدم ، حيث لا يحق لك كمبرمج ، ان تغير في اعدادات النظام .

والدوال اعلاه تعمل دون أي تغيير في اعدادات النظام .

ارجو اولا تجربة برنامج المنفذ على هيئة EXE والذي تجده مرفقا في هذه المشاركة حتى تتاكد بنفسك بانها تعمل دون ان تغير في اعدادت النظام.

ومن ثم يمكنك الاطلاع على الكود .

اشكرك اخي رضا على التنويه ، والمكون الموجود في موقع ملتقى المبرمجين العرب مكون ممتاز واحترافي وانصح الاخوة بتجربته ، وجميع الدوال السابقة من نفس الموقع وقد اشرت الى ذلك عند عرضها.

تقبلوا تحياتي

gtoh.zip

#16

ابو هاني جربت الملف الأخير ونفس المشكلة .. !

انا متأكد ان المشكلة في اجهزتنا وليس في البرنامج

وعلى فكر الملف الجديد يطلع التاريخ في الجهتين ميلادي

واذا غير اعدات اللغة صار عربي في كل الجهتين .. لا يوجد تحويل

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

ملاحظة : انا كان عندي مشاكل في اللغة وحايس في الجهاز والمحارف وكل

شي يتعلق باللغة ... يمكن هذا السبب ..!

حايس = مغير

#17

:(:o

حاجة غريبة فعلا :rolleyes:

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…