هر سوالی راجع به دلفی داری بپرس (استاد دلفی)

dash_akol

New Member
با سلام خدمت همه دوستان
چندتا سوال دارم كه اميدوارم جواب بدين :
1- من با دلفي 5 و اكسس 2003 كار مي كنم و يه برنامه نوشتم مي خواستم ببينم اگه بخوام از instal shield يه برنامه نصبي براي پروژم درست كنم روش خاصي داره اصلا ميشه اين كار رو كرد ( لازم به ذكر است من instal shield رو براي بانك paradox استفاده كرده و بلدم )

2- توي دلفي 5 مي خوام از اين سربرگ ها يا به اصطلاح tab control بگذارم اما نمي دونم زمينه اون رو چي بگذارم منظورم اينه وقتي روي هر سربرگ كليك ميشه كادر تغيير مي كنه نمي دونم اون كادر رو چطوري ايجاد كنم چون خود tab control اون كادر رو ايجاد نمي كنه .

3- چطوري ميشه دكمه ها رو در دلفي 5 رنگي كرد يا فونت رو جلوه داد.
با كمال تشكر
 

key

New Member
سلام
موقعي كه رايانه رو خواموش مي كنم مي خوام دلفي خود به خود قبل از خاموشي به من يك message بدهد
message: سيدي رام هاي خود را چك كنيد
آيا شدني ؟
please answer this question
 
آخرین ویرایش:

DrXoX

Active Member
با سلام خدمت همه دوستان
چندتا سوال دارم كه اميدوارم جواب بدين :
1- من با دلفي 5 و اكسس 2003 كار مي كنم و يه برنامه نوشتم مي خواستم ببينم اگه بخوام از instal shield يه برنامه نصبي براي پروژم درست كنم روش خاصي داره اصلا ميشه اين كار رو كرد ( لازم به ذكر است من instal shield رو براي بانك paradox استفاده كرده و بلدم )

2- توي دلفي 5 مي خوام از اين سربرگ ها يا به اصطلاح tab control بگذارم اما نمي دونم زمينه اون رو چي بگذارم منظورم اينه وقتي روي هر سربرگ كليك ميشه كادر تغيير مي كنه نمي دونم اون كادر رو چطوري ايجاد كنم چون خود tab control اون كادر رو ايجاد نمي كنه .

3- چطوري ميشه دكمه ها رو در دلفي 5 رنگي كرد يا فونت رو جلوه داد.
با كمال تشكر

در مورد سوال اول : بله ميشه با Install Sheild اين كار رو انجام داد
در مورد سوال دوم شرمنده من با دلفي 5 كار نكردم اطلاع دقيقي ندارم به شما هم پيشنهاد مي كنم دلفي 7 رو نصب كنيد چون اكثرا از اين نسخه استفاده مي كنند

______________

روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 

DrXoX

Active Member
سلام
موقعي كه رايانه رو خواموش مي كنم مي خوام دلفي خود به خود قبل از خاموشي به من يك message بدهد
message: سيدي رام هاي خود را چك كنيد
آيا شدني ؟
please answer this question

سلام
والا فكر نكنم بشه :roll:
كمكي كه من مي تونم بكنم اينه كه از داخل يك برنامه ساده دلفي اين كار را انجام بديم:

1- در قسمت Uses كلمه اي كه در كد زير با رنگ قرمز مشخص شده است را اضافه كن
کد:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls , [COLOR="Red"]ComObj[/COLOR];

2- يك Button روي فرم قرار بده و داخلش كد هاي زير رو بنويس

کد:
procedure TForm1.Button1Click(Sender: TObject);
var
  shell: Variant;
begin

  ShowMessage('لطفا سي دي رام خود را چك كنيد');
  shell := CreateOleObject('Shell.Application');
  shell.ShutdownWindows;
end;
3- حالا برنامه رو اجرا و روي بات كليك كن
4- پايان
_________

روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 
آخرین ویرایش:

MnavidM

Active Member
سلام
موقعي كه رايانه رو خواموش مي كنم مي خوام دلفي خود به خود قبل از خاموشي به من يك message بدهد
message: سيدي رام هاي خود را چك كنيد
آيا شدني ؟
please answer this question
می توانید یک در رویداد Onclose فرم خودتون این پیغام رو بنویسید.

حالا وقتی برنامه اجرا هست و سیستم بخواهد خاموش شود و یا بخواهید فرم را ببندید این پیغام نمایش داده می شود.
 

sepeideh

New Member
با سلام و خسته نباشی لطفآ کد جستجوی شماره تلفن بر اساس نام را در زبان دلفی ارسال کنید
با تشکر فراوان
 

DrXoX

Active Member
سلام

به همه دوستان خوبم در مجید آنلاین و به خصوص دوستان خوبم در انجمن برنامه نویسی ، چند ماهی نبودم و خوشحالم که دوباره برگشتم

sepeideh خانم

با استفاده از دستورات SQL می تونید و با استفاده از Adoquery به راحتی می تونید این کار رو انجام بدین

یک سری با تاپیک زیر بزنید

کد:
http://forum.majidonline.com/showthread.php?t=79164


تو کدهای که در این تاپیک وجود داره یک کمی تغییر بدی چیزی رو که می خوایین بدست میاری

باز هم اگه مشکلی بود بپرسید تا جایی که بتونم و از دستم بر بیاد کمک می کنم

موفق باشید
 
آخرین ویرایش:

farhad110

Member
سلام.
DrXoX رفیق معاومه کجا بودی. 1 ماهی هست که خبری ازت نبود. خوش اومدی
ضمنا sepeideh عزیز اگر به لینک امضای بنده هم مراجعه کنید نتایج خوبی میگیرید
موفق باشی
 

as13851365

New Member
هر سوالی راجع به دلفی داری بپرس (استاد دلفی) !?!?!

من یک برنامه مطرح می کنم امیدوارم که اگر این برنامه از نظر بقیه دوستان اشکالی نداشت این برنامه را همه با هم شروع کنیم.

من برداشت خود را از برنامه های تحت شبکه چنین بیان می کنم :

1 ) 5 تا کامیپوتر داریم که روی چهار تای اونها ویندوز Xp نصب است و روی کامپیوتر شماره 5 سرور 2000 نصب است
2 ) همه کامپیوتر ها با هم شبکه هستند ( تا این جا که مشکلی نیست)
3 ) حالا ما یک بانک طراحی می کنیم و آن را در کامپیوتر شماره 5 ( سرور ) قرار می دهید ( مشکلی که نیست )
4 ) حالا ما باید برنامه ی خود را در کامپیوتر های 1 و 2 و 3 و 4 قرار دهیم این برنامه ها باید به بانکی که در کامپیوتر 5 ( سرور ) قرار دارد وصل بشن و اطلاعات را بخونند و بنویسند.


حالا برنامه ی پیشنهادی من :
برنامه پیشنهادی من یک دفتر تلفن است ( هم ساده است و هم همه می تونند اون را بنویسند مشکلی با برنامه نخواهیم داشت )
نکته : همه ی کامپیوتر ها می تونند به بانک اطلاعاتی را اضافه و یا اطلاعاتی را از بانک حذف و یا ویرایش کنند .

ما تا این جا را می دونستیم امیدوارم که بقیه دوستان کمک کنند و یا اگر یکی از دوستان برنامه ی بهتری در ذهن داره معرفی کنه تا همه این برنامه را تحت شبکه بنویسیم
 

DrXoX

Active Member
سلام

as13851365 عزیز والا چند ماه پیش قرار بود به صورت گروهی یک برنامه با دلفی بنویسیم همه هم موافق بودن ، هر کس هم یک

پیشنهادی داد و داشتیم به یک نتایجی می رسیدیم که ...

فکر نمی کنم به این سادگی ها بشه تو ایران کار گروهی انجام داد طوری که هر کسی وظیفه خودش رو انجام بده ولی من مثل دفعه

پیش با این پیشنهاد موافقم ، راستش من تا حالا کاری که بصورت شبکه ای باشه رو انجام ندادم چرا دروغ بگم بلد هم نیستم خیلی

دوست دارم یاد بگیرم

راستی فرهاد جان یه سری مشکلات پیش اومد نتونستم بیام

موفق باشید
 

m_z

New Member
سلام. خواهشا يكي از دوستان در مورد نحوه ي گزارشگيري تو دلفي 6 با استفاده از Quick Report يه توضيحي بده.
من چند RQlabel و RQdbtext گذاشتم و به بانكم وصلش كردم ولي تو اجرا هيچ كدوم از اطلاعاتم نمياد. چيكارش كنم؟ نميشه براي گزارشگيري از ابزارهاي ديگه استفاده كرد؟ آخه مي خوام يه جدول درست كنم كه همه ركوردهام بياد توش ولي نمي تونم. بايد چيكار كنم؟
 

DrXoX

Active Member
سلام. خواهشا يكي از دوستان در مورد نحوه ي گزارشگيري تو دلفي 6 با استفاده از Quick Report يه توضيحي بده.
من چند RQlabel و RQdbtext گذاشتم و به بانكم وصلش كردم ولي تو اجرا هيچ كدوم از اطلاعاتم نمياد. چيكارش كنم؟ نميشه براي گزارشگيري از ابزارهاي ديگه استفاده كرد؟ آخه مي خوام يه جدول درست كنم كه همه ركوردهام بياد توش ولي نمي تونم. بايد چيكار كنم؟

سلام

دوست عزیز شما باید Dataset خود QuickRep رو هم به جدول مورد نظر وصل کنی

موفق باشید
 

m_z

New Member
سلام. DrXoX عزيز، اينكار رو هم كردم ولي اصلا اطلاعات توي بانكم رو نمايش نميده. ممكنه يه نمونه گزارشگيري با qreport برام بفرستي. مي خوام يه نمونه اينكارو ببينم و با تنظيم صفحه اون آشنا بشم. البته براي اينكار هم تو اين سايت و هم در سايتهاي ديگه سرچ كردم . يه چيزايي هم گيرم اومده ولي هيچ كدوم يا جواب من نيست يا اصلا جواب نميده. تو رو خدا راهنماييم كنيد شديدا لازمش دارم. مرسي
 

artadokht

New Member
salam , khobid ? rastesh man khial draam ke ye narm afzare shimi dorst konam , ama khodma khili dar baranme nevisisi haa etteaa ee nadaram , 1 az dost ahye man be man pish nehad dade bod ke kar ham ro roye in savar konam , dra hale hman etetlaaatam khili kamee, mihastam bebeinam mohitii ee delphi che jory hastt oo ch e emkanate kahsy dare ke on ro az bar name nevisis haye dige mesle c oo in ha joda mikone, ? kolan msihe ye tozihe mokhtasar baraye man bediid??? mamnon msiham
 

DrXoX

Active Member
سلام

artadokht عزیز ورودتون رو به جمع دوستانه فروم مجید آنلاین تبریک میگم لطفا قوانین فروم رو رعایت کنید نوشتن فینگلیش تو فروم ها ممنوعه

در مورد سوالی که پرسیدن : تفاوت C با دلفی تو اینه که دلفی برنامه نویسی شی گرا هستش اگه بخوام ساده بگم فرض کن بخوای تو C یک دکمه بسازی باید کلی کد بنویسی تا دکمه ساخته بشه ولی در دلفی به راحتی آب خوردن این کار رو میشه انجام داد و نیازی هم به کد نویسی نداره در مورد سوالی که پرسیدین باید بگم که شما بگید برنامه ای که گفتید باید چه کارهایی انجام بده تا بیشتر بتونیم با دوستان راهنمایی تون کنیم

در مورد دلفی باید بگم که الان توی ایران بیشتر از دلفی استفاده میشه بعد وی بی و سی شارپ و آخر از همه هم جاوا

کد نویسی در دلفی به زبان پاسکال هستش و این که یاد گیری دلفی فقط و فقط یه کم تلاش می خواد و انجام پروژه های مختلف

باز هم سوالی داشتید بپرسید
 

DrXoX

Active Member
سلام. DrXoX عزيز، اينكار رو هم كردم ولي اصلا اطلاعات توي بانكم رو نمايش نميده. ممكنه يه نمونه گزارشگيري با qreport برام بفرستي. مي خوام يه نمونه اينكارو ببينم و با تنظيم صفحه اون آشنا بشم. البته براي اينكار هم تو اين سايت و هم در سايتهاي ديگه سرچ كردم . يه چيزايي هم گيرم اومده ولي هيچ كدوم يا جواب من نيست يا اصلا جواب نميده. تو رو خدا راهنماييم كنيد شديدا لازمش دارم. مرسي

M_Z عزیز

آموزش گزارش گیری در دلفی با استفاده از Quick Report

شما به احتمال زیاد با این گزارش ها برخورد داشته اید به عنوان مثال : ریز مکالمات تلفن ، ریز نمرات ، صدور کارنامه و....
شما با استفاده از این ابزار در دلفی می توانید انواع گزارش ها را درست کرده و چاپ کنید
من فرض را بر این میگیرم که شخصی که این آموزش را می خونه برای بار اول است که می خواهد از این ابزار استفاده کنه بنابراین به صورت ساده و روان و به صورت خلاصه آن را آموزش می دم ، چون هر مطلبی همیشه ممکن است دارای اشکالاتی باشد ازاساتید محترم خواهش می کنم اگر در آموزش اشکالی را مشاهده کردند آن را مطرح کنند تا کاربرانی که از این آموزش استفاده می کنند دچار مشکل نشوند

شروع :

Quick Report به صورت پیش فرض در دلفی نصب نمی باشد و باید آن را به صورت دستی نصب کنید برای نصب باید به منوی Component بروید و سپس روی گزینه Install Packages کلیک کنید(شکل زیر):


293u7g0.jpg


و در پنجره بعدی روی دکمه Add کلیک کنید (شکل زیر):

2z5qird.jpg



در پنجره بعدی باید به شاخه Bin در دلفی بروید برای مثال اگر دلفی شما در درایو C نصب باشد این مسیر به صورت C:\Program Files\Borland\Delphi7\Bin می باشد.

در این شاخه روی dclqrt70.bpl کلیک کنید (شکل زیر)

2ekukxt.jpg


سپس روی Open این پنجره وبعد روی دکمه Ok کلیک کنید
تا اینجا ما Quick Report رانصب کردیم
این ابزار الان به آخرین تب دلفی اضافه شده است (شکل زیر):

2lsfb6s.jpg


برای ساختن یک فرم چاپ به این تب(QReport) بروید

یک کنترل QuickRep از این تب روی فرم قرار بدین

مهمترین خاصیت این کنترل ، خاصیت Bands آن می باشد
با استفاده از + کنار این خاصیت آن را گسترش دهید در شکل زیر این خاصیت ها به طور مختصر توضیح داده شده است:

258426x.jpg


کنترل های پرکاربرد تب QReport :

QRlabel : برچسب برای اطلاعات ثابت


QRDBText : اطلاعاتش را از دیتابیس می گیرد که دارای دو خاصیت است

DataSet : دیتابیس مورد نظر

DataField : فیلد مورد نظر

QRSysData : برای اتصال فرم چاپ به یکی از توابع سیستمی مثل ساعت ، تاریخ و... با استفاده از خاصیت Data ی آن

QRImage : برای عکس های ثابت (مثل آرم شرکت و...)

QRDBImage: عکس را از دیتا بیس می گیرد

خاصیت DataSet :

از خاصیت DataSet مربوط به QuickRep به دوصورت می توانید استفاده کنید

1- اتصال DataSet به جدول مورد نظر : در صورتی این خاصیت را به جدول مورد نظر خود وصل کنید که بخواهید تمامی اطلاعات را نمایش دهید به عنوان مثال تمامی مکالمات یک فرد در طول یک ماه

2- خالی گذاشتن خاصیت DataSet : در صورتی که بخواهید فقط اطلاعات یک نفر خاص را نمایش دهید به عنوان مثال نمایش مکالمات یک روز خاص ، مشترک

ادامه کار را با یک مثال ادامه می دهم

مقدار خاصیت HasColumnHeadr و HasDetail را به True تغییر دهید

بعد از این کار QuickRep شما به صورت شکل زیر در خواهد آمد

2r70fb4.jpg


فرض کنید ما می خواهیم نام ، نام خانوادگی یک فرد را از جدول اول و نام کالا و قیمت کالا را از جدول دوم نمایش دهیم برای این کار:
چهار کنترل QRLabel در باند Column Header و چهار کنترل QRDBText روی باند Detail قرار دهید (شکل زیر)

27z9eo8.jpg


حال Caption های QRLabel ها را به فیلد های مورد نظر خود تغییر دهید برای این مثال ما آنها را نام ، نام خانوادگی ، نام کالا و قیمت کالا قرار می دهیم (شکل زیر)

2d8gmtg.jpg
 

DrXoX

Active Member
سلام. DrXoX عزيز، اينكار رو هم كردم ولي اصلا اطلاعات توي بانكم رو نمايش نميده. ممكنه يه نمونه گزارشگيري با qreport برام بفرستي. مي خوام يه نمونه اينكارو ببينم و با تنظيم صفحه اون آشنا بشم. البته براي اينكار هم تو اين سايت و هم در سايتهاي ديگه سرچ كردم . يه چيزايي هم گيرم اومده ولي هيچ كدوم يا جواب من نيست يا اصلا جواب نميده. تو رو خدا راهنماييم كنيد شديدا لازمش دارم. مرسي

سلام
M_Z دوست خوبم این آموزش گزارش گیری با QReport هستش

آموزش گزارش گیری در دلفی با استفاده از Quick Report

شما به احتمال زیاد با این گزارش ها برخورد داشته اید به عنوان مثال : ریز مکالمات تلفن ، ریز نمرات ، صدور کارنامه و....
شما با استفاده از این ابزار در دلفی می توانید انواع گزارش ها را درست کرده و چاپ کنید
من فرض را بر این میگیرم که شخصی که این آموزش را می خونه برای بار اول است که می خواهد از این ابزار استفاده کنه بنابراین به صورت ساده و روان و به صورت خلاصه آن را آموزش می دم ، چون هر مطلبی همیشه ممکن است دارای اشکالاتی باشد ازاساتید محترم خواهش می کنم اگر در آموزش اشکالی را مشاهده کردند آن را مطرح کنند تا کاربرانی که از این آموزش استفاده می کنند دچار مشکل نشوند

شروع :

Quick Report به صورت پیش فرض در دلفی نصب نمی باشد و باید آن را به صورت دستی نصب کنید برای نصب باید به منوی Component بروید و سپس روی گزینه Install Packages کلیک کنید(شکل زیر):


293u7g0.jpg


و در پنجره بعدی روی دکمه Add کلیک کنید (شکل زیر):

2z5qird.jpg



در پنجره بعدی باید به شاخه Bin در دلفی بروید برای مثال اگر دلفی شما در درایو C نصب باشد این مسیر به صورت C:\Program Files\Borland\Delphi7\Bin می باشد.

در این شاخه روی dclqrt70.bpl کلیک کنید (شکل زیر)

2ekukxt.jpg


سپس روی Open این پنجره وبعد روی دکمه Ok کلیک کنید
تا اینجا ما Quick Report رانصب کردیم
این ابزار الان به آخرین تب دلفی اضافه شده است (شکل زیر):

2lsfb6s.jpg


برای ساختن یک فرم چاپ به این تب(QReport) بروید

یک کنترل QuickRep از این تب روی فرم قرار بدین

مهمترین خاصیت این کنترل ، خاصیت Bands آن می باشد
با استفاده از + کنار این خاصیت آن را گسترش دهید در شکل زیر این خاصیت ها به طور مختصر توضیح داده شده است:

258426x.jpg


کنترل های پرکاربرد تب QReport :

QRlabel : برچسب برای اطلاعات ثابت


QRDBText : اطلاعاتش را از دیتابیس می گیرد که دارای دو خاصیت است

DataSet : دیتابیس مورد نظر

DataField : فیلد مورد نظر

QRSysData : برای اتصال فرم چاپ به یکی از توابع سیستمی مثل ساعت ، تاریخ و... با استفاده از خاصیت Data ی آن

QRImage : برای عکس های ثابت (مثل آرم شرکت و...)

QRDBImage: عکس را از دیتا بیس می گیرد

خاصیت DataSet :

از خاصیت DataSet مربوط به QuickRep به دوصورت می توانید استفاده کنید

1- اتصال DataSet به جدول مورد نظر : در صورتی این خاصیت را به جدول مورد نظر خود وصل کنید که بخواهید تمامی اطلاعات را نمایش دهید به عنوان مثال تمامی مکالمات یک فرد در طول یک ماه

2- خالی گذاشتن خاصیت DataSet : در صورتی که بخواهید فقط اطلاعات یک نفر خاص را نمایش دهید به عنوان مثال نمایش مکالمات یک روز خاص ، مشترک

ادامه کار را با یک مثال ادامه می دهم

مقدار خاصیت HasColumnHeadr و HasDetail را به True تغییر دهید

بعد از این کار QuickRep شما به صورت شکل زیر در خواهد آمد

2r70fb4.jpg


فرض کنید ما می خواهیم نام ، نام خانوادگی یک فرد را از جدول اول و نام کالا و قیمت کالا را از جدول دوم نمایش دهیم برای این کار:
چهار کنترل QRLabel در باند Column Header و چهار کنترل QRDBText روی باند Detail قرار دهید (شکل زیر)

27z9eo8.jpg


حال Caption های QRLabel ها را به فیلد های مورد نظر خود تغییر دهید برای این مثال ما آنها را نام ، نام خانوادگی ، نام کالا و قیمت کالا قرار می دهیم (شکل زیر)

2d8gmtg.jpg


حالا باید QRDBText ها را به فیلد های مورد نظر وصل کنیم

برای این کار روی QRDBText1 کلیک و خاصیت DataSet را به جدول مورد نظر، برای مثال AdoTable1 وصل می کنیم و خاصیت DataField آن را به فیلد مورد نظر، در این مثال Name قرار می دهیم ، برای نام خانوادگی نیز به همین ترتیب عمل می کنیم

برای QRDBText 3 که آن را برای نام کالا در نظر گرفته ایم DataSet آن را به جدول مربوط به کالا ها ، برای مثال AdoTable2 وصل کنیم و DataField آن را به فیلد مورد نظر از این جدول وصل کنیم در این مثال آن را به KName (نام کالا ) وصل می کنیم و برای قیمت نیز به همین ترتیب عمل می کنیم

تا اینجا 98 درصد کارتموم شده فقط مونده چه طور این اطلاعات را نمایش بدهیم برای این کار یک Button روی Quick Rep یا روی فرم قرار بدین بعد کد زیر را داخلش بنویسید :

کد:
QuickRep.Preview;

حالا برنامه رو اجرا و روی Button کلیک کنید می بینید اطلاعات مربوطه نمایش داده می شود

برای چاپ (پرینت ) نیز می توانید از کد زیر استفاده کنید

کد:
QuickRep.Print;

باز هم مشکلی بود من در خدمتم

موفق باشید
 

m_z

New Member
سلام. DrXoX جان خيلي گلي. مرسي. من اينارو تست كنم بازم اگه جاييش موندم مزاحمت ميشم. فكر ميكنم قسمت گزارشگيري پروژه ام فقط با كمك شما تموم شه. بهرحال كمك بزرگي بهم كردي. ممنونم
 

m_z

New Member
سلام.
وقتي براي بعضي از دكمه ها (مثل دكمه درج و حذف) توي رويداد onclick اونا ميگي كه يه فرم ديگه رو باز كنه ( براي تأييد عمل درج يا حذف) و اون فرم دوتا دكمه ok و cancel داشته باشه، چطوري ميشه از اين فرم براي چند تا دكمه توي فرمهاي مختلف استفاده كرد؟ توي رويداد onclick اون دو تا دكمه چي بايد نوشت ؟ فكر ميكنم بايد يه شرط براش گذاشت كه اگه form1 باز بود datamodule.adotable1.post و اگه يه فرم ديگه باز بود طبق اون فرم عمل كنه. ولي نميدونم چطوري كدشو بايد نوشت.
اميدوارم منظورمو رسونده باشم. ممنون ميشم راهنماييم كنيد.
 

جدیدترین ارسال ها

بالا