سوالات برنامه نویسی کاربران و بازدیدکنندگان
باسلام و عرض خسته نباشید به همراهان لرن سایت.
امروز تصمیم به زدن این پست گرفتم تا وقتی که انجمن لرن سایت شروع به فعالیت نکرده سوالاتتان را میتوانید در این پست بپرسید و پاسختان را بگیرید.
در این پست به تک تک سوالاتتان جواب خواهیم داد و نیز تمامی سوالات در پست نیز برای سهولت کاربران و بازدیدکنندگانی که سوال شما سوال آن ها نیز هستند درج خواهد شد .
سوالاتی که به زبان برنامه نویسی سی شارپ مربوط هستند زودتر به جواب خود خواهند رسید.( توسط خود شخص بنده جواب خواهید گرفت )
سوالاتی که غیر از زبان برنامه نویسی سی شارپ هست توسط کاربران و بازدیدکنندگان سایت پاسخ داده خواهند شد.
تنها به سوالاتی پاسخ خواهیم داد که به ضرر کاربران و لرن سایت دات کام نباشد.
برای پرسش سوال خود از طریق نظرات اقدام فرمایید و نیز لطفا توضیح کاملی از برنامه بدید . برای حل کردن مشکلات برنامه فقط از طریق دادن سورس آن امکان پذیر خواهد شد و در صورتیکه تنها فایل اجرایی را در نظرات ذکر کنید سوال شما تایید نشده و به آن پاسخ داده نخواهد شد.
با آرزوی موفقیت برای شما برنامه نویسان عزیز.
سوالات و پاسخ کاربران در ادامه مطلب
سوال 1 پرسیده شده توسط آقای علی نجفی : چطوری باید اطلاعات رو به یک فرم پی اچ پی فرستاد ؟
پاسخ : میتوانید این آموزش را مشاهده کنید.
https://learn-site.com/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%a7%d8%b3-%d8%af%d8%a7%d8%af%d9%86-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa-%d9%81%d8%b1%d9%85-%d8%a8%d9%87-%d9%88%d8%a8-%d8%af%d8%b1
به سوال شما در این آموزش پاسخ داده شده است.
اگر منظورتان چیز دیگری است لطفا بیشتر توضیح بدید تا بیشتر بتونم راهنمایی کنیم
———————————————
سوال 2 پرسیده شده توسط آقای علی نجفی : بعد از فرستادن اطلاعات سرور یک چیزایی برمیگردونه که بین یک دایو هست خب چطوری این اطلاعات رو بگیرم و تو یک تکست باکس نشون بدیم؟
پاسخ : اگر میخواهید متن یک دایو ( دیو ) را به تکست باکس انتقال دهید از کد زیر
textBox1.Text = webBrowser1.Document.GetElementsByTagName("DIV")[0].InnerText.ToString();
ولی اگر میخواهید که محتوا اچ تی ام ال آن به تکست باکس منتقل بشه توسط کد زیر باید اینکار را انجام دهید
textBox1.Text = webBrowser1.Document.GetElementsByTagName("DIV")[0].InnerHtml.ToString();
این عدد ۰ ای که بعد دایو نوشتم شماره دایو هستش یعنی متن اولین دایو رو میگیره که باید خودتون توسط اینسپکت المنت شماره دایو رو پیدا کنید و -۱ کنید و به جای ۰ بنویسید تا متن آن دایو نمایش داده بشه
————————————-
سوال 3 پرسیده شده توسط آقای علی نجفی : خب میشه به دایو ای دی بدیم که اگه قالب ویرایش شد مشکلی پیش نیاد ؟
پاسخ : بله دوست عزیز.
از این کد برای دریافت متن بین دایو
textBox1.Text = webBrowser1.Document.GetElementById("id").InnerText.ToString();
و برای دریافت کد اچ تی ام ال نمیشه از آی دی استفاده کرد
و به عبارت ساده تر : به جای GetElementsByTagName از GetElementById استفاده کنید و نیز ایندکس آن را بردارید ( [۰] )
باتشکر
———————————-
سوال 4 پرسیده شده توسط آقای علی نجفی : چطوری یک باتون بسازیم که کلیک روش میشه دکمه سابمیت وب هم کلیک بشه ؟
پاسخ : باید بعد از معرفی کردن شماره تگ یا آی دی اینو به جای
.InvokeMember("CLICK");
این کد بذارید
.innerHtml.ToString();
و نیز textBox1.Text = رو بردارید . چون رشته نیست که بخواید منتقل کنید تکست باکس
باتشکر
———————————-
سوال 5 پرسیده شده توسط آقای علی نجفی : چطوری از لو رفتن سورس یا کرک شدن نرم افزار هامون جلوگیری کنیم ؟
پاسخ : برای اینکار باید
[member]
درحد امکانش برنامه رو کامپایل و یا کدگذاری کنید و تنها راه حلش اینه
درضمن اینم بگم توی دنیا خودتونم بهتر میدونید نرم افزاری نیست که کرک نشده باشه.حتی شرکت بزرگ مایکروسافت که کلی برنامه نویس در اختیارشون دارن و برنامه نویس ویندوز هستند نرم افزارشون مانند آفیس و.. کرک شدن!! پس باید درحدی کامپایل بشه که دست ایرانیا نشه کرک یا به عبارتی دیگر دی کامپایلشون کرد و بخاطر همین باید آخرین قدرت رو پای کامپایل و کد گذاری گذاشت.
[/member]
با آرزوی موفقیت
————————————
سوال 6 پرسیده شده توسط sepahan :چطوری یه متن طولانی مثل این نمونه
تست تست تست تست تست
تست تست تست تست تست
تست تست تست تست تست
در MessageBox قرار بدیم؟؟میزاریم ارور میده و اجرا نمیشه
پاسخ : باید به جای اینتر , کد
\ n
رو بذارید.
البته دقت کنید بدون فاصله باید بنویسید.یعنی من در بالا که بین / و n فاصله گذاشتم اون فاصله رو باید پاک کنید
——————————-
سوال 6 پرسیده شده توسط sepahan : چطوری اسم رایانه رو بدون pc نمایش بدیم؟
پاسخ : میتونید بعد دریافت اسم رایانه
textBox1.Text = Environment.UserName.ToString();
ریپیلیس کنید بدین شکل pc رو حذف کنید و جاش هر کلمه ای که میخواید رو بذارید یا …
textBox1.Text=textBox1.Text.Replace("pc","");
الان رو اسم سیستم کلمه ای به نام pc باشه حذف میشه.
———————————-
سوال 7 پرسیده شده توسط samira : من داخل یک table (شامل سفارش ها ) در sql هزار تا رکورد دارم من از داخل گرید ویو یک سفارشی رو انتخاب می کنم این سفارش یک id داره از نوع guidممکنه ار این سفارش من تو جدول سفارشم هزار تا داشته باشم من میام سفارش هایی رو که iid اونها با id سفارش من تو جدول یکی بوده رو یک لیست تعریف می کنم و می ریزم این لیست رو داخل یه جدول دیگه تو sql حالا من میخوام ۶۵۰۰۰ هزارتا ۶۵۰۰۰ تا select کنم بریزم تو لیست از این لیست بریزم داخل table جدید که من این کار رو کردم ولی ممکنه سفارش من بیشتر از ۶۵۰۰۰ تا باشه من میخوام این ۶۵۰۰۰ که ریخته شد داخل جدول جدید یه عملیات تبدیل این مقدار به فایل اکسل انجام بشه اکه سفارش بیشتر از ۶۵۰۰۰ تا بود دوباره بیاد تا این انداره رو بریزه داخل لیست بعد جدول جدید عملیات و الی اخر من میخوام شما بهم کمک کنید چظور می تونم مدیریت کنم این اکه بیشتر از ۶۵۰۰۰ تا بود بیاد از این مقدار ۶۵۰۰۰ تا به بعد رو بریزه تو لیست بعد جدول جدید چون من یه بکیج دارم که بیشتر از ۶۵۰۰۰ تا رو نمی تونه به اکسل تبدیل کنه بره همون دارم این مقدار رو جدا می کنم.
پاسخ : شما می توانید با دستورات آماده برای گرفتن تعداد جدول در sql که اشتباه نکنم نام دستور count هستش.میتوانید با استفاده از این تعداد جدول هارو رو بگیرید و با یک شرط بگید اگه بالای ۶۵۰۰۰ بود تبدیل به اکسل کنه و دوباره شروع کنه به جدول رو پر کردن.که این به نظرم بهترین راه حل هستش
———————————-
سوال 8 پرسیده شده توسط حسین : سلام من میخوام دریافت قابل رو از سر برگ حذف کنم اینم کد قالبم
http://dl.learn-site.com/code.txt
پاسخ : خدمت شما : http://dl.learn-site.com/NewCode.txt
———————————-
سوال 9 پرسیده شده توسط حمیدرضا :من برنامه ای دارم که توی اون از دیتابیس sqlite استفاده میکنم و اون رو توی پوشه ی debug گذاشتم و روی ویژوال استادیو کامل اجرا میشه. اما مشکل من وقتی هست که از برنامم ستاپ میگیرم و نصب میکنم. چون برنامه در درایو C نصب میشه، پایگاه داده ی من read only میشه و فقط داده ها رو نمایش میده و امکان حذف و درج و آپدیت وجود نداره. چون دیتابیس رفته توی پوشه ی program files و دسترسی خود به خود محدود شده. اما من گشتم و گشتم تا به این راه حل رسیدم که در ویژوالاستادیو موقع ستاپ گیری باید یه پوشه ی app data اضافه کنم و فایل دیتابیسم رو به اون انتقال بدم و بعد از ستاپ، دیتابیسم در مسیر زیر قرار میگیره:
C:\Users\Hamid\AppData\Local\mydb.sqlite
در نتیجه چون این پوشه دسترسی محدود نداره، دیتابیس read only نمیشه. اما هر چقدر من این پوشه رو موقع ستاپ ایجاد میکنم، دیتابیسم بعد از ستاپ گیری، در اون مسیر ایجاد نمیشه. اینم کانکشن استرینگ منه:
[/php]
con = new SQLiteConnection(“Data Source=” + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), “mydb1.sqlite”) + “; Version=3”);
[/php]
اینم دوتا از بهترین آموزشایی که در ین زمینه دیدم اما هیچ کدوم مؤثر نبودن برام:
https://social.msdn.microsoft.com/Forums/windows/en-US/56f98835-83f4-4b9e-8167-b37cb61a053c/cant-adding-common-application-data-folder-to-setup-project?forum=winformssetup
========
https://social.msdn.microsoft.com/Forums/windows/en-US/56f98835-83f4-4b9e-8167-b37cb61a053c/cant-adding-common-application-data-folder-to-setup-project?forum=winformssetup
پاسخ : درون ستاپ برنامتون مشخص کنید که دیتابیستون در appdata کپی بشه ( چون در اپ دیتا مجوزی برای خواندن و نوشتن نیازی نیست ) بعد sql برنامه را به دایرکتوری appdata متصل کنید [ مشکل توسط تیم لرن سایت با تیم ویور حل شد ]
———————————-
سوال 10 پرسیده شده توسط arash : چطوری میشه یه مقداری رو از یه وب گرفت مثلا شما یه برنامه نوشته بودید که رتبه الکسا رو نشون میداد…ممنون میشم یه سورس هم در این زمینه بزارید که رتبه الکسا یا پیج اتوریتی رو نمایش بده…
پاسخ : در این اموزش سایت اشاره شده است :
https://learn-site.com/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%be%d8%a7%d8%b3-%d8%af%d8%a7%d8%af%d9%86-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa-%d9%81%d8%b1%d9%85-%d8%a8%d9%87-%d9%88%d8%a8-%d8%af%d8%b1/
از دادن جزئیات معذور هستیم !
درضمن نرم افزار گرفتن الکسا و پیج اتوریتی از این خاصیت استفاده نمی کند و از روش های دیگر به الکسا متصل شده است. ( بهتر هست در مورد api تحقیق کنید )
من 4 تا دونه مسئله دارم که باید با کد برنامه نویسی #C حل بشه یعنی با کد حل بشه این مسئله ها عبارتند از: 1 )فرض کنید قرار است یک شرکت را مدل کنیم. شرکت یک مدیر، تعدادی برنامهنویس و تعدادی کارمند بخش اداری دارد. با استفاده از مفاهیم Oriented Object یک کالس برای هر یک از افراد تعریف کنید. هر فرد یک نام دارد و تابعی که نام آن شخص را نمایش میدهد. همچنین موقع ایجاد کالس باید نام فرد دریافت شود و هنگام Destruct شدن نام و Position فرد نمایش داده شود. مدیر یک فیلد به نام… بیشتر بخوانید >