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

سؤال في الدلفي

مغلق
بدأه TronicBrain في 14 يوليو 2005 · 5 رد · 881 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة أرجو أن أجد الحل عندكم

أحاول أن أكتب برنامج لايجاد مربع عدد صحيح و من ثم طباعة الناتج

لم أحد أي اجرائية لتحويل الناتج من النمط Extended إلى النمط Str

فحاولت أكتب تابع فرعي لأداء المهمة

Function  Extendedtostr (value : Extended): String;
var C,i : integer;
begin
i:=10;
Result:='';
While Value > 0 do begin
c:= Value mod i;
Result := Result + inttostr (c);
Value := Value div i;
i := i*10;
end;

رغم ذلك لم أنجح

حتى أن المتحول من نوع Extended لا أستطيع اجراء عملية القسمة عليه

و لم أفهم لماذا

وشكراً

تم تعديل هذه المشاركة بواسطة TronicBrain في 14 يوليو 2005 في 03:34

#2

غريب رغم ان هناك الدالة القياسية

function FloatToStr(Value: Extended): string

بالتالي ليس هناك من سبب اساسا لكتابة (تابعك الخاص )

يعني أن البارامتر الذي كنت سترسله الى تابعك ارسله الى التابع المبين اعلاه مثال

.....
var  value : Extended;
procedure TForm1.Button2Click(Sender: TObject);
  var s:string;
begin
    s:=FloatToStr(value);
end;

واذا اردت الحصول على الجزء الصحيح من البارمتر value هناك الدوال Trunc,int وإذا اردت الحصول على الجزء الكسري (أي ما بعد العلامة ) هناك الدالة Frac ادخل الى Help وابحث عن الدوال(التوابع المذكورة ) وسترى امثلة ممتازة عليها

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#3

عفوا تسرعت بإضافة الرد

اقتباس
حتى أن المتحول من نوع Extended لا أستطيع اجراء عملية القسمة عليه

هل قصدت هذه القسمة

c:= Value mod i;

اذا كانت اجابتك بنعم فانت محق لان ال mod , div لايقبلان التعامل الا مع الاعداد الصحيحة اصلا عملية ايجاد باقي القسمة لا معنى لها إذا كنا نتعامل مع الاعداد الحقيقية (اعداد ذات علامة عشرية ) ادخل الhelp وابحث عن mod

اما اذا كنت تقصد عملية القسمة العادية فهي تعمل بلا مشاكل تعامل معها و كانها real

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#4

بدلا من

Value := Value div i;

تصبح :

Value := Value / i;

ونستخدم كما تفضل Romanof الدالة floattostr لإرجاع القيمة النصية

جربها وإذا حصل مشاكل أو شيء لاتتردد بطرح استفسار

#5

شكراً جزيلاً لكم أخواني على الاجابة :)

في الحقيقة أنا بدأت التعلم على بيئة دلفي منذ فترة قصيرة

و أنا الان أحاول أن أجمع بعض المعلومات الأساسية حول اللغة

سوف أقوم بمحاولة البحث في ال Help عن معلومات أكثر

شكراً مرة ثانية أخواني و انتظروا مني المزيد من الأسئلة :)

#6
اقتباس
في الحقيقة أنا بدأت التعلم على بيئة دلفي منذ فترة قصيرة

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

ومبروك على المنتدى زيادة الاعضاء

اقتباس
جربها وإذا حصل مشاكل أو شيء لاتتردد بطرح استفسار

بالفعل هذا هو شعارنا

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

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

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