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

دروس متقدمه في الدلفي

مغلق
بدأه saleh2003 في 5 أكتوبر 2003 · 7 رد · 3,661 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد قررت باذن الله وضع دروس متقدمه في الدلفي للمهتمين وارجو المساعده طبعا من الاساتذه في الموقع.

الدروس ليست للمبتدئين ولكن يمكنهم طبعا التعلم والاستفاده ولكن عليهم اولا الدراسه من الموقع التالي وانهاء جميع الدروس فيه ثم يمكنهم المتابعه معنا

للمبتدئين

الدرس الاول

استخدام InternetGetConnectedState

تستخدم لمعرفه طريقه اتصالك بالانترنت

لن اشرح في الدروس اي شيء على الاطلاق ولكن سوف اضع مثال + مواقع لتعلم الامر المعين

المثال

uses wininet;

{$R *.dfm}

Function ConnectionKind :boolean;

var

flags: dword;

begin

Result := InternetGetConnectedState(@flags, 0);

if Result then

begin

if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then

begin

showmessage('you connect with Modem');

end;

if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then

begin

showmessage('you connect with LAN');

end;

if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then

begin

showmessage('you connect with Proxy');

end;

if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then

begin

showmessage('you connect with Modem Busy');

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

ConnectionKind;

end;

مواقع شرح

موقع ميكروسوفت

موقع لل vb

للاسف لم استطع ارفاق مثل لعدم امكانيه ذلك في المنتدى(ملف) واتمنى ان يقوم

احد بايجاد حل للبرامج التي تخرج معكوسه

تم تعديل هذه المشاركة بواسطة saleh2003 في 5 أكتوبر 2003 في 12:59

#2

السلام عليكم

الدرس الثاني

استخدام internetdial للاتصال بالانترنت

المثال

implementation
      uses wininet;
{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var id:DWORD;
begin
 InternetDial(Handle, 'sal2003conn',INTERNET_AUTODIAL_FORCE_ONLINE, @Id, 0);
end;

موقع للشرح

موقع ميكروسوفت

تم تعديل هذه المشاركة بواسطة saleh2003 في 6 أكتوبر 2003 في 12:35

#3

مشكور جدا ..أخ صالح

ونرجو الاستمرار

اخوكم

#4

السلام عليكم

شكرا لك اخي max max وطبعا انتظر ان تشاركني بالدروس يا معلم

الدرس الثالث درس بسيط

كيفيه عمل ملفات ini

procedure  TForm1.Button1Click(Sender:  TObject);  //  Read  values  from  INI  file
var
strg:string;
begin
strg:=ini.ReadString('Section','name','');
MessageDlg('Value  of  Section:  '  +  strg,  mtInformation,  [mbOK],  0);
end;

procedure  TForm1.Button2Click(Sender:  TObject);  //لكتابه قيمه في الملف
begin
ini.WriteString('Section','name','value');
end;

procedure  TForm1.FormCreate(Sender:  TObject);
begin
ini:=  TIniFile.Create('c:\test.ini');

تم تعديل هذه المشاركة بواسطة saleh2003 في 7 أكتوبر 2003 في 22:09

#5

الدرس الرابع

معرفه رقم الهارد ديسك(disk serial number)

function  GetDiskSerialNumber(Disk:  char):  string;
var
    VolumeSerialNumber,
    MaximumComponentLength,
    FileSystemFlags:  DWORD;
    SerialNumber:  string;
begin

    GetVolumeInformation(PChar(Disk  +  ':\'),
                                              nil,
                                              0,
                                              @VolumeSerialNumber,
                                              MaximumComponentLength,
                                              FileSystemFlags,
                                              nil,
                                              0);
    SerialNumber  :=  Format('%.4X-%.4X',  [HiWord(VolumeSerialNumber),  LoWord(VolumeSerialNumber)]);

    Result  :=  SerialNumber;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 edit1.Text := GetDiskSerialNumber('c');  //رمز اي هارد ديسك
end;

موقع ميكروسوفت للشرح

تم تعديل هذه المشاركة بواسطة saleh2003 في 7 أكتوبر 2003 في 22:35

#6

100%

بارك الله فيك اخوي صالح ..كذا الشغل الصح ولا بلاش : ) .. الله لا يحرمنا منك

اخوي ماكس ..نرجو الا تحرمنا من اكوادك الخطيرة ..انبش الأرشيف وطلع منة .. : )

ونرجو من باقي الأخوان .. tmaaa ... ابو هاني ...وكل من يستطيع وضع دروس متقدمة

ان يشارك في الموضوع حتى تعم الفائدة

والشكر الجزيل للأخ صــــــالح

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

#7

السلام عليكم

شكرا لك اخي العزيز

الدرس الخامس

معرفه اسم المستخدم واسم شركته المسجله على الكمبيوتر

وهذه المعلومات وغيرها مسجله في windows registary

لمعرفه كل شيء عن الرجيستري

implementation

{$R *.dfm}
   uses Registry;

type
  TUserOrCompany = (_USER, _COMPANY, _BOTH);


function GetUserAndCompanyName(UserOrCompany: TUserOrCompany): string;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    {$IFDEF Delphi3Below}
    if Reg.OpenKey('\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION', False) then
    {$ELSE}
    if Reg.OpenKeyReadOnly('\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION') then
    {$ENDIF}
      case UserOrCompany of
        _USER   : Result := Reg.ReadString('RegisteredOwner');
        _COMPANY: Result := Reg.ReadString('RegisteredOrganization');
        _BOTH   : Result := Reg.ReadString('RegisteredOwner') + #13 +
                            Reg.ReadString('RegisteredOrganization'); 
      end;

    if (Result = '') or (Result = '' + #13 + '') then
      { Try another key. }
      begin
        Reg.CloseKey;
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        {$IFDEF Delphi3Below}
        if Reg.OpenKey('\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION', False) then
        {$ELSE}
        if Reg.OpenKeyReadOnly('\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION') then
        {$ENDIF}
          case UserOrCompany of
            _USER   : Result := Reg.ReadString('RegisteredOwner');
            _COMPANY: Result := Reg.ReadString('RegisteredOrganization');
            _BOTH   : Result := Reg.ReadString('RegisteredOwner') + #13 +
                                Reg.ReadString('RegisteredOrganization'); 
          end;
      end;

    if (Result = '') or (Result = '' + #13 + '') then
      { Try another key. }
      begin
        Reg.CloseKey;
        Reg.RootKey := HKEY_CURRENT_USER;
        {$IFDEF Delphi3Below}
        if Reg.OpenKey('\SOFTWARE\MICROSOFT\MS SETUP (ACME)\USER INFO', False) then 
        {$ELSE}
        if Reg.OpenKeyReadOnly('\SOFTWARE\MICROSOFT\MS SETUP (ACME)\USER INFO') then
        {$ENDIF}
          case UserOrCompany of
            _USER   : Result := Reg.ReadString('DefName');
            _COMPANY: Result := Reg.ReadString('DefCompany');
            _BOTH   : Result := Reg.ReadString('DefName') + #13 +
                                Reg.ReadString('DefCompany'); 
          end;
      end;

    if (Result = '') or (Result = '' + #13 + '') then
      { Could not find info. }
      if UserOrCompany = _BOTH then
        Result := 'Undefined' + #13 + 'Undefined'
      else
        Result := 'Undefined';
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
   edit1.Text :=GetUserAndCompanyName(_USER);
end;

تم تعديل هذه المشاركة بواسطة saleh2003 في 8 أكتوبر 2003 في 21:17

#8

شكرك كثيرا أخي صالح

نعم أخترت دلفي كلغة على حسب نصيحتك

أستمر والله يوفقك

اخوك مازن

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

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