Silver Soft
کاربر متخصص مولتی مدیا بیلدر
امروز بعد از چند ماه وقت کردم و چند دقیقه ای نشستم پای سورس این نرم افزار ( 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]);
کد:
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 مال همون ورژن قبلی هست ، هر کسی خواست اسمش رو اضافه کنه تو عکس به همراه اسم آقا سعید و من اضافه کنه و کاری هم که برای بهبود نرم افزار انجام داده ذکر کنه ...
موفق باشید .پیوست ها
آخرین ویرایش:









