سورس نرم افزار MMB Function Creator

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
:Dسلام به همه ی دوستان عزیز ،

امروز بعد از چند ماه وقت کردم و چند دقیقه ای نشستم پای سورس این نرم افزار ( MFC ( MMB Function Creator و راه حلی هم برای اون قسمت از برنامه که قرار بود سورس وارد شده رو با Syntax خود MMB نمایش بده پیدا کردم ، ولی متاسفانه وقت نمیکنم به هیچ وجه کل Syntax بیلدر رو پیاده سازی کنم .

این شد که تصمیم گرفتم سورس این نرم افزار رو که خیلی هم براش زحمت کشیدم بزارم تا هر کس خواست این کلمات رو بهش اضافه کنه و اگر هم کسی خواست بهش چیزهایی رو اضافه کنه ...

خلاصه تصمیم گرفتم بزنم تو کار Open Source و منبع باز و این حرفا ...

یه توضیح بدم اگر کسی خواست برنامه رو کامل کنه راحت تر این کار رو بکنه :

وقتی سورس برنامه رو از حالت Rar خارج کردین تو پوشه ی Function Creator یه فایل هست با نام Unit4.pas که قسمت مربوط به سینتکس برنامه رو اینجا نوشتم ، محتوسات فایل به صورت زیر است :

کد:
[COLOR="Red"]unit Unit4;

interface

uses ComCtrls, Graphics, Unit1;
Procedure Syntax;

implementation

// HighLight the richedit special code
Function HighLight(RichEdit:TRichEdit;Text:String;Color:TColor;FontStyles:TFontStyles):string;
var
StartPos,ToEnd,a:integer;
begin
While a<>-1 do begin
    if RichEdit.SelLength <> 0 then
      StartPos := RichEdit.SelStart + RichEdit.SelLength
    else
      StartPos :=0;
  ToEnd := Length(RichEdit.Text) - StartPos;
  a:=RichEdit.FindText(Text,StartPos,ToEnd,[]);
  if a<> -1 then begin
    RichEdit.SelStart := a;
    RichEdit.SelLength :=Length(Text);
    RichEdit.SelAttributes.Color := Color;
    RichEdit.SelAttributes.Style:=FontStyles;
  end;
end;
end;

Procedure Syntax;
begin[/COLOR]
// MMB Syntax here
  HighLight(Frm_Main.RC_Code,'CHR',ClBlue,[]);
  HighLight(Frm_Main.RC_Code,'LoadText',CLHotLight,[FSBold]);
  HighLight(Frm_Main.RC_Code,'var',ClRed,[FSBold]);

// Set richedit color & style to normal
[COLOR="#ff0000"]  Frm_Main.RC_Code.SelStart:=Length(Frm_Main.RC_Code.Text);
  Frm_Main.RC_Code.SelAttributes.Color :=ClBlack;
  Frm_Main.RC_Code.SelAttributes.Style:=[];
end;

end.[/COLOR]

قسمت هایی که به رنگ قرمز هست مربوط به سورس برنامه هست پس بهتره دست توشون نبرین .
کار شما فقط تو این قسمت هست :
کد:
// MMB Syntax here
  HighLight(Frm_Main.RC_Code,'CHR',ClBlue,[]);
  HighLight(Frm_Main.RC_Code,'LoadText',CLHotLight,[FSBold]);
  HighLight(Frm_Main.RC_Code,'var',ClRed,[FSBold]);
که فقط کافیه مثل 3 تا نمونه ای که من نوشتم بقیه ی دستورات بیلدر رو اضافه کنید ...

کد:
HighLight([COLOR="Green"]Frm_Main.RC_Code[/COLOR],'[COLOR="RoyalBlue"]var[/COLOR]',[COLOR="DarkOrchid"]ClRed[/COLOR],[[COLOR="DarkOrange"]FSBold[/COLOR]]);

قسمت سبز رنگ تو همه ی خطوط ثابت هست و شما هم چیزی رو جایگزینش نکنید .
قسمت آبی رنگ نامه کلمه ی مورد نظر ( بیلدر ) هست . ( مثل نمونه ها )
قسمت بنفش نام رنگ مورد نظر هست که باید قبل از نام رنگ عبارت cl رو هم اضافه کنید ( رنگ ها باید بر اساس سینکس بیلدر باشه تا شبیه بیلدر در بیاد ) .( مثل نمونه ها )
قسمت نارنجی رنگ هم نوع خط هست که ختما باید داخل [] باشه ( نوع خط مثل Bold یا Italic ) که باید قبل از اون هم کلمه ی fs رو حتما اضافه کنید ( مثل نمونه ها )


راستی پوسته نرم افزار هم عوض شده و فکر میکنم بهتر هم شده ، در ضمن یادتون نره که یکی از اصول کار کردن روی نرم افزارهای متن باز ( Open Source ) این هست که بعد از اضافه کردن تغییرات و ... فقط نام خودتون رو به همراه کاری که برای نرم افزار کردین رو به قسمت About نرم افزار اضافه کنید و تو نام و نویسنده های دیگه ی برنامه دست نبرید ... میدونم که این قسمت رو همه ی دوستان میدونن و رعایت میکنن ولی لطفا اگر کسی این پست رو تو وبلاگ یا ... کپی کرد این نکته رو هم ذکر کنه تا زحمات دیگر دوستان هدر نره .

از آقا سعید هم بابت گرافیک ورژن قبلی برنامه ممنون ، قسمت About مال همون ورژن قبلی هست ، هر کسی خواست اسمش رو اضافه کنه تو عکس به همراه اسم آقا سعید و من اضافه کنه و کاری هم که برای بهبود نرم افزار انجام داده ذکر کنه ...

:rose:موفق باشید .
 

پیوست ها

  • Open MFC.part01.rar
    976.6 کیلوبایت · بازدیدها: 74
  • Open MFC.part02.rar
    976.6 کیلوبایت · بازدیدها: 59
  • Open MFC.part03.rar
    976.6 کیلوبایت · بازدیدها: 48
  • Open MFC.part04.rar
    976.6 کیلوبایت · بازدیدها: 57
  • Open MFC.part05.rar
    230 کیلوبایت · بازدیدها: 59
آخرین ویرایش:

Silver PC

Well-Known Member
کارت درسته
من خیلی وقته میخوام سورس رو ببینم و بفهمم چی کار کردی
الان یه برنامه خوب واسه بیکاری خودم استفاده کردم
خیلی باحالی
ممنون
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام، ممنون بابت در اختیار گذاشتن سورس برنامتون

من هم برای اینکه کمکی به پیشرفت پروژتون کرده باشم، لیست تعدادی از دستورات MMB رو براتون میزارم
کد:
if
then
else
end
for
to
infinity
next
false
true
Mou***(
MouseY(
MouseLButton(
MouseRButton(
MouseMButton(
PubWidth(
PubHeight(
PubX(
PubY(
ClientWidth(
ClientHeight(
IsMinimized(
IsVisible(
ObjectX(
ObjectY(
ObjectWidth(
ObjectHeight(
CurrentObject(
ImageScrollX(
ImageScrollY(
ImageWidth(
ImageHeight(
GetImageOpacity(
GetVideoParam(
ScrollBarSize(
MXCOL
MXROW
WinVer(
ScreenColors(
UsingWinNT(
GetMemory(
ScreenWidth(
ScreenHeight(
WorkAreaWidth(
WorkAreaHeight(
ProcType(
ProcFreq(
VAL(
CHAR(
CHR(
ORD(
LEN(
LOW(
UPP(
POS(
NOL(
StrCopy(
StrDel(
StrIns(
StrGet(
StrSet(
StrOfChar(
StrChange(
StrToFile(
StrToLine(
StrFromFile(
ExtractExt(
ExtractDir(
ExtractName(
ExtractDrive(
ABS(
INT(
RND(
GetArrayItem(
GetArrayNum(
CBK_Total
CBK_TotalSec
CBK_Time
CBK_TimeSec
CBK_MP3Type
CBK_MP3Bit
CBK_MP3Freq
CBK_MP3Name
CBK_Channels
CBK_ID3Song
CBK_ID3Artist
CBK_ID3Album
CBK_ID3Year
CBK_ID3Genre
CBK_Volume
CBK_NumTracks
CBK_VName
CBK_VTotal
CBK_VTotalSec
CBK_VTime
CBK_VTimeSec
CBK_VTotalFrames
CBK_VFrame
CBK_CurItemList
CBK_NumInList
CBK_TotalList
CBK_TotalListSec
CBK_TimeHMS
CBK_Time24
CBK_Hour
CBK_Minute
CBK_Second
CBK_Year
CBK_Month
CBK_MonthNum
CBK_Day
CBK_DayNum
CBK_DateNum
CBK_DateShort
CBK_DateLong
CBK_PageName
CBK_Error
CBK_Volume
CBK_URLpath
CBK_OpenFile
CBK_OpenDir
CBK_SelColor
CBK_Font
CBK_MsgEx

 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام
من سورس برنامتون رو ندیدم، ولی اگر طبق گفته ی خودتون کدهای Syntax Highlight همین کدهایی باشن که اینجا گزاشتین، بنظر میاد کامل نباشه، نه از جهت تعداد دستورات و توابع، بلکه از این جهت که دستوری برای Highlight رشته ها و .. وجود نداره
یعنی اینکه مثلاً هر خطی که قبل از مساوی کاراکتر $ وجود داشته باشه، پس این متغیر یک متغیر رشته ای هست و باید مقادیر طرف دیگر مساوی، در صورتی که بین دو سینگل کوتیشن باشن، به رنگ مثلاً قرمز تیره باشن
یا مثلاً تمام توابع MMB بعد از نامشون یک علامت پرانتز دارن که به این روش میشه تشخیصشون داد و باید به رنگ آبی تیره و پررنگ باشن
و همینطور اعداد و ثابتها و ....

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

ذکر این نکات برای کسانی که قصد گسترش این برنامه رو دارن بنظرم مفید اومد، امیدوارم موفق باشین
 

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
بله درسته ، اگر کسی کدهای mmb رو اضافه کرد من خودم بعد از اون این نکات رو به نرم افزار اضافه میکنم .
 

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

بالا