من هم عرض کردم که در این فروم زیاد به این موضوع پرداخته نشده.بحث hook خیلی پیچیده تر از یه تابع مشخص هست.نقل قول:
اگه ميشه يه تابع مشخص به من بديد بازم منون
منبع فارسی هم سراغ ندارم اگر با انگلیسی مشکلی ندارید که لینک معرفی کنم
Printable View
من هم عرض کردم که در این فروم زیاد به این موضوع پرداخته نشده.بحث hook خیلی پیچیده تر از یه تابع مشخص هست.نقل قول:
اگه ميشه يه تابع مشخص به من بديد بازم منون
منبع فارسی هم سراغ ندارم اگر با انگلیسی مشکلی ندارید که لینک معرفی کنم
اول يه سوالي دارم
- من ميخوام يه سيستم كتاب خونه بسازم كه تاريخ رفت و برگشت كتاب رو ثبت كنه و خودش نسبت به هر روز دير كرد 100 تومان جريمه بنويسه.
من نميدونم چه طور اين دو تا تاريخ رو از هم كم كنم تا روز بدس بياد خواهشن كمك كنيد.
شما یونیت dateutils رو در قسمت usee اضافه کنید و توابع مربوط به اون رو ببینیدنقل قول:
اول يه سوالي دارم
- من ميخوام يه سيستم كتاب خونه بسازم كه تاريخ رفت و برگشت كتاب رو ثبت كنه و خودش نسبت به هر روز دير كرد 100 تومان جريمه بنويسه.
من نميدونم چه طور اين دو تا تاريخ رو از هم كم كنم تا روز بدس بياد خواهشن كمك كنيد.
اصغر كوهي كجايي؟ اصغر كوهي
آقايون برنامه نويس واقعا معذرت همينطور مسئول تاپك
ببخشيد كه پست نامربوط دادم
با عرض سلام
يك پروژه نوشتم كه دراراي يك تيبل است شامل ركورد كد و نام
كه دو عدد dbedit1 و dbedit2 دارم
اولي را به ركورد كد و دومي را به روكرد نام ارتباط داده ام حال مي خواهم با تغيير ركورد كد ركورد نام نيز متناسب با كد آن در تيبل تغيير نمايد براي حل اين مشكل چه تغييراتي بايد روي dbedit1.2 بدهم با تشكر
خوش آمدید دوست عزیزنقل قول:
اگر ارتباط را صحیح برقرار کرده اید، خود دلفی این کار رو برای شما انجام میده. برقراری صحیح ارتباط: datasource را به datasource ی که به table شما اشاره می کند و datafield را به فیلد مورد نظر مرتبط کنید.
البته اين كاري رو كه فرهاد جان گفتند يه كوچولو خطرناك چون عنصر dbedit در صورت تغيير ذيتابيس رو تغيير ميده ، ولي اگه شما ميخوايد dbedit كاربرد فقط نمايشي داشته باشه تو تنظيماتش read only رو true كنيد
-----------------------------
اينا يك تجربه بود .
نیازی نیست فقط کافیه autoedit مربوط به datasource رو برابر false بگذارید و در مواقع لزوم اقدامات مقتضی انجام گیرد!نقل قول:
البته اين كاري رو كه فرهاد جان گفتند يه كوچولو خطرناك چون عنصر dbedit در صورت تغيير ذيتابيس رو تغيير ميده ، ولي اگه شما ميخوايد dbedit كاربرد فقط نمايشي داشته باشه تو تنظيماتش read only رو true كنيد
سلام دوستان یه سوال داشتم
می خواستم یه فایل exe رو تو برنامه خودم فراخوانیش کنم
مثلا وقتی رو button کلیلک میکنی بتونه مثلا media player یا مثلا windows muvie marker رو باز کنه
با تشکر از دوستانی که راهنمایی میکنن
ببين دوست من يك سوال رو چند جا نپرس، تو تاپيك كه جدا زدي جوابتو دادن .
سلام اقا 2 تا سوال:
1- دستور ریست کردن کام÷یوتر چیه؟
2-چطوری میشه به سیستم ارتباط برقرار کرد مثلا مونیتور خاموش بشه یا فن خاموش بشه یا ....؟؟؟
1- دستور ریست کردن کام÷یوتر چیه؟
باید با استفاده از Run در فایل System32 ویندوز که در پوشه ی ویندوز هست نام فایل reset.exe رو تایپ کنی
سوال دومت رو یادم نیست ( من یک ساله دلفی رو کنار گذاشتم * ولی میگردم اگر چیزی یافتم میزارم
تشکر//
سلامنقل قول:
براي Restart , Shutdown ميتوانيد از تابع زير استفاده كنيد :
نحوه فراخواني :کد:function DoExitWindows(RebootParam: Longword): boolean;
var
TTokenHd: THandle;
TTokenPvg: TTokenPrivileges;
cbtpPrevious: DWORD;
rTTokenPvg: TTokenPrivileges;
pcbtpPreviousRequired: DWORD;
tpResult: boolean;
const
cSE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
begin
tpResult := OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, TTokenHd);
if tpResult then
begin
tpResult := LookupPrivilegeValue(nil, cSE_SHUTDOWN_NAME,
TTokenPvg.Privileges[0].Luid);
TTokenPvg.PrivilegeCount := 1;
TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
cbtpPrevious := SizeOf(rTTokenPvg);
pcbtpPreviousRequired := 0;
if tpResult then
Windows.AdjustTokenPrivileges(TTokenHd, false, TTokenPvg, cbtpPrevious,
rTTokenPvg, pcbtpPreviousRequired);
end;
end;
Result := ExitWindowsEx(RebootParam, 0);
end;
مقادير ديگر :کد:DoExitWindows(EWX_REBOOT or EWX_FORCE);
EWX_POWEROFF
EWX_LOGOFF
براي خاموش / روشن كردن مانيتور :
خاموش :
روشن :کد:SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 1);
کد:SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, -1);
سلام.
میخواستم بدونم چطوری میشه لیست پوشه های موجود در درایو های یک سیستم رو بدست آورد(api)
ممنون میشم اگه راهنماییم کنید.
سلام . من یه عضود جدید هستم و دارم یه برنامه مینویسم که توش از دیتا بیس اکسس ( آماده و حاوی اطلاعات) استفاده می کنم ولی توی ----- کردنش گیرکردم و از شما کمک می خواستم. این دیتا بیس یک سری فیلد داره و قراره طوری فییلتر بشه که کاربر هر اطلاعاتی رو که داشت نه لزوما با یکسری فیلد ثابت رو بتونه ببینه. یعنی ----- با همه فیلد ها انجام بشه و فیلد ها اجازه خالی بودن هم داشته باشند. مرسی
خوب دستور ----- خودش اين كار رو ميكنه
فقط ميخواين دقيقا چي ----- بشه ( چه فيلدي)
تا من كدش خدمتون بدم
اگه مشكل نداره تا اونجايي رو كه نوشتي بده تا واست درستش كنم .
لطفا اگر کسی سوال زیر میداند برایم ارسال کند؟
برنامه ای به زبان دلفی که طیف رنگی بنفش را به آبی نمایش دهد
منظورتون گرادیانته؟نقل قول:
TForm3 = class(TForm2)
چطور به کامپیلر دلفی بگویم که فایل dfm رو
اینطوری ذخیره کنه
inherited Form3: TForm2
سلام. خوش آمديدنقل قول:
لطفا سوالات خودتون رو واضح تر بيان كنيد.
شما با اعلان form3=class(form2) در واقع داريد از ارث بري در كلاسها استفاده مي كنيد، اما منظور شما از "فايل dfm رو ذخيره كنه" متوجه نشدم
اگر ميخوايد كه تمام متدها و متغيرهاي عمومي form2 رو در form3 داشته باشيد، همون خط اول كفايت ميكنه وگرنه بيشتر توضيح بديد كه چه كاري قرار هست انجام بشه
سلام
لطفا کمکم کنید
من بیشتر برنامه هایی که می نویسم اصلا اجرا نمیشه یا اینکه فقط 1 بار اجرا میشه . مثلا Run که می کنم خود محیط برنامه رو نشون می ده . بعضی مواقع 1 پیامی میده که نمیتونه کامپیل کنه .
مشکل چیه ؟؟؟ برنامه هایی که می نویسم درسته .
1 سوال دیگه . من بانک اطلاعاتی اکسس توی برنامم دارم . با Quick Report که می خوام گزارش بگیرم اصلا نمی تونم فیلد ها رو به لیبیل ها وصل کنم . بانک اطلاعاتی رو با Ado و Sql کار می کنم . لطفا راهنمایی کنید .
ممنون
سلامنقل قول:
يه پست هم توي متفرقه مي داديد!
دوست عزيز لطفا رعايت كنيد.
اين هم يك برنامه با حال براي كسايي كه تا آخرش آمدن :
برنامه Magnifier يا ذره بين
يك فرم بسازيد و يك تايمر روش بزارين , ... :
}
Zoom
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
Zoom in portion of your desktop screen like a loope.
********************************************
Zarko Gajic
About.com Guide to Delphi Programming
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
email: [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
********************************************
{
unit uZoom;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Buttons;
type
TFormZoom = class(TForm)
Image1: TImage;
Timer1: TTimer;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Slider: TTrackBar;
cbSrediste: TCheckBox;
procedure FormResize(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
public
end;
var
FormZoom: TFormZoom;
implementation
{$R *.DFM}
procedure TFormZoom.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo);
begin
inherited;
Msg.MinMaxInfo^.ptMinTrackSize := Point(158, 177); // min form size
Msg.MinMaxInfo^.ptMaxTrackSize := Point(350, 350); // max form size (width, height)
end;
procedure TFormZoom.FormResize(Sender: TObject);
begin
// panel in the middle of the form
Panel1.Left:=(FormZoom.ClientWidth Div 2) - Panel1.Width div 2;
Panel1.Top:=(FormZoom.ClientHeight Div 2) - Panel1.Height div 2;
Image1.Picture:=nil;
end;
procedure TFormZoom.FormDestroy(Sender: TObject);
begin
Timer1.Interval:=0;
end;
procedure TFormZoom.Timer1Timer(Sender: TObject);
var
Srect,Drect,PosForme:TRect;
iWidth,iHeight{,DmX,DmY}:Integer;
iTmpX,iTmpY:Real;
C:TCanvas;
hDesktop: Hwnd;
Kursor:TPoint;
begin
If not IsIconic(Application.Handle) then begin
hDesktop:= GetDesktopWindow;
GetCursorPos(Kursor);
PosForme:=Rect(FormZoom.Left,FormZoom.Top,FormZoom .Left+FormZoom.Width,FormZoom.Top+FormZoom.Height) ;
If not PtInRect(PosForme,Kursor) then begin
If Panel1.Visible=True then Panel1.Visible:=False;
If Image1.Visible=False then Image1.Visible:=True;
iWidth:=Image1.Width;
iHeight:=Image1.Height;
Drect:=Rect(0,0,iWidth,iHeight);
iTmpX:=iWidth / (Slider.Position * 4);
iTmpY:=iHeight / (Slider.Position * 4);
Srect:=Rect(Kursor.x,Kursor.y,Kursor.x,Kursor.y);
InflateRect(Srect,Round(iTmpX),Round(iTmpY));
// move Srect if outside visible area of the screen
If Srect.Left<0 then OffsetRect(Srect,-Srect.Left,0);
If Srect.Top<0 then OffsetRect(Srect,0,-Srect.Top);
If Srect.Right>Screen.Width then OffsetRect(Srect,-(Srect.Right-Screen.Width),0);
If Srect.Bottom>Screen.Height then OffsetRect(Srect,0,-(Srect.Bottom-Screen.Height));
C:=TCanvas.Create;
try
C.Handle:=GetDC(GetDesktopWindow);
Image1.Canvas.CopyRect(Drect,C,Srect);
finally
ReleaseDC(hDesktop, C.Handle);
C.Free;
end;
{ If cbSrediste.Checked=True then begin // show crosshair
with Image1.Canvas do begin
DmX:=Slider.Position * 2 * (Kursor.X-Srect.Left);
DmY:=Slider.Position * 2 * (Kursor.Y-Srect.Top);
MoveTo(DmX - (iWidth div 4),DmY); // -
LineTo(DmX + (iWidth div 4),DmY); // -
MoveTo(DmX,DmY - (iHeight div 4)); // |
LineTo(DmX,DmY + (iHeight div 4)); // |
end; // with image1.Canvas
end; // show crosshair}
Application.ProcessMessages;
end // Cursor not inside form
else begin // cursor inside form
If Panel1.Visible=False then Panel1.Visible:=True;
If Image1.Visible=True then Image1.Visible:=False;
end;
end; // IsIconic
end;
end.
لطفا لینک سر راستی برایم بگذارین که بتونم از آن کمپوننتهای اصلی دلفی با شکل جدید و نه به شکل کلاسیک دانلود کنم .من به دکمه با لبه گرد و Scrollbar و RadioGroup و CheckBox ویندوز XP نیاز دارم .:46:
یه چیز دیگه که خیلی نیاز دارم کادر تصویر با توانایی کشش تصویر با مابین سازی رنگ بین پیکسلها (که در TIMage نیست)هستش.:41:
هرکی میتونه بهم کمک کنه .دستتون درد نکنه...:21:
من وقتی می خواه با rvreport پرینت بگیرم ، سطرهایی که به عنوان فیلد در چاپ استفاده می کنم فقط در صفحه اول می یاد و در صفحه دوم به بعد دیگه نیست و اطلاعات روی آن چاپ میشه . لطفن بگین چی کار کنم .
به دنبال مجموعه كامپوننت tsm بگرد و دانلود كن.
توي اون يكي از كارايي كه ميتوني بكني همينه.
نيازي هم نيست كه بري و برنامتو دونه دونه كامپوننتاشو عوض كني.
يك كامپوننت توي صفحت ميزاري كه همه شكلارو اون جوري كه دوست داري ميكنه. خيلي قابليتهاي قوي و به درد بخور ديگه هم داره و فكر كنم حدود 70-80 تا كامپوننت با امكانات خيلي زيادتر از استاندارد هم بهت ميده. موفق باشي.
با سلام خدمت دوستان محترم
من يه كامپوننت مي خوام تا باهاش بتونم از طريق برنامه خط تلفن را كنترل كنم
اگه كسي ميتونه با كامپوننت يا مثال يا نمونه برنامه كمكم كنه.
ممنون ميشم
تبدیل اطلاعات
سلام دوستان
من میخواهم توی یک edit عدد وارد کنم که هر سه رقم یه ویرگول بزاره بدون زدن یک دکمه formatfloat رو تست کردم اما کاری که میخواستم نکرد می خواهم راهنماییم کنید مننون
اگر دوستان سايتي را براي دريافت پي دي اف رايگان آموزش دلفي 7 سراغ دارند ممنون مي شوم مرا راهنمايي كنند
سلام
آقا من با یه برنامه کاربردی خارجی کار میکنم که تاریخی که ازش استفاده میشه میلادی هستش.
می خواستم ببینم میشه تغییری روش داد یا سورسی چیزی بهش اضافه کرد که به هجری شمسی تبدیل بشه.
این برنامه با دلفی نوشته شده.در ضمن خودمم با این برنامه های ادیتورها یه کم روش کار کردم ولی فایده ای نداشت...
تورو خدا اگه میتونین کمکم کنید.
به جمع ما خوي آمديد!
1. دوست عزيز. اين برنامه كه شما ميگيد احتمالا فارسي ساز برنامه MSP نيست ؟
2. اون توي سرس اصلي برنامه تغييري نداده. من فكر ميكنم كه يك برنامه Hook قوي نوشته كه ميتونه پارامترهايي مانند تاريخ رو بخونه و تعريف كرده كه چطوري اون تاريخها رو تغيير بده!
من خودم هم اين برنامه رو ديدم و خيلي روش فكر كردم. ولي نتيجه اي بهتر از اين به ذهنم نرسيد. اگه كسي از دوستان اطلاعات دقيقتر و كاملتري داره خيلي خوشحال ميشم كه ياد بگرم.
ممنون از همه!
سلام دوباره .
نیاز به راهنمایی دارم .
یه برنامه برای یکی از ادارات دولتی میخوام بنویسم که باید کلی اطلاعات از جداول اکسل وارد شه و همینطور کلی نمودار و چارت هستش . به نظر شما اطلاعات رو وارد دیتابیس کنم و از خود دلفی برای طراحی نمودار ها و گزارش گیری از اطلاعات و تهیه جداول چاپی استفاده کنم یا کامپوننت های کار با اکسل ؟
متشکرم .
سلام. استفاده از کامپوننت های ارتباط با اکسل لقمه رو دور سر چرخوندن هست. از دیتابیس استفاده کنید
سلام و خسته نباشید
کسی از دوستان می دونه اگر بخوام برنامه ای که توی دلفی ساختم رو وقتی کاربر (run) میکنه ، برنامه به صورت رزولوشن 1024x768 ظاهر بشه و اگر برنامه رو end کرد رزولوشن برگرده یه حالت پیش فرض ویندوز که بوده (مثل اکثر game ها)
ممنون و موفق باشید
سلام از برنامه هايي كه براي دانلود گذاشتي ممنونم بعضي از آنها به كارم اومد.
يه مشكل در پروژه اي كه نوشتم دارم و اون هم استفاده از برنامه word در پروژه ام است اگه ممكنه كمكم كنيد.
با تشكر.
سلام. خوش آمدید
لینک زیر رو ببینید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام دوست عزيزنقل قول:
يه برنامه نمونه برات ميگذارم , اونجا يه پروسيجر تعريف شده كه كار تغيير ريزولوشن رو انجام ميده فكر ميكنم اون بدردت بخوره
موفق باشيد:)کد:procedure SetResolution(ResX, ResY: DWord);
var
lDeviceMode : TDeviceMode;
begin
EnumDisplaySettings(nil, 0, lDeviceMode);
lDeviceMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
lDeviceMode.dmPelsWidth :=ResX;
lDeviceMode.dmPelsHeight:=ResY;
ChangeDisplaySettings(lDeviceMode, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetResolution(1024, 768);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetResolution(800, 600);
end;
سلام. چطوری میتونم متن یه Edit رو با زدن دکمه های جهتی بالا و پایین از 1تا 10 تغییر بدم؟