PDA

View Full Version : برنامه تحت شبكه ( حرفه اي هاش بيان جلو)



mehdi kalantary
جمعه 22 دی 1391, 11:32 صبح
با سلام
بنده با #C و بانك SQL2008 ميخوام يه برنامه بنويسم قبلا با دلفي كار كرده بودم و بعد از چند سال مجدداً برنامه نويسي را شروع كردم في الحال ميخوام برنامه براي كار خودمون كه آهن فروش هستيم و چند شعبه هم داريم بنويسم به نحوي كه بتونه چند CLIENT در شبكه داخلي را ساپورت كنه و بتونه هم از طريق اينترنت قابل دسترس باشه كه شعبه خارج از شبكه محلي هم به برنامه دسترسي داشته باشند و همه اطلاعات از هر كجا كه ذخيره ميشه در SERVER مركزي روي يك بانك ذخيره بشه
كاري كه تا الان انجام دادم اينه كه قسمت بانك اطلاعات افراد را كه مثل يك دفترچه تلفن هم هست طراحي كردم و رشته كانكشن را به اين شكل طراحي كردم
con.ConnectionString = "Data Source=COMPUTER1;Initial Catalog=baranDb;User ID=sa;password=123"
بعد يك SETUP از همين قسمت برنامه ساختم و روي كلاينت داخل شبكه نصب كردم تا حالا كه جواب داده
1 - سوال : اصلاً اين روش كه دارم ميرم جلو منطقي هست يا نه ؟
2- مشكل : در برنامه من عكس شخص را در فولدري در كنار محلي كه برنامه از آنجا اجرا مي شود ذخيره ميكنم و آدرس آنرا در بانك ميگذارم
File.Copy(this.TbxUrl.Text, Application.StartupPath + "\\images\\" + FILENAME)
مشكل اينجاست كه اگه اين ذخيره سازي توسط خود سرور انجام بشه فايل در كنار فايل اجرائي خود سرور ذخيره ميشه كه مشكلي نداره ولي اگه اينكار توسط كلاينت انجام بشه فايل عكس در كنار فايل اجرائي خود كلاينت ذخيره ميشه كه ديگر در دسترس هيچكس نيست(روش درست را بهم بگيد لطفا)

ma.rad
جمعه 22 دی 1391, 12:13 عصر
سلام روش تون نسبتا درسته
در کانکشن به جای نام سیستم سرور از ip استفاده کنید
فولدر تصاویر روی سرور رو شر کنید و هنگام ذخیر سازی عکس آدرس فولدر تصاویر شر شده در شبکه رو بهش بدید

amir22448
جمعه 22 دی 1391, 12:16 عصر
می تونید به جای اسم کامپیوتر از . استفاده کنید

ma.rad
جمعه 22 دی 1391, 12:19 عصر
راستی فراموش کردم برای ازتباط خارج ازشبکه محلی تون از اینترانت استفاده کنید کلاینت های خارج از شبکه باید با خط تلفن ارتباط برقرار کنن اگر تعدادشون بیش از یکی هست باید از مخابرات درخواست ساپورت چند یوزر خط تون رو بگیرید.
اگر می خواید اینترنتی وصل بشید باید ip valid داشته باشید .

mehdi kalantary
جمعه 22 دی 1391, 12:24 عصر
سلام روش تون نسبتا درسته
در کانکشن به جای نام سیستم سرور از ip استفاده کنید
فولدر تصاویر روی سرور رو شر کنید و هنگام ذخیر سازی عکس آدرس فولدر تصاویر شر شده در شبکه رو بهش بدید

از همكاريتون ممنونم به چه شكل فولدر شر شده را برنامه تشخيص بده لطفا كدش را برام بنويسيد
در ضمن اشكال اينكه از نام سرور استفاده كنيم چيه

morteza271
جمعه 22 دی 1391, 12:33 عصر
مشكل اينجاست كه اگه اين ذخيره سازي توسط خود سرور انجام بشه فايل در كنار فايل اجرائي خود سرور ذخيره ميشه كه مشكلي نداره ولي اگه اينكار توسط كلاينت انجام بشه فايل عكس در كنار فايل اجرائي خود كلاينت ذخيره ميشه كه ديگر در دسترس هيچكس نيست(روش درست را بهم بگيد لطفا)
به نظرم بهتره شما عکس رو داخل خود دیتابیس ذخیره کنید.
اینطوری کنترلش راحت تر و بهتره!
ولی برای اینکه حجم دیتابیستون زیاد نیشه میتونید کنترل کنید که تصاویری ه انتخاب میشن حجمشون زیاد نباشه.

ma.rad
جمعه 22 دی 1391, 12:40 عصر
از همكاريتون ممنونم به چه شكل فولدر شر شده را برنامه تشخيص بده لطفا كدش را برام بنويسيد
در ضمن اشكال اينكه از نام سرور استفاده كنيم چيه

باتشکر از پاسخ دوست خوبم morteza271 (http://barnamenevis.org/member.php?95103-morteza271) کاملا درسته
ساده س :
pictureBox1.Load("//" +system ip + "\\images\\" + "filename"+ ".bmp");

روش معمولی نیست از اسم سیستم استفاده کرد شاید سیستم عامل عوض کردید یا خواستید سرور رو تغییر بدید

کد خودتون:
File.Copy(this.TbxUrl.Text, Application.StartupPath +"//" +system ip + "\\images\\" + FILENAME)

mehdi kalantary
جمعه 22 دی 1391, 15:30 عصر
ممنون اين كد را دادم ولي جواب نداد
pictureBox1.Load("192.168.1.3\\D\\project\\Baran Software\\bin\\Debug\\images\\1.jpg");
كجاش اشتباهه
سرور : 192.168.1.3
فايل در مسير :d:\project\baran software\bin\debug\image\1.jpg

ma.rad
جمعه 22 دی 1391, 15:52 عصر
برا فولدر شر شده این رو نوشتید؟
باید اینطور باشه:
pictureBox1.Load("//192.168.1.3\\images\\1.jpg");


اگر برای فولدری که شر نشده باشه
اینطور میشه:

pictureBox1.Load(Application.StartupPath+"\\images\\1.jpg"

mehdi kalantary
جمعه 22 دی 1391, 16:07 عصر
[
اگر برای فولدری که شر نشده باشه
اینطور میشه:

pictureBox1.Load(Application.StartupPath+"\\images\\1.jpg" [/QUOTE]
ممنون ببين من روي سرور نرم افزار رادارم كه روي درايو d نصب شده و يك نسخه sql را دارم كه بانكها روشه
روي كلاينت هم يك نسخه نرم افزار را دارم كه روي درايو c نصب شده خوب حالا Application.StartupPath روي سرور يه نتيجه ميده و روي كلاينت هم يه مسير را ميده حالا من ميخوام كه فقط از روي سرور بخونه يا بنويسه در ضمن هم اگه هر فردي خواست اين نرم افزار را نصب كنه به دلخواه خودش انتخاب كنه كه روي كدام درايو و در چه مسيري نصب كنه حالا چي ميشه؟
من ميخوام نرم افزار كه روي كلاينت هست به مسير Application.StartupPath كه روي سرور هست راهنمائي بشه؟

zarifcomputer
جمعه 22 دی 1391, 16:45 عصر
سلام دوست عزیز
تو عنوان تاپیک قید کرده اید حرفه ای هاش بیان جلو!!!

بنده خودم را خیلی حرفه ای نمیدونم. از روی کنجکاوی اومدم ببینم اینجا میتونم چیزی یاد بگیرم یا نه. چند نکته به ذهنم رسید که بد نیست مطرح کنم:
1- اگر برنامه قبلی را با دلفی نوشته اید ، آیا دلیل خاصی دارد که حالا تصمیم گرفته اید آنرا با C# باز نویسی کنید؟
2- حتما اطلاع دارید که در صورتیکه برنامه نوشته شده با C# را بخواهید در سیستم دیگری هم نصب کنید باید نسخه سازگار با دات نت فریم ورک مربوط به برنامه خود را نیز همراه با فایل setup نصب نمایید ، در صورتیکه برنامه های نوشته شده با دلفی نیازی به این چیز ها ندارند
3- اگر از برنامه قبلی راضی نیستید یا مایلید تغییرات اساسی در ساختار آن بدهید ، بهتر است قبلا از شروع به کد نویسی از افراد همین سایت برای تحلیل آن کمک بگیرید ، در این صورت دیگر نیاز نخواهید داشت که بعد از مدتی دوباره آن را باز نویسی کنید.
4- در خلال فرمایشات شما متوجه شدم که سیستم هایی هم هستند که خارج از Lan با نرم افزار شما کار میکنند و شما مایلید اطلاعات تمام کلاینت ها را در یک جا جمع آوری کنید. بنده پیشنهاد میکنم برای این منظور به جای نوشتن یک برنامه ویندوزی ، یک وب اپلیکیشن طراحی کنید و نرم افزار را در بستر وب در اختیار کلاینت ها قرار دهید . در این حالت دیگر دردسر های مربوط به نصب برنامه و آپدیت های آینده را نخواهید داشت و بدون هیچ مشکلی تمام اطلاعات را در یک جا جمع آوری خواهید کرد.
ضمنا در صورتیکه مایل باشید به صورت حرفه ای پروژه خود را اجرا کنید بهتر است به جای طرح سوال به صورت موردی ، از افراد با تجربه ای که در این سایت فعالیت میکنند کمک بگیرید و پروژه خود را به عنوان یک فرصت شغلی در اختیار بچه های سایت قرار دهید . اینطوری حتما به نتیجه بهتری خواهید رسید.

ma.rad
جمعه 22 دی 1391, 17:01 عصر
ببینید مهم نیست برنامه رو چه درایوی نصب شده و Application.StartupPath یعنی جایی که فایل اجرایی برنامه از اون مکان اجرامی شه، حالا اگر اون فولدر شر نشه شما با مشکل بر می خورید وکاربرا فقط می تونن تصاویر روی سیستم خودشون ذخیره کنن ولود تصاویر به مشکل برمی خوره پس دو تا راه حل اول تصاویر رو توی بانک ذخیر کنید دوم فولدر رو سرور شر کنید واز آدرس دهی که بالا گفتم استفاده کنید

mehdi kalantary
جمعه 22 دی 1391, 17:07 عصر
سلام zarifcomputer ممنون كه توجه كردي من قبلا با دلفي برنامه نويسي كردم ولي اين برنامه را نه وقتي خواستم مجدداً برنامه نويسي را شروع كنم ترجيح دادم سراغ C#‎ بيام . و چونكه اين برنامه قرار است در محيط كاري خودم اجرا بشه نياز دارم يك قسمت آن ويندوز و يك قسمت آن وب بيس باشه و تلفيقي از هر دوي آنها باشه ، و در ادامه بگم كه من حدود 2 ماه هست اين تصميم را گرفتم و تازه با اين سايت آشنا شدم و خيلي خوشحالم كه اينقدر حرفه اي و باتجربه داخل كشور داريم .الان هم نميدونم فعاليتم داخل سايت بايد چجوري باشه و با چه كسايي ارتباط برقرار كنم ولي حاضر به همكاري با همه برنامه نويسهاي حرفه اي هستم من چونكه از سال 1372 مشغول به فعاليت در زمينه ict هستم و در كنار آن در بازار هم فعاليت كسب و كار داشتم پروژه هاي بسيار پولسازي را ميتونم به بچه ها جهت ايجاد فرصت شغلي معرفي كنم هر كس كه دوست داره ميتونه با من تماس بگيره تا در موردش صحبت كنيم و راهنمائيش كنم ولي در نظر دارم اين پروژه را حتما خودم انجام بدم از آنهايي هم كه كمكم كنند خيلي متشكرم و حاضرم هر جور بخوان از آنها تشكر كنم و در نهايت جبران كنم

zarifcomputer
شنبه 23 دی 1391, 06:00 صبح
سلام zarifcomputer ممنون كه توجه كردي من قبلا با دلفي برنامه نويسي كردم ولي اين برنامه را نه وقتي خواستم مجدداً برنامه نويسي را شروع كنم ترجيح دادم سراغ C#‎ بيام . و چونكه اين برنامه قرار است در محيط كاري خودم اجرا بشه نياز دارم يك قسمت آن ويندوز و يك قسمت آن وب بيس باشه و تلفيقي از هر دوي آنها باشه ، و در ادامه بگم كه من حدود 2 ماه هست اين تصميم را گرفتم و تازه با اين سايت آشنا شدم و خيلي خوشحالم كه اينقدر حرفه اي و باتجربه داخل كشور داريم .الان هم نميدونم فعاليتم داخل سايت بايد چجوري باشه و با چه كسايي ارتباط برقرار كنم ولي حاضر به همكاري با همه برنامه نويسهاي حرفه اي هستم من چونكه از سال 1372 مشغول به فعاليت در زمينه ict هستم و در كنار آن در بازار هم فعاليت كسب و كار داشتم پروژه هاي بسيار پولسازي را ميتونم به بچه ها جهت ايجاد فرصت شغلي معرفي كنم هر كس كه دوست داره ميتونه با من تماس بگيره تا در موردش صحبت كنيم و راهنمائيش كنم ولي در نظر دارم اين پروژه را حتما خودم انجام بدم از آنهايي هم كه كمكم كنند خيلي متشكرم و حاضرم هر جور بخوان از آنها تشكر كنم و در نهايت جبران كنم

سلام
دوست عزیز ، دلیل بنده برای تحلیل قبل از اجرا هم همین فرمایشات شما بود که عرایض بنده را کامل کرد. شما فرمودید :


وقتي خواستم مجدداً برنامه نويسي را شروع كنم ترجيح دادم سراغ C#‎ بيام . و چونكه اين برنامه قرار است در محيط كاري خودم اجرا بشه نياز دارم يك قسمت آن ويندوز و يك قسمت آن وب بيس باشه و تلفيقي از هر دوي آنها باشه

بنده فکر میکنم دلایل شما برای اجرای پروژه با C# و شرایط محیط کاری و لزوم اجرای آن به صورت یک قسمت ویندوزی و یک قسمت وب بیس و تلفیقی از هر دو ، برای تعیین شرایط اجرای پروژه کافی نیست. بنده معتقدم شما باید ابتدا صورت مساله (که همان نیاز های سیستم شما است) را تحلیل کنید . پس از تحلیل است که شیوه مناسب اجرای پروژه را پیدا خواهید کرد. سوال شما در پست های قبلی در مورد چگونگی ذخیره سازی اطلاعات و تصاویر از روی کلاینت ها بر روی سرور نشان میدهد که تحلیل قابل قبولی در ابتدای پروژه انجام نشده است . بسیاری از نکاتی که پس از اجرای پروژه های تحلیل نشده ، گریبان برنامه نویس را میگیرند و او را به چالش میکشند ، در زمان تحلیل دیده شده و برطرف میشوند.
در مورد پروژه هایی هم که فرمودید میتوانید از طریق لینک سایت پونیشا که در بالای تمام صفحات همین سایت موجود است اقدام کنید. البته فکر نمیکنم پونیشا تمام جوانب برنده برنده را مد نظر داشته باشد . من خودم هیچ وقت از پونیشا استفاده نمیکنم . اگر شما هم مایل نبودید از پونیشا استفاده کنید میتوانید در قسمت آگهی های همین سایت یک آگهی برای ایجاد تیم برنامه نویسی خود ایجاد کنید. ضمنا اغلب افراد با تجربه که در این سایت فعالیت میکنند معمولا گرفتاری های زیادی دارند و از نظر مالی هم اشباع شده هستند و فکر نمیکنم خودشان را درگیر پروژه های جدید بکنند (بیشتر بخاطر کمبود زمان) . به هر حال اگر مایلید پروژه های خود را به عنوان فرصت شغلی در اختیار برنامه نویسان این سایت قرار دهید ، میتوانید با ارسال پیام خصوصی با مدیران بخش های مربوطه پیشنهادات خود را بیان کنید.