اين اكتب ال fonction في دلفي لكي استدعيها وقت الحاجة
#1
السلام عليكم ورحمة الله وبركاته 
حاليبا اصنع برنامج و عندي بعض ال fonction اريد ادخالها الى البرنامج واستدعائها كلما اقتضت الحاجة فاين اضعها داخل البرنامج نفسه وشكرا جزيلا مسبقا
الرد
#2
سلام عليكم

ان كنت تريد استعمالها على نفس الفورم ضعها تحت private
ان كنت تريد من خارج الفورم (تناديها من اي فورم على البرنامج) ضعها تحت public
ونفس الشيئ مع المتغيرات و الثوابت .
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
[-] كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة
  • blackhole
الرد
#3
وعليكم السلام ورحمة الله

باي مكان من المشروع وكما تكتب الاجراءات الاخرى


كود :
unit Unit1; interface uses    Forms, Dialogs; type    TForm1 = class(TForm)      procedure FormCreate(Sender: TObject);    end; var    Form1: TForm1; implementation {$R *.dfm}// Include form definitions // A small procedure procedure InLineProc; begin    ShowMessage('Hello World'); end; procedure TForm1.FormCreate(Sender: TObject); begin   // Call our little in line procedure    InLineProc; end; end.
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • blackhole
الرد
#4
وضعتها تحت public عطاتني خطا
public


function StrToHex(S: String): String;
var I: Integer;
begin
Result:= '';
for I := 1 to length (S) do
Result:= Result+IntToHex(ord(S[i]),2);
end;


{ Public declarations }
end;
الرد
#5
(24-10-2022, 05:31 PM)blackhole كتب : وضعتها تحت  public  عطاتني خطا
public


  function StrToHex(S: String): String;
var I: Integer;
begin
  Result:= '';
  for I := 1 to length (S) do
    Result:= Result+IntToHex(ord(S[i]),2);
end;


{ Public declarations }
  end;

لا يقصد وضعها كاملة ، التعريف بها فقط (السطر الاول فقط) ، أما كاملة ضعها بعد كل التعريفات
‏اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • blackhole
الرد
#6
تماما بارك الله فيكم جميعا

[صورة: 669125648.jpg]للاسف مازال المشكل كما في الصورة
الرد
#7
سلام عليكم
الخلل في الدالة اخي تحقق جيدا عليك بإرجاع ordinal

كود :
result := result+inttohex(ord(s[i]),2);
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
[-] كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة
  • blackhole
الرد
#8
اخي الكريم الدالة مجربة سابقا في عدة برامج لكن مع الدلفي 11 يعطيني هذه الاخطاء
الرد
#9
السلام عليكم

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

ضع الكلاس الذي تنتمي اليه الدالة قبل اسم الدالة

function TForm1.StrToHex

PHP كود :
unit Unit1;

interface

uses
  Winapi
.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 
= class(TForm)
  private
    function StrToHex(S: string): string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function 
TForm1.StrToHex(S: string):string;
var 
i: integer;
begin
  Result 
:= '';
  for i := 1 to length(s) do
    Result := Result + IntToHex(ord(s[i]), 2);
end;

end. 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة
  • blackhole
الرد
#10
ملاحظة : ليس من الضروري الاعلان عن الاجراءات والدوال في التبويب Public او حتى Privte ويمكنك وضعها مباشرة في الوحدة 
واستدعائها بشكل طبيعي

كود :
unit Unit1; interface uses   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,   Vcl.Controls, Vcl.Forms, Vcl.Dialogs; type   TForm1 = class(TForm)   private       public       end; var   Form1: TForm1; implementation function  StrToHex(S: string):string; var i: integer; begin   Result := '';   for i := 1 to length(s) do     Result := Result + IntToHex(ord(s[i]), 2); end; end.

ملاحظة اخرى : اي حدث او برمجة تريدها ان ترى ةتصل هذا النوع من التعريف للاجراءات والدوال يجب ان تكون تحته
بمعنى اذا كان حدث استدعاء هذه الدالة فوقها فلن يتعرف عليها
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • blackhole
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم