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

arash_j13

Member
سلام استاد عزیز
من می خواستم اطلاعاتی در باره Virtual method rable و dynamic method table در دلفی داشته باشم و با طریقه پیاده سازیش بیشتر اشنا بشم
 

DrXoX

Active Member
آرش جان شرمنده من در این زمینه اطلاع ندارم
معذرت می خوام
_______________
روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 

1Program

Member
سلام :
من مي خواهم بدان آيا با Bds 4.0 مي تونم برنام هاي كاربردي براي موبايل بنويسم .
اگر به Sdk يا فايل ديگري نياز است لطفاً لينك آنرا بگذاريد .
 

MnavidM

Active Member
سلام :
من مي خواهم بدان آيا با Bds 4.0 مي تونم برنام هاي كاربردي براي موبايل بنويسم .
اگر به Sdk يا فايل ديگري نياز است لطفاً لينك آنرا بگذاريد .
در این مورد اطلاعات خاصی پیدا نکردم ،

برای چه نوع موبایلی می خوای ، برنامه بنویسی ؟
 

nasimonline

New Member
سلام
چه طور میشه در دلفی برنامه رسم دایره و مستطیل را نوشت؟ تابع خاصی داره؟
 

DrXoX

Active Member
سلام
بله تابع Canvas
طرز استفاده :
1 - قرار دادن یک Button روی فرم ونوشتن کد زیر در OnClick آن
form1.Canvas.Rectangle(50,50,100,200 )- 2
3- به جای Rectangle با زدن Ctrl+space میتوانید اونها رو هم استفاده کنید
4 - اجرای برنامه
5- پایان
________________
روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 

DrXoX

Active Member
سلام 1Program
ببخشید که یه خورده دیر شد
برای اطلاعات بیشتر به سایت زیر مراجعه کنید
http://delphi.about.com/cs/toppicks/tp/aatpmobile.htm
فقط شرمنده سایت فارسی که در این باره کامل توضیح داده باشه پیدا نکردم
باز هم اگه مطلبی در این زمینه پیدا کردم می نویسم
______________________
روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 
با سلام

من می خواهم در دلفی با دیتابیس اکسس یک برنامه بسازم که قسمت مدیریت فقط در اختیار مدیر باشد و مدیر بتواند سطح دسترسی کاربران را به بخش های خرید و فروش معین کند
 

saalek110

Well-Known Member
من می خوام دلفی یاد بگیرم . آیا اشکالات من را جواب می دهید؟یا فقط به سئوالات تخصصی در این تاپیک جواب می دهید؟
 

DrXoX

Active Member
سلام آقای قاسم شامی
برای این کار چندین روش وجود داره که من یک راه ساده و مفید را می نویسیم اگر باز هم در این زمینه اطلاعات خواستید من در خدمتم خوب بریم سر اصل مطلب
1-یک جدول در اکسس با هر نام دلخواهی برای مدیران درست کنید که مثلا نام و کد مدیران در آن نوشته شده باشد
2- جدول را را به دلفی اتصال بدین(با Adotable و Datasource)
2-دو تا ادیت روی فرم Login قرار بدید ( فرم Login اولین فرمی که در برنامه های کاربردی ظاهر می شود)
3- دو تا ادیت و یک باتن روی فرم قرار بدین
4- در onclick باتن کد زیر را بنویسید
5-if adotable1.locate('name',edit1.text,[]) and adotable1.locate('code',edit2.text,[])=true then
form2.show
else
showmessage('lotfan name va code modir ra dorost vared konid')- 6
7- که به جای فرم 2 هر فرم دیگری که مخصوص مدیر میباشد را می تونید وارد کنید
8-برای کاربران هم به همین صورت میشه سطح تعیین کرد مثلا توسط چند ادیت ابتدا ثبت نام کنند بعد از ثبت نام توسط مثلا یک ادیت که شماره کاربر را دریافت می کند آن را در بانک اطلاعات مانند مرحله 5 جستجو کند و اگر کاربری با این شماره وجود داشت مثلا وارد فرم 3 که مخصوص کاربران است بشود
خوب این یه روش بود یه روش ساده تر هم میگم هر کدام که دوست داشتید استفاده کنید
1-یک فرم login با یک ادیت و یک باتن
2-داخل onclick فرم بنویسید if edit1.text='alireza' then
form2.show
نکته : فرض کردیم که فرم 2 مخصوص مدیر و نام مدیر هم علیرضا باشه
3- در فرم 2 دو تا باتن قرار بدین یکی برای فعال کردن بخش فروش و دیگری هم برای فعال کردن بخش خرید
4- خوب حالا در فرم 3 که مخصوص کابران است 4 تا ادیت قرار بدین که دو تا از ادیت ها برای ورود به بخش فروش و 2 تای دیگه برای بخش خریده که بوسیله این ادیت ها کابران مثلا نام و کد کاربری خود را وارد و در صورت درست بودن وارد بخش خرید یا فروش می شوند
5- حالا به فرم 2 که برای مدیران بود برین و داخل بات 1 که برای فعال کردن بخش فروش بود کد های زیر را بنویسید
6- حالا به فرم 2 که دو باتن در اون قرار دادید برین و داخل باتن اول که برای بخش فروش است کد های زیر زا بنویسید
form3.show
edit1.enabled:=true
edit2.enabled:=true
edit3.enabled:=false
edit4.enabled:=false
7- حالاداخل باتن دوم که برای بخش خرید است کد های زیر زا بنویسید
form3.show
edit1.enabled:=false
edit2.enabled:=false
edit3.enabled:=true
edit4.enabled:=true
به خاطر این که کدها به هم نریزه در انتهای هر دستور; قرار ندادم که شما باید در برنامه قرار بدین
خوب حالا مدیر با وارد شدن به بخش مدیریت که همون فرم 2 هستش میتونه تعیین که که ادیت هایی که برای ورود به بخش خرید هستن فعال باشه یا ادیت هایی که برای ورود به بخش خرید هستن فعال باشن(فرم 3 )
8- طرز استفاده را می تونید به سلیقه خودتون عوض کنید مثلا اگر مدیر روی یک بات خاص کلیک کرد یا یک کدی را در ادیتی وارد کرد یک سری ار کنترل هایی که در فرم مخصوص کابران هستند فعال یا حذف و... شوند که این بستگی به طرز فکر شما داره که چطوری بخواین مدیریت رو اعمال کنید
ببخشید که یه خورده دیر شد جوابتون
باز هم اگه راهنمایی خواستین من در خدمتم
_________________________
روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 

saalek110

Well-Known Member
با سلام خدمت اساتید.
من دلفی 7 را نصب کردم و 10 تا پروژه مبتدی را مرور کردم. مثل hello delphi و کمی بعد مثل درگ کنترلها و ....
فکر کنم این پروژه ها نمونه های Mastering Delphi 7 است که کتابش را هم من دارم. و مروری کردم.

سئوالم اینه که دلفی هفت میشه دو هزار و چند؟ به این خاطر میگم تا بدونم چه کتابهایی را باید دانلود کنم. این سایت را ببینید:
http://www.flazx.com/category10.php

کدام ها را پیشنهاد می کنید دانلود کنم؟ با وی بی و سی شارپ کمی آشنایی دارم.
دلفی 4 را هم دانلود کنم؟ یعنی ورژن های قبلی کمک کننده است یا باعث گیج شدن میشه؟
 
آخرین ویرایش:

arash_j13

Member
دلفی هر چی جدید تر باشه بهتر حتی می تونم بگم پیچیگیش هم کمتره ولی برای شروع همون دلفی هفت خوبه این نسخه تولید سال 2001 هست البته فکر نکنم این کتاب های برای شروع خوب باشه
 

helec

Member
یه سوال

سلام
فرض کنید می خوام از داخل برنامه خودم یه
فایل exe دیگه رو فراخوانی کنم
باید چکار کنم تا قبل از این که اون فایل بسته نشده
برنامه من اجرا نشه
مثلا قبل از این که فرم اصلی برنامه نشون داده بشه
یه فایل word باز بشه بعد از این که کاربر اون فایل
رو بست ، برنامه ، صفحه اصلی نشون داده بشه
و تا موقعیکه کاربر اون رو نیسته نتونه وارد برنامه بشه
ممنون
 

arash_j13

Member
می تونید برنامه رو تو یه حلقه نگه دارید و توی این حلقه چک کنید که پنجره ای که باز کردید هنوز بازه یا نه برای این کار می تونید از تابع find window استفاده کنید یا اینکه لیست پروسه های در حال اجرا رو بگیردی و ببیند که آیا پروسه ای که شما راه انداختید هنوز داره اجرا می شه یا نه فقط یه مشکلی هست اونم اینکه این حلقه باعث کنید شدن سیستم می شه که می تونید برای حلش تو حلقه تابع sleep رو فراخوانی کنید و پروسه رو برای مثلا پانصد یمیلی ثانیه متوقف کنید تا زمان پردازش کمتری به این برنامه اختصاص پیدا کنه
 

DrXoX

Active Member
سلام Saalek
1- دلفی 7 برای سال 2002-2001 می باشد
2- برای شروع برای این که علاقه مند هم بشی به دلفی کتاب دلفی 7 دیبا گران خوبه این کتاب رو میشه تو 2 روز بخونی آخه مقدماتیه بعد میتونی پیشرفتشم بخونی
3 - اگر هم دوست داشتی که مقدماتی و پیشرفته رو با هم یه جا بخونی کتاب دلفی 7 عین ا.. جعفر نژاد قمی رو بخون
4 -شما که با وی بی و سی شارپ کار کردی دلفی هم به راحتی می تونید یاد بگیرید
5 - اگه سوال دیگه ای هم داشتید من تا جایی که بتونم کمک می کنم
______________________
روزي کـه تو آمــــدي به دنيا عــريان *** جمعي به تو خندان و تو بودي گريان
کاري بکن اي دوست که وقت رفتن *** جمعي به تو گريند و تو باشي خندان
 

helec

Member
سلام
می تونید برنامه رو تو یه حلقه نگه دارید و توی این حلقه چک کنید که پنجره ای که باز کردید هنوز بازه یا نه برای این کار می تونید از تابع find window استفاده کنید یا اینکه لیست پروسه های در حال اجرا رو بگیردی و ببیند که آیا پروسه ای که شما راه انداختید هنوز داره اجرا می شه یا نه فقط یه مشکلی هست اونم اینکه این حلقه باعث کنید شدن سیستم می شه که می تونید برای حلش تو حلقه تابع sleep رو فراخوانی کنید و پروسه رو برای مثلا پانصد یمیلی ثانیه متوقف کنید تا زمان پردازش کمتری به این برنامه اختصاص پیدا کنه

میشه یه مثال کوچلو بذارین
ممنون
 

arash_j13

Member
مثل این
کد:
program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms
  ,Windows,shellapi
  { add your units here }, Unit1;
begin
  ShellExecute(0,'open','notepad.exe',nil,nil,1);
  repeat
        sleep(500);
  until findwindow('Notepad',nil)<=0 ;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
البته من دلفی نداشتم اینو با lazarus کامپایل کردم ولی برای دلفی هم همین طوره
 

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

بالا