delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما طريقة تحول الرقم الى نص ( تفقيط ) ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
ما الطريقة التي يمكن بها اضافة دالة تحول الرقم الى نص كما بالشكل التالي :
كود :
VAR Myint:Integer; self.caption := Myint.tostring
بدلا من استخدام Inttostr نرغب في ان تظهر بمجرد النقر بالنقطة بعد أي متغير
نضيفها بالكود Overload او الى الملف المصدر او الوحدة لا يهم المهم الفكرة
والله الموفق
PHP كود :
function IntToStr(i: Int64): String;
begin
  Str
(i, Result);
end; 
وعليكم السلام ورحمة الله وبركاته
ما سألت عنه يتم بالتوجيه Default الخاصية الافتراضية
كود :
http://www.delphibasics.co.uk/RTL.asp?Name=Default
يمكنك صناعة نمط Integer خاص بك مع تحديد التأشير لرفع الالتباس
PHP كود :
Integer = class
    
FValue: System.Integer;
    function 
ToString: string;
    public
      
property Value: System.Integer read FValue write FValue; //default;  //default for Indexed table
  
end;

var
  
Form1: TForm1;

implementation

{$R *.dfm}

{ 
Integer }

function 
Integer.ToString: string;
begin
  Str
(FValue, Result);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with Integer
.Create do
  try
    
Value := 7;
    
Caption := ToString;
  finally
    
Free;
  
end;
end; 
ولا يمكن استخدامها بهذا الشكل، انظر:
كود :
http://stackoverflow.com/questions/4439216/default-property-for-class-in-delphi-7
دلفي لا يتوفر على Wrappers كما في بعض اللغات
في المقابل هناك نمط TCustomVariantType قد يمكن به محاكاة نفس الاستخدام...
للمزيد ينظر:
كود :
http://geekscomputer.blogspot.com/2009/10/defining-custom-variants-in-delphi.html

أنا أستخدم Delphi7 فقط.
في إصدارات دلفي الحديثة تمت محاكاة Operator Overloading كالتي في ++C
قد يمكنك تحقيق ذلك بها، شاهد مثال M.Hodges
كود :
http://edn.embarcadero.com/article/34324
بالتوفيق.
السلام عليكم
هذا المثال ممتاز جداً ويفي بالمطلوب .
كود :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Integer = class FValue: System.Integer; function ToString: string; public property Value: System.Integer read FValue write FValue; //default; //default for Indexed table end; var Form1: TForm1; implementation {$R *.dfm} function Integer.ToString: string; begin Str(FValue, Result); end; procedure TForm1.Button1Click(Sender: TObject); var op:integer; begin op.Value:=45; Edit1.Text:=op.ToString; end; end.
بارك الله بيك
وسأدرس المواضيع الاخرى

والله الموفق
السلام عليكم

لماذا لا يمكن صناعة نمط للــ String ويقول انه موجود وهل الـ Integer غير موجود ؟
احيانا لا أفهم الباسكال ! كلما قلت بدأت أفهمها اكتشف انني ابعد ما يكون منها
والله الموفق
وعليكم السلام ورحمة الله وبركاته
إقتباس :لماذا لا يمكن صناعة نمط للــ String ويقول انه موجود وهل الـ Integer غير موجود ؟
هذا بالضبط ما كنت سأحضر له إن شاء الله، درس قصة string ولماذا لونها مختلف؟ اصبر قليلا Smile