اديت باكس راست چين لطفا راهنمايي كنيد مهمه!

اديت باكس راست چين
با پلاگين ListboxExtras ليست باكس راست چين ميشه آيا پلاگين يا دستوري هست كه بشه اديت باكس رو هم راست چين كرد و چطور؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
الان دقیقاً خاطرم نیست که امکانش هست یا نه
پلاگینهای EditBox Plugin و TMemo رو چک کنید، شاید به نتیجه ای رسیدید
در ضمن یادم هست قبلترها یک مثال در تاپیک مثالهای مفید و کاربردی گذاشته بودم که با راست به چپ کردن کل صفحه، باعث میشد که ادیت باکس هم راست چین بشه، البته توجه دارید که کل محتویات صفحه راست چین میشن، از ادیت باکس و پاراگراف گرفته تا دکمه ها و...
 
الان دقیقاً خاطرم نیست که امکانش هست یا نه
پلاگینهای EditBox Plugin و TMemo رو چک کنید، شاید به نتیجه ای رسیدید
در ضمن یادم هست قبلترها یک مثال در تاپیک مثالهای مفید و کاربردی گذاشته بودم که با راست به چپ کردن کل صفحه، باعث میشد که ادیت باکس هم راست چین بشه، البته توجه دارید که کل محتویات صفحه راست چین میشن، از ادیت باکس و پاراگراف گرفته تا دکمه ها و...

متاسفانه جواب نگرفتم حتي پلاگين rtf رو هم امتحان كردم و باور كنيد بيشتر از دوساعت تمامي مثالهاي مربوط به اديت باكس رو ديدم و داخل مبحثها جستجو كردم اما اونايي كه تاپيك زده بودن خودشونم جواب نگرفتن چه برسه به من.
هيچوقت فكر نميكردم كه يه برنامه مثل بيلدر اينقدر در بعضي جاها مثل همين دستكاري اديت باكس يا عوض كردن بك گراند ليست باكس ضعيف باشه.
با اين حال يه مثال ديدم از پلاگين rtf آيا ميشه در داخل اين پلاگين مقادير ليست باكسو لود كرد مثل دستور لود تكست كه در اديت باكس انجام ميشه؟
متا سفانه مشكلم فقط لود كردن نيست و الا مقادير رو داخل يه تكست عادي هم ميشه لود كرد.مشكل اينه كه ميخوام حالت جستجوي اديت باكسو هم داشته باشه.
در واقع ميخوام مقداري كه داخل اين پلاگين تايپ ميشه در داخل ليست باكس جستجو بشه ولي خودم هر كاري كردم و هر تغيري دادم نشد.
ممنون ميشم راهنمايي كنيد.
 

evil_gates

اين نيز بگذرد ...
متاسفانه جواب نگرفتم حتي پلاگين rtf رو هم امتحان كردم و باور كنيد بيشتر از دوساعت تمامي مثالهاي مربوط به اديت باكس رو ديدم و داخل مبحثها جستجو كردم اما اونايي كه تاپيك زده بودن خودشونم جواب نگرفتن چه برسه به من.
هيچوقت فكر نميكردم كه يه برنامه مثل بيلدر اينقدر در بعضي جاها مثل همين دستكاري اديت باكس يا عوض كردن بك گراند ليست باكس ضعيف باشه.
با اين حال يه مثال ديدم از پلاگين rtf آيا ميشه در داخل اين پلاگين مقادير ليست باكسو لود كرد مثل دستور لود تكست كه در اديت باكس انجام ميشه؟
متا سفانه مشكلم فقط لود كردن نيست و الا مقادير رو داخل يه تكست عادي هم ميشه لود كرد.مشكل اينه كه ميخوام حالت جستجوي اديت باكسو هم داشته باشه.
در واقع ميخوام مقداري كه داخل اين پلاگين تايپ ميشه در داخل ليست باكس جستجو بشه ولي خودم هر كاري كردم و هر تغيري دادم نشد.
ممنون ميشم راهنمايي كنيد.

دوست عزیز
پلاگین هایی که جناب nevercom مثال زدن برای ایجاد یک ادیت باکس و کار بیشتر روی اون استفاده میشه و قابلیت تراز متن هم داره. مشکلی نداره.
چون شما فرمودید نمیشه من الان یکبار دیگه تست کردم. مثلا شما با پلاگین Tmemo و کد زیر میتونید متن رو راست چین کنید
کد:
set$='Right'
PluginSet("PlugIn","set$")
PluginRun("PlugIn","Alignment")

اما در مورد سوال دوم شما فکر میکنم منظورتون فراخوانی متن داخل ادیت باکسی که با این پلاگین ها ساخته شده به یک متغیر باشه درسته؟
اگه منظورتون رو درست متوجه شده باشم شما میتونید با دستور GetContent تو پلاگین EditBox و یا دستور GetText تو پلاگین Tmemo این کار رو انجام بدید.

دوست من شاید مثالهایی که برای این پلاگین ها وجود داره همه دستوراتی که این پلاگین پشتیبانی میکنه رو نداشته باشه. این دلیل بر این نیست که این پلاگین قدرت انجام این کار رو نداره. پیشنهاد میکنم به راهنمای دستورات پلاگین مراجعه کنید. اینطوری میتونید لیست تمامی فرامینی که میشه به این پلاگین ها صادر کرد رو ببینید.

موفق باشید.
 
دوست عزیز
پلاگین هایی که جناب nevercom مثال زدن برای ایجاد یک ادیت باکس و کار بیشتر روی اون استفاده میشه و قابلیت تراز متن هم داره. مشکلی نداره.
چون شما فرمودید نمیشه من الان یکبار دیگه تست کردم. مثلا شما با پلاگین tmemo و کد زیر میتونید متن رو راست چین کنید
کد:
set$='right'
pluginset("plugin","set$")
pluginrun("plugin","alignment")

اما در مورد سوال دوم شما فکر میکنم منظورتون فراخوانی متن داخل ادیت باکسی که با این پلاگین ها ساخته شده به یک متغیر باشه درسته؟
اگه منظورتون رو درست متوجه شده باشم شما میتونید با دستور getcontent تو پلاگین editbox و یا دستور gettext تو پلاگین tmemo این کار رو انجام بدید.

دوست من شاید مثالهایی که برای این پلاگین ها وجود داره همه دستوراتی که این پلاگین پشتیبانی میکنه رو نداشته باشه. این دلیل بر این نیست که این پلاگین قدرت انجام این کار رو نداره. پیشنهاد میکنم به راهنمای دستورات پلاگین مراجعه کنید. اینطوری میتونید لیست تمامی فرامینی که میشه به این پلاگین ها صادر کرد رو ببینید.

موفق باشید.


از راهنماييتون ممنون. من قبلا يه مثال خودم ساختم كه مقدار انتخابي ليست باكسو داخل يه اديت باكس لود ميكنه و يا مقدار داخل اديت باكسو در داخل ليست باكس جستجو ميكنه.
اما با پلاگين ياد نگرفتم حالا مثالو گذاشتم اگه ممكنه شما لطف كنيد و كاملش كنيد.
يعني آيتم داخل ليست باكسو داخل پلاگين لود كنه و با كليد جستجو مقدار داخل پلاگين رو در داخل ليست باكس جستجو كنه.
در ضمن اسكرول هاي پلاگين هم مخفي بشه چون ميخوام به جاي اديت باكس استفاده كنم و نيازي به اسكرول نيست.
ممنون ميشم اگه درستش كنيد چون خودم از پسش بر نميام.
 
آخرین ویرایش:
فيتيله انجمن تعطيله؟
آي آقاي بهشت كجايي كه:
ما دوزخيان چشم به راه تو سپرديم.
بيكار شديد يه حالي ام به ما بديد!
 

POP2

Member
من هم این رو نمی دونم برات این را پیدا کردم همه چیز داره وکارش با Editbox فقط باید با پلاگین کار کنی و از نمونه هم استفاده کنی اگر نشد خبرم بده تا چیز دیگه ای برات پیدا کنم.

لینک دانلود:

http://www.4shared.com/file/230198328/49cf42a7/EditBoxPlugIn15.html

این دومی را بهت پیشنهاد میکنم هم چی درباره editbox خودش فرمان داره: 500 کیلوبایت

http://www.4shared.com/file/230201413/6f3813c/TMemoPlugIn.html


با تشکر.
 
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
از راهنماييتون ممنون. من قبلا يه مثال خودم ساختم كه مقدار انتخابي ليست باكسو داخل يه اديت باكس لود ميكنه و يا مقدار داخل اديت باكسو در داخل ليست باكس جستجو ميكنه.
اما با پلاگين ياد نگرفتم حالا مثالو گذاشتم اگه ممكنه شما لطف كنيد و كاملش كنيد.
يعني آيتم داخل ليست باكسو داخل پلاگين لود كنه و با كليد جستجو مقدار داخل پلاگين رو در داخل ليست باكس جستجو كنه.
در ضمن اسكرول هاي پلاگين هم مخفي بشه چون ميخوام به جاي اديت باكس استفاده كنم و نيازي به اسكرول نيست.
ممنون ميشم اگه درستش كنيد چون خودم از پسش بر نميام.

دوست عزیز
متاسفانه دسترسی به mmb ندارم تا نمونه شما رو کامل کنم. لطفا بگید با چه پلاگینی این نمونه رو ساختید

اگه از پلاگین Editbox استفاده کردید. میتونید تو Page start این کد رو قرار بدید.
اینطوری پلاگین شما اسکرولش حذف میشه
کد:
set$='default'
PluginSet("PlugIn","set$")
PluginRun("PlugIn","ScrollStyle")

برای ارسال یک مقدار رشته ای به پلاگین و دریافت مقدار موجود در پلاگین هم میتونید از دستورات SetContent و GetContent استفاده کنید.
مقدار بازگشتی از ListBox رو به یک متغیر رشته ای نسبت بدید. مثلا 'set$='myvar
بعد مقدار این متغیر رو با دستور SetContent به پلاگین بفرستید تا نمایش بده.
کد:
set$='myvar'
PluginSet("PlugIn","set$")
PluginRun("PlugIn","SetContent")

برای جستجو مقدار داخل پلاگین هم مقدار بازگشتی از ListBox رو تو یک متغیر رشته ای بریزید. مقدار داخل پلاگین رو هم با دستور GetContent داخل یک متغیر رشته ای بریزید. با یک شرط اون رو چک کنید.
کد:
Listbox$='myvar'

PluginRun("PlugIn","GetContent") 

PluginGet("PlugIn","get$") 

If (get$=Listbox$) Then

   your commands

Else

   get other variable in listbox and chek again

End

تو کد بالا مقدار متغیر رشته ای $Listbox مقدار بازگشتی از شی ListBox فرض شده.
 

evil_gates

اين نيز بگذرد ...
من هم این رو نمی دونم برات این را پیدا کردم همه چیز داره وکارش با Editbox فقط باید با پلاگین کار کنی و از نمونه هم استفاده کنی اگر نشد خبرم بده تا چیز دیگه ای برات پیدا کنم.

لینک دانلود:

http://www.4shared.com/file/230198328/49cf42a7/EditBoxPlugIn15.html


با تشکر.


دوست عزیز
این آدرسی که شما اینجا گذاشتید راهنمای دستورات پلاگین های mmb هستند که قبلا بنده تو 4shared آپلود کردم.
دوستمون میتونن همین فایل رو تو مسیر X:\programfiles\multimediabuilder\Plugin\pluginindex جایی که نرم افزار mmb خودشون رو اونجا نصب کردن هم پیدا کنن و احتیاجی به دانلود ندارن.
 

POP2

Member
دومی چی اولی درسته اما من منظورم دومی چون خیلی کامله.
 

evil_gates

اين نيز بگذرد ...
دومی چی اولی درسته اما من منظورم دومی چون خیلی کامله.

دومی هم پلاگین Tmemo هست که شبیه به همین پلاگین EditBox که عرض کردم هست.

این پلاگین و نمونه کامل دستوراتش توسط جناب silvercover تو مبحث پلاگین ها ارائه شده

دوستان اگه لطف کنن و یکم جستجو کنن زودتر به نتایج مطلوبی میرسن.
 
پلاگين اديت باكس با چه دستوري راست چين ميشه من تونستم مقدار انتخابي رو از ليست باكس به داخل پلاگين فرا خواني كنم اما راست چين نيست اگه ممكنه راهنمايي كنيد.
 
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
پلاگين اديت باكس با چه دستوري راست چين ميشه من تونستم مقدار انتخابي رو از ليست باكس به داخل پلاگين فرا خواني كنم اما راست چين نيست اگه ممكنه راهنمايي كنيد.

احتیاجی به دستور خاصی تو پلاگین Editbox برای راست چین کردن نیست. شما میتونید با ctrl + shift سمت راست متن رو راست چین و با ctrl + shift سمت چپ متن رو چپ چین کنید.
 
احتیاجی به دستور خاصی تو پلاگین Editbox برای راست چین کردن نیست. شما میتونید با ctrl + shift سمت راست متن رو راست چین و با ctrl + shift سمت چپ متن رو چپ چین کنید.


واقعا خسته نباشي!
خب اين كه ضايع ميشه برنامه فارسي و هي به كار بر بگي كنترل شيفت بگير تا درست بشه در ضمن در ابتداي شروع برنامه اولين آيتم ليست باكس داخل پلاگين لود ميشه و در سمت چپ اون قرار ميگيره. خلاصه اينكه مرغ يه پاداره.
با تمام تازه كاري اين كارو با دوتا پلاگين ديگه هم انجام دادم يكي tmemo و دومي TRichEditPlugIn كه دموي دومي رو برات گذاشتم تا واسم يه سرچ قدرتمند بسازي.
الان تنها مشكلي كه دارم اينه كه ميخوام مقدار تايپ شده درون اين پلاگين رو بگيره و در داخل ليست باكس جستجو كنه و به صورت حلقه تكرار باشه و آيتمهاي مشابه رو هم پيدا كنه.
دموي پلاگين رو گذاشتم تا از روي اون دستورات رو واسم بنويسي حالا شما يا ديگران.
من پيشاپيش از شما بزرگوار تشكر ميكنم.
 

پیوست ها

  • Demo.rar
    433.1 کیلوبایت · بازدیدها: 94

evil_gates

اين نيز بگذرد ...
دوست عزیز
اولا شما فرمودید از پلاگین EditBox استفاده میکنید. منم متناسب با اون پلاگین عرض کردم احتیاجی به کد نداره. پلاگین EditBox با گرفتن Ctrl+shift سمت راست فارسی میشه و نیازی هم نیست هی این عمل رو تکرار کنید.
اما اگه از پلاگین Tmemo استفاده میکنید که تو پستهای قبلی کد راست چین کردنش رو گفتم.

دوم اینکه این Demo که شما گذاشتید همون نمونه دستورات پلاگین TRichEdit . پس نمونه کار خودتون کجاست تا اصلاحش کنیم؟

سوم اینکه
الان تنها مشكلي كه دارم اينه كه ميخوام مقدار تايپ شده درون اين پلاگين رو بگيره و در داخل ليست باكس جستجو كنه و به صورت حلقه تكرار باشه و آيتمهاي مشابه رو هم پيدا كنه.

برای این سوالتون از این کد استفاده کنید. برای آشنایی بهتر به یادداشت هایی که تو هر خط نوشتم دقت کنید.
کد:
[COLOR="Green"]** تمامي مقادير ليست باکس را از حالت انتخاب خارج ميکند[/COLOR]
ListBoxDeselectItem("Listbox","-1")

[COLOR="#008000"]** مقدار داخل پلاگين را در يک متغير رشته ای باز ميگرداند[/COLOR]
PluginRun("PlugIn","GetText")
PluginGet("PlugIn","get$")

[COLOR="#008000"]** آيتمهاي درون ليست باکس را بازميگرداند[/COLOR]
ListBoxGetItems("Listbox","Items$,ItemsNum$,#,NumItems")

[COLOR="#008000"]** بر اساس تعداد آيتمهاي ليست باکس چرخش حلقه از 1 تا اين تعداد آغاز ميشود[/COLOR]
For i=1 To NumItems

[COLOR="#008000"]  ** به ازاي هربار چرخش حلقه يک آيتم ليست باکس را به متغير آرايه اي از نوع رشته ای ميفرستد[/COLOR]
  temp$[i]=GetArrayItem(Items$,#,i)

[COLOR="#008000"]  ** وجود عبارت داخل متغير بازگشتي از پلاگين را در متغير آرايه اي چک ميکند[/COLOR]
  x=POS(get$,temp$[i])

[COLOR="#008000"]  ** در صورتي که مقدار متغير بازگشتي از پلاگين در مقدار متغير آرايه اي موجود باشد[/COLOR]
[COLOR="#008000"]  ** مقدار ايکس مخالف صفر خواهد بود و شرط صحيح است[/COLOR]
  If (x<>0) Then

[COLOR="#008000"]    ** آيتم مورد نظر را انتخاب ميکند[/COLOR]
    ListBoxSelectItem("Listbox","i")

  End

Next i
 
متاسفانه دستوراتي كه واسه جستجو در ليست باكس نوشتيد اجرا نشد.
پروژه اي رو كه خودم ساختم حجمش يه كم بالاست با توجه به فايلهاي پيوست شده واسه اين نتونستم بذارمش.
دستوري كه در زير مشاهده ميكنيد با كليك روي هر آيتم از ليست باكس اجرا ميشه.

ListBoxGetSelectedItems("ListBox","Items$,ItemsNum$,#,NumItems")
For i=1 To NumItems
** this will return full path of selected item
t$ = GetArrayItem(Items$,#,i)
** this will return number of selected item
numitem$ = GetArrayItem(ItemsNum$,#,i)
If (t$>'') Then
** this will hide the initial image object
Hide("Bitmap")
** and this will show selected file
Show("Bitmap1")
ReplaceImage("Bitmap1","t$")
End
Next i
t$ = GetArrayItem(Items$,#,i)
name$=ExtractName(t$)
PluginSet("PlugIn","name$")
PluginRun("PlugIn","SetText")
فرمان جستجويي هم كه براي اديت باكس نوشته بودم به اين صورته:

*** deselect all items for new search
ListBoxDeselectItem("ListBox","-1")
*** get ListBox items
ListBoxGetItems("ListBox","Items$,ItemsNum$,#,NumItems")
For i=1 To NumItems
*** set item's to array
itm$=GetArrayItem(Items$,#,i)
*** chek for substring (search$) has been into supperstring (itm$)
x=POS(search$,itm$)
If (x<>0) Then
*** if condition is true then select item
ListBoxSelectItem("ListBox","i")
End
Next i
*** empty EditBox for new search
search$=''
DisplayValue("EditBox1","search$")

من اين دستور جستجو رو حتي در باره يك حرف هم كه امتحان ميكنم تمامي حروف مثلا "ش" رو در آيتمهاي مختلف انتخاب ميكنه در واقع هر آيتمي كه در اون از حرف "ش" استفاده شده باشه هاي لايت ميشه سرعت جستجو هم در بين 300 آيتم حدود دو تا سه ثانيه است.
در مورد پروژه هم قبلا گفتم توي يه تاپيك ديگه.اين پروژه تعدادي فايل عكس رو داخل يه ليست باكس لود ميكنه و آيتم انتخابي ليست باكسو داخل يه شي bitmap نشون ميده.
مشكل اين بود كه چون اديت باكس راست چين نميشد ناچار شدم پروژه رو روي يه پلاگين پياده كنم .
حالا اين دستوري كه شما نوشتيد با پلاگين TrichEditPlugIn كار نميكنه متا سفانه خودمم دستوري كمي شبيه به اين كه شما نوشتيد البته با چند تا اشكال ساختم اما اونم اجرا نشد اگه تونسيد واسم درستش كنيد بلكه جستجو گر هم راه بيفته.
ممنون.
 
خدمت جناب evil_gates
اول سلام. دوم اينكه واقعا خسته نباشي چون بعضي اوقات شاهد هستم كه يه نفره داري انجمن رو اداره ميكني
اميدوارم كه هميشه موفق و البته سلامت باشي و خدا بهت عوض خير بده و البته به همه بچه هايي كه دارن تو اين انجمن زحمت ميكشن.
چون مورد بازم تكراري بود تاپيك جدا نزدم مثال ديكشنريه كه بازم ميخوام به جاي اديت باكس از پلاگين TrichEditPlugIn استفاده كنم .
مرحله اولشو خودم رفتم و مقدار انتخابي از ليست باكسو رو داخل پلاگين آوردم. حالا بازم خوردم به مشكل نميدونم چه سريه كه در گرفتن متغير از پلاگين ناتوان ميشم.
اگه لطف كني و متن تايپ شده در پلاگين رو با كليد فايند در ليست باكس جستجو كني ممنون ميشم.
در واقع متن در يكي از فايلهاي تكست جستجو ميشه و متن متناظر با اون در فايل ديگه پيدا و نشون داده ميشه.
در ضمن خودت كه استادي اين مثال داراي يه متغير رشته ايه كه متن رو از دو تا فايل متني خط به خط اجرا و متناظر قرار ميده.
فايلهاي تكست رو هم ضميمه مثال كردم چون بايد در داخل مسير نصب برنامه باشن تا برنامه اجرا بشه.
 

پیوست ها

  • test-dic.rar
    287.1 کیلوبایت · بازدیدها: 51
  • Data.rar
    460 بایت · بازدیدها: 21

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

بالا