PDA

View Full Version : حرفه ای: نحوه نمایش چند عکس در برنامه



Hybrid
سه شنبه 01 آذر 1390, 20:16 عصر
با سلام خدمت دوستان عزیز... چند سوال داشتم لطفا کنید کمکم کنین با تشکر....

1) چطوری میشه وقتی ویندوز بالا اومد برنامم اجرا بشه (با مثال).

2)چطوری میشه وقتی که کاربر رو یه عکس در ویندوز دابل کلیک میکنه تو برنامه من اون عکس لود بشه. یعنی به جای Picture viewer ویندوز برنامه من اون عکسو نشون بده...

3)بتونم تمام عکسهای یه فولدر مشخص رو در برنامم لود کنم طوری که با کلیدهای جهت نما بتونم بینشون switch کنم..


لطف کنین با مثال منو راهنمایی کنین...

Hybrid
چهارشنبه 02 آذر 1390, 01:06 صبح
سلام دوستان نظری نبود؟؟؟خیلی واجبه.....با تشکر

محمد فدوی
چهارشنبه 02 آذر 1390, 04:14 صبح
1- ساده ترین راه اینه که برنامتو توی پوشه ی Startup قرار بدی (Start رو ببین...)
2- برنامت با یه تابع شروع میشه به نام Main!!! این تابع یک آرایه از رشته میگیره که همون لیست آرگوماناته... اگه یه عکس رو در ویندوز Open With کنی و برنامه ی خودت رو انتخاب کنی، یک رشته در این آرایه قرار میگیره که آدرسه فایلته...
اگرم چند تا فایل رو باز کنی چند تا رشته به برنامت پاس میشه!!!
3- این خیلی سادست یه کم توضیح بده کجاش مشکل داری اگه تونستم کمکت می کنم...

Hybrid
چهارشنبه 02 آذر 1390, 09:09 صبح
سلام دوست عزیز از اینکه جواب دادی متشکرم ... مشکل 3 رو خودم حل کردم مشکل اول هم از همون راهی که عرض کردین میتونم حل کنم فقط میمونه مشکل دوم اگه میشه بیشتر توضیح بدین لطفا(اگه شد مثال هم بزنین یا یه سورس کد برام بزارین)...با تشکر

محمد فدوی
چهارشنبه 02 آذر 1390, 16:06 عصر
اگه با #C بنویسی راحت تری...
سازنده ی فرم اصلیتو ویرایش کن بطوری که یک آرایه از رشته که همون آدرس فایل ها است رو درونش جا بده...
Public Sub New(ByVal Files As String())
InitializeComponent()
End Sub
حالا باید تابغ Main رو باز کنی.
تابع Main یک آرایه از نوع String میگیره که همون آرگومان های فرمان اجرا است...
فقط باید در اون تابع اون آرایه رو به سازنده ی فرمت پاس کنی...
ولی افسوس من نمی دونم چه جوری می شه Main رو تو VB.NET باز کرد. ولی تو #C می دونم!
با #C آشنایی داری؟

Hybrid
چهارشنبه 02 آذر 1390, 17:59 عصر
با تشکر از جوابت.. نه دوست عزیز من فقط vb.net کار میکنم....

Mani_rf
چهارشنبه 02 آذر 1390, 21:56 عصر
اگه با #C بنویسی راحت تری...

Public Sub New(ByVal Files As String())
InitializeComponent()
End Sub
ولی افسوس من نمی دونم چه جوری می شه Main رو تو VB.NET باز کرد. ولی تو #C می دونم!
با #C آشنایی داری؟

دوست عزیز بهتره که شما VB.Net را هم بی آموزید،مطمعن باشید با این کار اطلاعات برنامه نویسی شما در هر دو زبان چند برابر خواهد شد.

پاسخ قسمت دوم سوال شما دو قسمت دارد.
قسمت اول associate کردن پسوند های مورد نظر که برنامه قرار است با برنامه باز شود با برنامه شما که این قسمت به عهده خودتان که بارها و بارها مطرح شده است و به ویندوز مربوط می شود و نصب برنامه.

قسمت دوم تشخیص فایل یا فایل های اجرا شده توسط برنامه که از این روش می تواند این کار را انجام دهید :

در فرم لود برنامه این کد ها را بنویسید :
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Dim Input As String() = Environment.GetCommandLineArgs()
MsgBox(Input)

End Sub

به همین سادگی؛ تابع GetCommandLineArgs از کلاس Environment یک آرایه از نوع رشته به شما خواهد داد که بیانگر فایل هایی است که با برنامه اجرا شده است.
هیچ نیازی به استفاده از Contractor فرم هم نیست.

محمد فدوی
چهارشنبه 02 آذر 1390, 22:31 عصر
من با این روش اصلا آشنایی نداشتم...
خیلی ممنون.
منم یه چیزی یاد گرفتم :چشمک:
هرچند انصافا که سی شارپ بهتره!!!

Mani_rf
پنج شنبه 03 آذر 1390, 19:15 عصر
هرچند انصافا که سی شارپ بهتره!!!

نمیخام وارد اینطور بحث ها بشم ،
یک بار شدم نتیجش شد تاپیک 24 صفحه ای که 5تا #C کار عزیز اومدن و همشون یکسری حرف تکراری بی منطق زدندند و رفتند و نتونستند چیزی را که گفتند اثبات کنند.اگر علاقه داشتید جستجو کنید و مطالعه کنید.
موفق باشید...

محمد فدوی
دوشنبه 07 آذر 1390, 18:43 عصر
نه...
من هم با سی شارپ برنامه می نویسم و هم با وی بی.
فقط نظرم رو گفتم.
اگه وی بی به درد نمی خورد خوب مایکروسافت گسترشش نمیداد. :چشمک:

بازم ممنون که ما رو بی منطق خوندید! :ناراحت: