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

أفكار سريعة

مثبّتمغلقرائج
بدأه ORWA في 16 أكتوبر 2004 · 92 رد · 54,917 مشاهدة · في قسم الأكواد الفاعلة والنادرة
مشاركة: واتساب X فيسبوك تيليجرام
#26

إخفاء البرنامج من شريط المهام (TaskBar)

في حدث إنشاء الفورم OnCreate ضع الشفرة :

procedure TForm1.FormCreate(Sender: TObject);
begin
 ShowWindow(Application.Handle, SW_HIDE);
   SetWindowLong(Application.Handle, GWL_EXSTYLE,
     getWindowLong(Application.Handle, GWL_EXSTYLE) or
     WS_EX_TOOLWINDOW);
   ShowWindow(Application.Handle, SW_SHOW);

end;
#27

إضافة مجلد إلى قائمة إبدأ برمجيا

أضف الوحدة :

uses shlobj;

شفرة التابع هي :

function CreateFolder(Foldername: string; aLocation: integer): boolean;
var pIdl: PItemIDList;
  hPath: PChar;
begin
  Result := False;
  if SUCCEEDED(SHGetSpecialFolderLocation(0, aLocation, pidl)) then
  begin
    hPath := StrAlloc(max_path);
    SHGetPathFromIDList(pIdl, hPath);
    SetLastError(0);
     CreateDirectory(PChar(hPath + '\\' + Foldername), nil);
      if (GetLastError() = 0) or (GetLastError() = ERROR_ALREADY_EXISTS) then
        Result := true;
      StrDispose(hPath);
  end;
end;

الإستخدام :

procedure TForm1.Button1Click(Sender: TObject);
begin
{constants like 'CSIDL_PROGRAMS'
   are defined in ShlObj}
CreateFolder('Orwah Programs Group ', CSIDL_PROGRAMS);

End;

تم تعديل هذه المشاركة بواسطة ORWA في 15 نوفمبر 2004 في 22:01

#28

إنشاء ملف MS Word برمجيا , والكتابة فية :

أضف الوحدة :

uses
   ComObj;

أضف الشفرة التالية :

procedure TForm1.Button1Click(Sender: TObject);
var
   WordApplication, WordDocument: Variant;
begin
   WordApplication := CreateOleObject('Word.Application');
   WordDocument := WordApplication.Documents.Add;
   WordApplication.Selection.TypeText('Hello world');
   WordDocument.SaveAs(FileName := 'C:\Doc.Doc',
                       AddToRecentFiles := False);
   WordApplication.Quit(False)
end;
#29

هذا الاجراء يجعلك تنقل مؤشر الفارة الى اي عنصر في النموذج

procedure SetCursorToControl(Control: TControl);
var pt: TPoint;
begin

 pt:=Control.ClientToScreen(Point(0, 0));
 SetCursorPos(pt.X, pt.Y)

end;
#30

اجبار مربع النص ان لايقبل الا الاعداد من 0 الى 9

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 If not (Key in ['0'..'9', #13]) then
     Key := #0;
end;

تم تعديل هذه المشاركة بواسطة sal1150 في 16 نوفمبر 2004 في 08:37

#31

السلام عليكم ،،،

لتفريغ محتويات كل ال Tedit الموجودة على الفورم نستخدم الكود التالي

For i := 0 to componentCount-1 do
if (components is TEdit) then
(Components As Tedit).Clear;
#32

إنشاء مفاتيح إختصار من أجل كل الويندوز

هل تريد أن يستجيب البرنامج لمفاتيح الإختصار من كل ويندوز ومن أي تطبيق في ويندوز , سواء كان مفعلا أولا , سواء كان مصغرا أولا :

هذا مثال لبرنامج يتحسس للإختصار Alt+Shift+F9 :

أولا عرف ما يلي في قسم Private مثلا :

private
     Procedure WMHotkey( Var msg: TWMHotkey );
       message WM_HOTKEY;

ثم :

procedure TForm1.FormCreate(Sender: TObject);
begin
If not RegisterHotkey
    (Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) Then
     ShowMessage('Unable to assign Alt-Shift-F9 as hotkey.');

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 UnRegisterHotkey( Handle, 1 );

end;

procedure TForm1.WMHotkey(var msg: TWMHotkey);
begin
{يقوم بفتح الفورم إذا كان مصغر
وإظهار رسالة
hi}
 If msg.hotkey = 1 Then Begin
       If IsIconic( Application.Handle ) Then
          Application.Restore;
       BringToFront;
       showmessage('hi');
     End;

end;
#33

تفعيل نافذة برنامج آخر غير برنامجك ..

وإحضارها إلى المقدمه Active .

أولا يوجد مع CD الدلفي وحدة في المسار التالي info/extras/

إسمها sndkey32 .. إنسخها إلى أحد مكتبات الدلفي المعرفة , ثم إستخدمها كما يلي :

uses sndkey32;
//هذة الوحدة مرفقة مع سيدي الدلفي
// info/extras/

...
..
.

procedure TForm1.Button1Click(Sender: TObject);
begin
AppActivate('Delphi 7 - Project1')
end;

حيث ستقوم هذه الشفرة بتفعيل بيئة الدلفي (إذا كان إسم مشروعنا Project1) بدلا من برنامجنا

#34

تغيير عناوين أزرار مربع "فتح ملف"

عندما نستخدم OpenDialog ستظهر أزرار Open و Cancel باللغة الإجنبية , نستطيع تعريبها أو تغيرها بإستخدام الطريقة التالية

في شفرة OnShow للعنصر OpenDialog ضع الشفرة التالية :

procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
{ Change "Open" Button Caption }
  SendMessage(GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT, 1,
Integer(PChar('فتح')));
  { Change "Cancel" Button Caption }
  SendMessage(GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT, 2,
Integer(PChar('إلغاء الأمر')));

end;

ثم نفذ المشروع ولاحظ تغير عناوين الأزرار

تم تعديل هذه المشاركة بواسطة ORWA في 24 نوفمبر 2004 في 23:32

#35

الحصول على جميع الملفات الموجودة في مجلد

procedure TForm1.Button1Click(Sender: TObject);
var
   SR : TSearchRec;
   S,sFilePattern : String;

Begin
sFilePattern := ExtractFileDir(ParamStr(0)) + '\*.*';
S := '';
if FindFirst(sFilePattern,faAnyFile,SR) = 0 then
   Begin

   while FindNext(sr) = 0 do
              memo1.Lines.Add(SR.Name);
        
   End;

End;
#36

المرفق نموذج لمعرفة اعداد النظام مع السورس

OpenGL Rocket.zip

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#37

وربما يحتاج احد الاصدقاء تلوين اجزاء معينة من الفورم

اذا اضف زر

واكتب

unit Unit1;

interface

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

type
 TPoint = packed record
  X: Longint;
  Y: Longint;
  end;

  TRect = packed record
  case Integer of
    0: (Left, Top, Right, Bottom: Integer);
    1: (TopLeft, BottomRight: TPoint);
end;
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//procedure TForm1.FormActivate(Sender: TObject);
//begin

//end;


procedure TForm1.FormActivate(Sender: TObject);

begin
  Canvas.Brush.Color := clTeal;
  Canvas.Polygon([Point(10, 10), Point(30, 10),
    Point(130, 30), Point(240, 120)]);
end;
//procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);


procedure TForm1.Button1Click(Sender: TObject);
begin
 // BinToHex;
 Canvas.Brush.Color := clTeal;
  Canvas.Polygon([Point(20, 20), Point(20, 20),
    Point(1000, 1000), Point(1000, 120)]);
end;

end.

وعند تنفيذ البرنامج اضغط على الزر وتم اضغط على الفورم

تلوين اجزاء من الفورم شيفريا.rar

تم تعديل هذه المشاركة بواسطة ORWA في 6 فبراير 2005 في 19:03

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#38

واليكم هديتي هذا البرنامج الرائع

يصعب شرحه هنا

ScapeGen.rar

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#39

اما حينما تريد عمل برنامج من اجل البحث عن ملفات فيالكمبيوتر

فاليكم اعزائي هذا البرنامج مع السورس

OpenGL Rocket.rar

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#40

بالله عليكم اعطوني رايكم في هذه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

vrjoffa.zip

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#41

طبعا نطلب منك أن تضع السورس ..

ونشكرك على هذه المساهمات القيمه ..

أخي زاهر الموضوع متخصص بالشفرات السريعه , ووضع الشفره هو الأساس وإلا فإني لا أرى داعي لوضع الملف التنفيذي .

أتمنى أن لا أكون أثقل عليك بطلباتي المتكرره , ولكني أهتم بإفاده المنتدى من أشخاص مثلك . أخي وصديقي .

أخوك عروة

#42

طبعا طبعا

حبيبي عروة

سوف اضع الشروحات

ولكني اردت ان اعطي بعض الحيوية لااكثر ولااقل؟؟؟؟؟؟

هذا اولا اما ثانيا لاعطي نفشي بعض الوقت في اختيار افضل طريقة للشرح

لكي يفهمها المبتدئ مثلي قبل المحترف امثالك

ولكني اجد بعض الصعوبكما قلت لك انني مجرد هاوي

ولم اتعلمها تجريديا؟؟؟؟؟

ولذلك اطلب منك المساعدة في ذلك

هذا ان رغبت طبعا

على فكرة هذا ليس شيئ

بل انني املك مكتبة اعتبرها ضخمة من الاكواد

ولانني لست انانانيا

ومن اجل الله

ولست للاسف الشديد اعمل في هذا المجال اي لااستطيع صقل هذه الهواية

لذلك كله ارغب ان اضعها هنا لكي يستفيد منها من يعمل في هذا المجال

منهيا دراسته ام لا

وشكرا لك ثانياعلى

اقتباس
أخي وصديقي
.

وارجو ان نتواصل ايضا في التعاون عبر الايميل

وشكرا ثانيةً

بريدي هو bad-said@scs-net.org

zahersaid@maktoob.com

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

#43

شكرا لك زاهر ..

يوم بعد يوم تكبر في عيني , جزاك الله كل خير ..

#44

تغيير تاريخ النظام

إذا أردت تغيير تاريخ الجهاز من برنامجك .

أولا أضف الإجراء التالي :

function SetPCSystemTime(tDati: TDateTime): Boolean;
var
tSetDati: TDateTime;
vDatiBias: Variant;
tTZI: TTimeZoneInformation;
tST: TSystemTime;begin
GetTimeZoneInformation(tTZI);
vDatiBias := tTZI.Bias / 1440;
tSetDati := tDati + vDatiBias;
with tST do
begin
wYear := StrToInt(FormatDateTime('yyyy', tSetDati));
wMonth := StrToInt(FormatDateTime('mm', tSetDati));
wDay := StrToInt(FormatDateTime('dd', tSetDati));
wHour := StrToInt(FormatDateTime('hh', tSetDati));
wMinute := StrToInt(FormatDateTime('nn', tSetDati));
wSecond := StrToInt(FormatDateTime('ss', tSetDati));
wMilliseconds := 0;
end;
SetPCSystemTime := SetSystemTime(tST);
end;

ثم إستخدمه كيفما تشاء ..

مثال :

procedure TForm1.Button1Click(Sender: TObject);
begin
SetPCSystemTime(DateTimePicker1.DateTime);
end;
#45

نقل التركيز للعنصر التالي

أي كأننا ضغطنا الزر tab , حيث ينتقل التركيز إلى العنصر التالي حسب قائمه tabOrder :

وهي بسيطه جدا

للإنتقال للعنصر التالي :

Form1.Perform(WM_NEXTDLGCTL, 0, 0);
#46

من المعلوم أن الحلقة Case Of تستلزم قيمة مرتبة ordinal, فمستحيل استخدام هذه الحلقة باستعمال مباشرةَ قيم من نوع String.

هناك حيلة تمكن استخدام string بمساعدة الدالة AnsiIndexStr الموجودة بالوحدة StrUtils.

uses StrUtils;
...
case AnsiIndexStr(Str, ['MyString1', 'MyString1', 'MyString1']) of
  0 : // do some thing  <=> Str = 'MyString1'
  1 : // do some thing  <=> Str = 'MyString1'
  2 : // do some thing  <=> Str = 'MyString1'
  -1 : // do some thing  <=> Str is not equal of one of theses sentenses
end;

إذا كانت نسخة ديلفي لا تحتوي على هذه الدالة فهذا نص بيانها

function AnsiIndexStr(AText : string; const AValues : array of string) : integer;
begin
  Result := 0;
  while Result <= High(AValues) do
    if AValues[Result] = AText then exit
    else inc(Result);
  Result := -1;
end;

(h)

تم تعديل هذه المشاركة بواسطة ikossan في 24 يناير 2005 في 20:10

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#47

نجد في بعض برامج الألعاب بعض الأكواد السحرية ك

 ctrl + alt + "S"+ "T"+ "R"+"O"+ "N"+ "G".

تمكن من الولوج إلى ميزات مخبئة في اللعبة, كرصيد من الدخيرة لا ينتهي أو أن اللاعب لا يهزم ...إلخ

مثال حي للمبرمجين في ديلفي: قم بفتح نافذة About... في IDE borland delphi. ثم قم بالضغط على alt وااستمر في الضغط عليها ثم أضغط على التوالي في لوحة المفاتيح على هذه الحروف: TEAM. أو ALT +DEVELOPERS أو ALT +VERSION ,ALT + CHUCK ,ALT + JEDI

هذه الأكواد لا تعمل في كل نسخ ديلفي B) .

. ستظهر لائحة بأسماء المبرمجين الذين ساهموا في إنجاز برنامج Borland Delphi.

إذا اتضحت الفكرة, فهذه طريقة برمجتها في تطبيقك:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if ssCtrl in Shift then
 begin
     if (char(key) in ['t','T','e','E','a','A','m','M'] )  then   code:=code+ char(key) 
                         else code:='';
     if  (Length(code) > 4)  then   code:='';
     code:=UpperCase(code);
     if ( code= 'TEAM' ) then 
            ShowMessage('You are my team :That is a secret code :) !');
 end;
end;

(h)

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#48

بسم الله الرحمن الرحيم

بعض افكر الجميل في دلفي

قلب ازر الماوس من اليمن الي اليسر

SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 1, NIL, 0);

إعادة أزرار الماوس الي مكان عليه

SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 0, NIL, 0);

اخفاء سطح المكتب

procedure Desktop(Desk:boolean);
begin

DID := FindWindow('progman', nil);
if DID <> 0 then
begin
  if Desk then
    ShowWindow(DID, SW_SHOW)
  else
    ShowWindow(DID, SW_HIDE);
  Desk := not(Desk);
end;

end

ثم عند أخفاء سطح المكتب

Desktop(False);

وعند أرجاع سطح المكتب

Desktop(True);

تشغيل شاشة التوقف برمجين

function TScreenSaver : BOOL;
var
 B_1 : bool;
begin
 result := false;
 if SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,
                         0,
                         @B_1,
                         0) <> true then exit;
 if not B_1 then exit;
 PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
 result := true;

في OnClick أضف هذا الكود

TScreenSaver;

..................بسم الله الرحمن الرحيم..................

وتعاونوا على البر والتقوى ولا تعاونوا على الإثم والعدوان

.............................................................................................................................

لنبدا دورة دلفي

سلسلة تعلم برمجة Pascal , تعلم اساسيات الباسكال

التحكم بمنفذ الطابعة عن طريق الدلفي

سلسلة دروس تعلم قواعد بيانات Midas

هيا لنبدأ بالApi

أفكار سريعة, مجموعة شفرات صغيرة وفاعله لدلفي

كتب + مواقع ::: مراجع مهمة للغة دلفي, مجموعة كتب مجانية + مواقع مفيدة

مكتبه الأكواد, أكواد وبرامج دلفي

.............................................................................................................................

18_07_05_10_53_18_1121752398da3wa_18.gif

#49

كيفية ادخال الصورة من السكنر عن طريق الدلفي

اذهب الى component ثم الى import activX control

ثم ومن القائمة اختر ادات تحكم بإلتقاط الصور ، تجد ( Timgscan)

اضغط install

ثم اذهب في قائمة ادوات دلفي الى ActivX

نزلها على الفورة ، اضغط عليها ضغطتين سريعتين

ستجد-- scan to : اجعلها -- display and file

و file type أجعل امتدادها Bmp ستطيع قراءة الصورة من خلال دلفي ..

ضع Image وحدد خاصية الستريتش streatch الى true

ضع زر ..button واكتب تحته

ImgScan1.Image:='c:\tmp.bmp';

ImgScan1.StartScan ;

Image1.Picture.LoadFromFile('c:\tmp.bmp');;

-----------------------

:lol: :lol:

..................بسم الله الرحمن الرحيم..................

وتعاونوا على البر والتقوى ولا تعاونوا على الإثم والعدوان

.............................................................................................................................

لنبدا دورة دلفي

سلسلة تعلم برمجة Pascal , تعلم اساسيات الباسكال

التحكم بمنفذ الطابعة عن طريق الدلفي

سلسلة دروس تعلم قواعد بيانات Midas

هيا لنبدأ بالApi

أفكار سريعة, مجموعة شفرات صغيرة وفاعله لدلفي

كتب + مواقع ::: مراجع مهمة للغة دلفي, مجموعة كتب مجانية + مواقع مفيدة

مكتبه الأكواد, أكواد وبرامج دلفي

.............................................................................................................................

18_07_05_10_53_18_1121752398da3wa_18.gif

#50

يقبل الارقم فقط والايقبل الحروف

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['0'..'9', #18]) then
   Key := #13;
end;

وهذا يقبل الحروف الكبير

If not (Key in ['A'..'Z', #18]) then
   Key := #13;
end

وهذا يقبل الحروف الصغير

If not (Key in [' a'..'z', #18]) then
   Key := #13;
end;

--------------------------------------------

:lol: :lol:

..................بسم الله الرحمن الرحيم..................

وتعاونوا على البر والتقوى ولا تعاونوا على الإثم والعدوان

.............................................................................................................................

لنبدا دورة دلفي

سلسلة تعلم برمجة Pascal , تعلم اساسيات الباسكال

التحكم بمنفذ الطابعة عن طريق الدلفي

سلسلة دروس تعلم قواعد بيانات Midas

هيا لنبدأ بالApi

أفكار سريعة, مجموعة شفرات صغيرة وفاعله لدلفي

كتب + مواقع ::: مراجع مهمة للغة دلفي, مجموعة كتب مجانية + مواقع مفيدة

مكتبه الأكواد, أكواد وبرامج دلفي

.............................................................................................................................

18_07_05_10_53_18_1121752398da3wa_18.gif

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

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