ورود

View Full Version : اضافه کردن add-on به برنامه



m.4.r.m
چهارشنبه 08 خرداد 1392, 15:39 عصر
دوستان من یکبار در این رابطه سوال کردم که جناب اقای جمشیدی عزیز گفتند در یک فرصت pdf اموزشی اونو اماده می کنم ولی هنوز اقای جمشیدی عزیز نیست که نیست .

سوال بنده این بود چطور می تونیم به برنامه قابلیت اضافه شدن قرار بدیم مثل extensions های فایرفاکس و ... یعنی بتونیم از این طریق در اینده چیز هایی که دوست داریم به برنامه اضافه بشن انجام بگیرن . ممنون میشم از دوستان جواب بنده رو به صورت توضیحی یا نمونه کد بدهند .

m.4.r.m
چهارشنبه 08 خرداد 1392, 22:53 عصر
مثلا تا اینجا من پیش رفتم

Function GetFileExtension(ByVal FileName As String) As String
Dim i As Long
For i = Len(FileName) To 1 Step -1
Select Case Mid$(FileName, i, 1)
Case "."
GetFileExtension = Mid$(FileName, i + 1)
Exit For
Case ":", "\"
Exit For
End Select
Next
End Function

Private Sub Command1_Click()
Text1.Text = Empty
Op.ShowOpen
Text1.Text = GetFileExtension(Op.FileName)
End Sub


نوع ساختن Extension و نوع اضافه کردن به اون ذخیره کردن و اعمال در برنامه و .... اینا رو باید چیکار کرد

m.4.r.m
پنج شنبه 09 خرداد 1392, 11:54 صبح
یعنی واقعا کسی بلد نیست ؟

SlowCode
پنج شنبه 09 خرداد 1392, 12:38 عصر
مثلا تا اینجا من پیش رفتم

Function GetFileExtension(ByVal FileName As String) As String
Dim i As Long
For i = Len(FileName) To 1 Step -1
Select Case Mid$(FileName, i, 1)
Case "."
GetFileExtension = Mid$(FileName, i + 1)
Exit For
Case ":", "\"
Exit For
End Select
Next
End Function

Private Sub Command1_Click()
Text1.Text = Empty
Op.ShowOpen
Text1.Text = GetFileExtension(Op.FileName)
End Sub


نوع ساختن Extension و نوع اضافه کردن به اون ذخیره کردن و اعمال در برنامه و .... اینا رو باید چیکار کرد
این همه کد واسه تشخیص فرمت؟ با fso راحت تره ها

Function GetFileExtension(ByVal FileName As String) As String
Set fso = CreateObject("scripting.filesystemobject")
GetFileExtension = fso.GetExtensionName(FileName)
Set fso = Nothing
End Function

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

m.4.r.m
پنج شنبه 09 خرداد 1392, 13:49 عصر
منم مثله شما هیچ اطلاعاتی در این زمینه ندارم می تونیم باهم به نتیجه برسیم . اگه کسی مایل باشه به کمک هم این قسمت رو تکمیل کنیم

m.4.r.m
دوشنبه 12 مهر 1395, 00:10 صبح
بعد از مدت ها دوری دوباره این موضوع رو پیش می کشم. کسی هست برای شروع این پروژه ؟

vbhamed
سه شنبه 13 مهر 1395, 10:11 صبح
سلام

در مورد فایرفاکس قضیه فرق داره، اون به نوعی کامپایلر همراه خودش داره و براش برنامه نویسی میشه، اما شما می‌تونید برای برنامتون پلاگین بنویسید مثل برنامه فتوشاپ و ...
پلاگین ها هم فایلهای dll هستند که اعمال مورد نظر شما رو انجام میدن و با خود وی بی هم نوشته میشن و شما در برنامه اصلیتون پوشه Plugin رو بررسی می‌کنید و اگر فایل dll ای درون اون بود مشخصاتش که می‌تونه تو یک فایل ini در کنار فایل dll نوشته بشه رو می‌خونید و در یک منو در برنامتون نمایش میدید
اینکه پلاگین ها چه ارتباطی با برنامه شما داشته باشن و چه دیتاهایی رو رد و بدل کنند هم نیاز به دانستن این داره که برنامتون قراره چه کارهایی انجام بده

m.4.r.m
پنج شنبه 15 مهر 1395, 20:32 عصر
خوب حرف شما تا یه حدی درست ما می خوایم برای برنامه حالت ران تایم قرار بدیم که بشه در حالت ران تایم هم برنامه کم و زیاد بشه. حالا در حد فایرفاکس بلکه یه همچین چیزی آیا نظری نیست دیگه ؟

vbhamed
جمعه 16 مهر 1395, 07:14 صبح
سلام

خب چیزی هم که من گفتم برای حالت Runtime هستش دیگه، شما پلاگینها رو می‌نویسید و فایل dll کامپایل شده رو در پوشه برنامه اصلی میریزید و برنامتون اونها رو می‌خونه
البته کامپوننتهایی هم برای اجرای اسکریپت به زبان ویژوال بیسیک وجود داره یعنی اینکه شما مثلا داخل Textbox برنامه تون کد وی بی بنویسید و برنامتون اون رو اجرا کنه، ضمنا از فایلهای vbs هم می‌تونید استفاده کنید