PDA

نسخه کامل مشاهده نسخه کامل : سئوالات غير معمول برنامه نويسی



ahmad_r
22-06-2006, 16:13
سلام عزيزان
کلی سوال برام پيش آمده
البته خيلی هم ضروری نيستند ولی اگه آدم بلد باشه ....


1ـ آيا می توان در حين اجرا شدن برنامه, با کد, فيلد يا جدولی را به ديتابيس(SQL) اضافه کرد.
مثال: (برنامه حضور و غياب يک مدرسه را در نظر بگيريد معمولا رکوردهايي (دانش آموزانی) ثابت دارد ولی هر جلسه يک تاريخ جديد دارد)

2ـ آيا امکان اين کار هست که: "جهت اجرا کردن يک برنامه (مثلا VB.Net) روی رايانه شخص ديگر اطلاعات SQL و VB.Net از همان برنامه را در يک فايل اجرايي قرار داد تا شخص نيازی به نصب کردن SQL نداشته باشد."
در غير اين صورت راه حل اين کار (نياز نبودن نصب SQL جهت اجرای برنامه ها) چيست؟ آيا بايد از ديتابيس خود VB.Net استفاده کنيم و يا....

3ـ جهت پرينت گرفتن از اطلاعات(در VB.Net) می توان از "کريستال ريپورت" استفاده کرد؛ من دو مشکل با آن دارم يک آنکه چگونه می توان برای چند جدول, تنها از يک کريستال ريپورت استفاده کرد يعنی چگونه می توان جدول فعلی متصل به آن را عوض کرد. و دوم هم اينکه چگونه می توان کريستال ريپورت را روی تمامی رايانه ها اجرا کرد (اگر برنامه روی رايانه شخص ديگری اجرا شود کريستال ريپوت متصل نمی شود)

4ـ سوال چهارمم شبيه قسمت دوم سؤال بالا است اما اين بار در مورد کل برنامه.
تا آن جا که من می دانم برای اينکه يک برنامه VB.Net روی رايانه شخص ديگری اجرا شود می توان آن را Release کرد و فايل های شاخه Bin را کپی گرفت اما در VB6 چگونه است؟

5ـ آيا فورمولی(تابعی) وجود دارد که با دادن سال, به کبيسه بودن آن پی ببرد؟

6ـ چطوری ميشه در حين اجرای برنامه از اطلاعات بک آپ گرفت؟ (در VB.Net)


منتظر جواب های شما دوستان هستم.

ahmad_r
23-06-2006, 05:20
با تشکر از دوستی که هر سه پست را یکی کرد اما من از عمد اینکار را نکردم تا حجم تاپیک زیاد نشود
اگر دوستی هم جواب را می دانست جهت بوجود نیامدن مشکلی ابتدا شماره تاپیک سوال بعد کد سوال را بنویسد که آسانتر باشد
مثلا 1 - 2 یعنی سوال "جهت پرینت گرفتن..."

با تشکر

sa3er
23-06-2006, 13:34
اصلاح شد.     

ahmad_r
08-07-2006, 04:18
کسی جواب هیچ کدام از سوالات بالا را نمی دونه؟

nazanin
17-07-2006, 17:50
در مورد سوال 2:
تا اینجا که من کار کردم و می دونم، اگه برنامه رو فقط بخواین انتقال بدین و نخواین بانک اطلاعاتی رو خارج از محیط برنامه ببینین نیازی نیست که sql رو روی کامپیوتر بعدی نصب کنین. برنامه می تونه بدون وجود سازنده پایگاه، از پایگاه استفاده کنه. چون خودش موتورهای لازم رو داره اما این درحالتی هست که برنامه حتما به صورت نصبی منتقل بشه که موتور مورد استفاده برای برقراری ارتباط با پایگاه همرا برنامه نصب بشه.
در بیسیک 6 یک ابزار هست که پکیج نصاب برنامه رو می سازه که سعی می کنه تمام dll های موردنیاز برنامه رو همراه برنامه نصب کنه.

در مورد سوال یک هم که باید عرض کنم در مورد فیلد شخصا برنامه نوشتم و امکان پذیره اما در مورد جدول شک دارم. امتحانش بی ضرره! با دستورات sql جدول تون رو بسازید و با کددهی به ado یا data( ابزارهای اتصال به شبکه) اون جدول رو انتخاب کنید. از نظر تئوری امکان پذیره اما در عمل، هنوز امتحان نکردم.

black_storm
20-07-2006, 14:14
ببین دوست عزیز تمامی سوالاتت جواب داره
اما من فقط یه راهنمایی می کنم بقیه اش به خودت


--< Resource ها در وی بی یادت نره
امکان این را میده که هر برنامه ای را داخل فایل exe بزاری

تا بعد ... :cool:

FGIT
20-07-2006, 14:35
1ـ آيا می توان در حين اجرا شدن برنامه, با کد, فيلد يا جدولی را به ديتابيس(SQL) اضافه کرد.
مثال: (برنامه حضور و غياب يک مدرسه را در نظر بگيريد معمولا رکوردهايي (دانش آموزانی) ثابت دارد ولی هر جلسه يک تاريخ جديد دارد)

بله مي شه براي اضافه كردن فيلد بايد از دستور Alter Table و برای اضافه کردن جدول باید از دستور Create Table استفاده کرد. ولی در اون موردی که شما مثال زدید اشتباه ترین کار اینه که فیلد اضافه کنید. بلکه باید رکورد اضافه کنید

2ـ آيا امکان اين کار هست که: "جهت اجرا کردن يک برنامه (مثلا VB.Net) روی رايانه شخص ديگر اطلاعات SQL و VB.Net از همان برنامه را در يک فايل اجرايي قرار داد تا شخص نيازی به نصب کردن SQL نداشته باشد."
نه

6ـ چطوری ميشه در حين اجرای برنامه از اطلاعات بک آپ گرفت؟ (در VB.Net)
اگر بانکت SQL Server باشه با دستور Create BackUp و اگر اکسس باشه با کپی کردن فایل Mdb
مابقی سوالاتت هم چون VB کار نیستم نمی تونم جواب بدم

tomcat
20-07-2006, 19:44
برای سوال 5 هم یک تقسیم ساده باید انجام بدی حله یعنی اگر سال را بر 4 تقسیم کنی باقیماده اگر 3 شد یعنی کبیسه است .
برای سوال 4 باید حتماً باید dll ها و Ocx مورد استفاده برنامه حتماً کپی بشه و لی در یک صورت فکر کنم بشه چون یه چندتا برنامه رو دیدم که اون فیالها در شاخه بود که فایل اجرای قرار داشت و برنامه اجرا می شود .. حالا دیگه نمیدونم چی کار کده .

ahmad_r
25-07-2006, 05:45
با عرض سلام و خسته نباشید
به دلیل خراب بودن رایانه من در چند روز اخیر نتوانستم به جوابهای شما عزیزان نگاه کنم و تازه دیروز جواب ها را خواندم اما چند تا از این سوالات هنوز برای من بدون جواب است

چطوری می توان کامپوننت های به کار رفته در VB 6 را جمع آوری کرد (همچون گزینه Release در VB.Net)

آقای black_storm می شه لطفا یکم بیشتر توضیح بدهید و یا حداقل یک آموزش از آن را ارائه نمایید

آقای FGIT دستوری به نام CreateBackUp وجود نداشت اگر با ذکر مثالی حداقل این خط کد آن را کامل بنویسید ممنون می شوم


با تشکر فراوان

tomcat
25-07-2006, 05:49
دوست عزیز میشه بیشتر در مورد جمع آوری کامپوننت های بکار رفته توضیح بدید

FGIT
25-07-2006, 07:48
آقای FGIT دستوری به نام CreateBackUp وجود نداشت اگر با ذکر مثالی حداقل این خط کد آن را کامل بنویسید ممنون می شوم

با سلام
من با VB کار نکردم ولی Create backup یه دستور SQL هست که همونطوری که کوئری ها رو اجرا میکنی باید اجراش کنی Syntax اون هم به شکل زیر هست

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ahmad_r
29-07-2006, 06:12
آقای tomcat همون طور که می دونید وقتی شما کنترل های جدیدی رو.ی فرم ایجاد می کنید (غیر از کنترلهای معمول و پیش فرض) برای اجرا شدن در رایانه شخص دیگر باید فایلهای dll (همان کامپوننت ها) را کوپی کنی
در VB.Net با تغییر گزینه Debug به Release کنار علامت اجرا این کار صورت می پذیرد اما در VB6 نمی دانم به چه نحوی است
------------------------------------------------------------------------------------------------------------
این کد اضافه کردن یک button جدید در حین اجرای برنامه است می خواستم ببینم آیا میشه همین کد را به صورت یک تابع (در یک ماژول) نوشت که چهار تا ورودی داشته باشه (دو تا برای اندازه و دو تا برای مکان)
Dim WithEvents Button2 As Button
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button2 = New Button
Button2.Location = New Point(TextBox1.Text, TextBox2.Text)
Button2.Size = New Size(TextBox3.Text, TextBox4.Text)
Button2.Text = "New"
AddHandler Button2.Click, AddressOf Button2_Clicked
Controls.Add(Button2)
Label1.Text = "Old Button"
End Sub
Private Sub Button2_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = "New Button"
End Sub
----------------------------------------------------------------------------------------------------------
دو تا سوال دیگه داشتم:
1- چطوری می توان کنترلها را در VB.Net به شکل آرایه ای تعریف کرد (همچون VB 6)
2- یکی از راههای پرینت گرفتن از اطلاعات استفاده از کنترل Crystall Report است مشکلی که معمولا به وجود می آید عدم کار دادن بر روی رایانه های دیگر است (چون در قسمتی از ویزارد آدرس همان رایانه را می گیرد) راه حل این مشکل چیست و اصلا راه بهتری برای گرفتن پرینت وجود دارد؟
----------------------------------------------------------------------------------------------------------
مهمترین سوالم که قبلا هم پرسیده بودم اما هنوز به جواب نرسیده ام را دوباره می پرسم اگر جواب همین سوال را هم بگیرم کلی جلو افتاده ام
آيا امکان اين کار هست که: "جهت اجرا کردن يک برنامه (مثلا VB.Net) روی رايانه شخص ديگر اطلاعات SQL و VB.Net از همان برنامه را در يک فايل اجرايي قرار داد تا شخص نيازی به نصب کردن SQL نداشته باشد."

ضمن تشکر از کسانی که به پست های قبلی جواب داده بودند و معذرت خواهی از شما که سرتان را درد آوردم

black_storm
29-07-2006, 20:43
منظورت را دقيق بگو
---------------
اگه مي خواهي بدوني وقتي يه پروژه مي سازي - چه كامپوننت هايي به كار رفته
خود وي بي گزينه هاي Component , refrenses داره
---------------------------------
همچنین با نرم افزار هایی مثل
install shield , installer vise که مخصوص طراحی setup است این امکان وجود داره که پروژه های وی بی را تجزیه کنی
--------------
نمی دونم شاید درست متوجه نشدم
بیشتر توضیح بده

ahmad_r
30-07-2006, 06:53
دوست عزیز درباره دو نرم افزار Setup ساز می خواستم ببینم آیا می شود فایلهای دیتا بیس (SQL) را نیز در آن قرار داد منظورم این است که بعد از اتمام پروژه فرم ها(فایلهای VB.net) و خود دیتا بیس(فایلهای SQL) را در یک فایل قرار داد تا برای اجرا روی رایانه شخص دیگر که سواد کامپیوتری ندارد نیازی به نصب و اجرای SQL نباشد

امیدوارم منظورم را رسانده باشم

vanda
30-07-2006, 08:24
با سلام خدمت دوستان
من مي خواستم مستقيما روي يك سلول data grid بنويسم همانطوريكه روي يك text box مي نويسيم. چطور مي توان اين كار را انجام داد ( با تمام قابليتها مثلا با backspace كاركتر قبلي را حذف كند و يا با كليدهاي جهت به كاركترهاي قبلي يا بعدي برود خلاصه يك اديتور متن درون يك سلول data grid) . آيا كنترل ديگري مشابه data grid هست كه اين كار رو بكند

black_storm
22-08-2006, 01:38
ببين دوست عزيز شما كافي درايور ان را تيك بزني
همين
در ضمن خوشحال ميشم بهاه رو در رو صحبتي داشته باشم
توي اين روم ها كه كسي پيدا نميشه
---------
اين را براي همه وي بي كاران گفتم
------------------------------------------
من در خدمتم

Last Killer
09-09-2006, 13:52
دوست عزیز درباره دو نرم افزار Setup ساز می خواستم ببینم آیا می شود فایلهای دیتا بیس (SQL) را نیز در آن قرار داد منظورم این است که بعد از اتمام پروژه فرم ها(فایلهای VB.net) و خود دیتا بیس(فایلهای SQL) را در یک فایل قرار داد تا برای اجرا روی رایانه شخص دیگر که سواد کامپیوتری ندارد نیازی به نصب و اجرای SQL نباشد

امیدوارم منظورم را رسانده باشم
بله عزيز دل من چرا نمي شه
شما بايد اول فايل هاي ديتا بيستو تبديل به Resource كني تا هميشه همراه نرم افزارت باشه
در مورد اينكه نياز به SQL يا .NET FrameWork نداشته باشه شما مي تونيد در Proprties پروژه در قسمت Build بجاي Any Cpu گزينه x86 رو بزني كه معادل cpu هاي intel
پس فكر نكنم ديگه مشكلي داشته باشي
ولي ...


در مورد آرايه اي از دكمه ها بايد بگم مثل وي بي معمولي ني
بلكه قوي تر از اونه
شما همان طور كه آرايه اي از اعداد داريد مي تونيد آرايه اي از جنس Button داشته باشي
يا حتي مي توني از ليست پيوندي هم استفاده كني
-----------------------------------------------------------------------------------------------------
از اين بهتر هم ميشه :evil:

هر كدوم رو كه خواستي بگو بيشتر توضيح بدم

Ok

ahmad_r
10-09-2006, 15:06
دمت گرم Last Killer پیداس که هم این کاره ای و هم علاقه مند به کمک دادن مثل تمام بچه های P30World
------------------------------------------------------------------------------------------------------------------------

آقا جان من می خوام وقتی برنامه ام تکمیل شد فایلهایی را بریزم رو سی دی که در کامپیوتر مقصد نه نیازی به VB باشد نه SQL خوب Setup ساختن از برنامه که کاری ندارد فقط می مونه فایلهای دیتا بیسم که همان طور که شما اشاره کردید باید Resource کنم که انشاالله بیشتر توضیح می دهید.

راستی چطوری می توان یک پنجره مای کامپیوتر را با کد باز کرد (مثلا آدرس d:\book )

چطوری می توان کنترلها را در VB.Net به شکل آرایه ای تعریف کرد (همچون VB 6) همون طوری که می دانید در VB6 با کپی کردن یک کنترل سوال می شود که آیا می خواهید آرایه ای شود اما در vb.net این چنین نیست ولی این طورکه شما گفتید میتوان به شکل آرایه در آورد حالا چطوری؟

یکی از راههای پرینت گرفتن از اطلاعات استفاده از کنترل Crystall Report است مشکلی که معمولا به وجود می آید عدم کار دادن بر روی رایانه های دیگر و یا تغییر مکان دیتا بیس است(چون در قسمتی از ویزارد آدرس دیتا بیس را می گیرد) راه حل این مشکل چیست و اصلا راه بهتری برای گرفتن پرینت وجود دارد؟

چگونه می توان موس و صفحه کلید را در net. فعال یا غیر فعال کرد و برای فعال کردن آن در زمانی که غیر فعال شده اند با کلید میانبر بتوان آن را فعال کرد

Last Killer
11-09-2006, 15:48
ببين براي آرايه ها اين جوري 1 آرايه مي سازي

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب بعد هر كدومو جدا new مي كني

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد هم مقدار مي دي
همين
در مورد سوالات ديگه بعدا جواب ميدم الان جونه تو توي شرايطه بد روحي ام :blink:

ahmad_r
13-09-2006, 05:36
عزیز دست هم درد نکنه هر وقت تونستی بگو خیلی عجله ندارم

Last Killer
24-09-2006, 18:31
خوب من 2 باره برگشتم
براي سوالت در مورد ديتا بيست
بايد براي الحاق كردن اون اول فايل ديتا بيستو مي ذاري كنار فايل exe بعد بادستور هاي زير مسير رو مي سازي

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با اين دستور مهم ني كه فايل از كجا اجرا ميشه چون خاصيت start... مسير اجرا فايل رو بر مي گردونه
راستي واسه اينكه برنامت حرفه اي بشه پسوند فايل كه فكر كنم MDB(Microsoft Data Base) هست بزار 1 چيز ديگه
مثلا *.sdb
راستي در جايي كه نوشتم ديتا بيس بايد پسوند رو هم بدي خودت كه واردي
:cool:

Last Killer
24-09-2006, 18:40
دو تا كمك مي خوام ازتون
1- برام دعا كنيد كه به اوني كه مي خوام برسم
2-راهي هست كه بشه اطلاعات 1 ديتا گريد رو پرينت كرد؟

Last Killer
24-09-2006, 18:46
احمد جان شما كه ديتا بيس كار مي كني سعي كن به صورت آفلاين كار كني چون وحشت ناك بهتره
من فكر كنم شما از oledbcommand استفاده مي كنيد كه اصلا روش جالبي ني