سوالات برنامه نویسی کاربران و بازدیدکنندگان
11,137 بازدید
باسلام و عرض خسته نباشید به همراهان لرن سایت.
امروز تصمیم به زدن این پست گرفتم تا وقتی که انجمن لرن سایت شروع به فعالیت نکرده سوالاتتان را میتوانید در این پست بپرسید و پاسختان را بگیرید.
در این پست به تک تک سوالاتتان جواب خواهیم داد و نیز تمامی سوالات در پست نیز برای سهولت کاربران و بازدیدکنندگانی که سوال شما سوال آن ها نیز هستند درج خواهد شد .
سوالاتی که به زبان برنامه نویسی سی شارپ مربوط هستند زودتر به جواب خود خواهند رسید.( توسط خود شخص بنده جواب خواهید گرفت )
سوالاتی که غیر از زبان برنامه نویسی سی شارپ هست توسط کاربران و بازدیدکنندگان سایت پاسخ داده خواهند شد.
تنها به سوالاتی پاسخ خواهیم داد که به ضرر کاربران و لرن سایت دات کام نباشد.
برای پرسش سوال خود از طریق نظرات اقدام فرمایید و نیز لطفا توضیح کاملی از برنامه بدید . برای حل کردن مشکلات برنامه فقط از طریق دادن سورس آن امکان پذیر خواهد شد و در صورتیکه تنها فایل اجرایی را در نظرات ذکر کنید سوال شما تایید نشده و به آن پاسخ داده نخواهد شد.
با آرزوی موفقیت برای شما برنامه نویسان عزیز.
سوالات و پاسخ کاربران در ادامه مطلب
سوال 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 تحقیق کنید )
دیدگاه بگذارید
66 نظرات روشن "سوالات برنامه نویسی کاربران و بازدیدکنندگان"
با سلام من ممنونم به خاطر آموزش های خوبتون.من طبق آموزش های شما در بخش پایگاه داده در سی شارپ پیش رفتم و الان پروژه ام درست شده اما یه مشکل دارم من گرید ویو پدر و فرزند دارم و می خوام با کلیک روی یک سطر در گرید وی پدر موارد فرزندش در گرید ویو دوم نمایش داده بشه اما نمیدونم چکار کنم.ممنون میشم سریع کمک کنید
اگر اطلاعات گرید دوم از اطلاعات همون سطر گرید اول لود خواهد شد که فقط کافی هست در پراپرتی های گرید ویو حالت انتخاب رو از خانه به کل ردیف تغییر بدید و بعد با دستور زیر به اطلاعات اون ردیف برسید و در خانه های گرید دوم پر کنید
GridView1.SelectedRows[0].Cells[0].text
در غیر اینصورت اگر قرار هست با اطلاعات گرید اول کویری بزنید که اون هم اطلاعات رو از همین روش به دست میارید و کویری رو انجام میدید
آقای مهندس من چندین بار شده بود که sql حذف و مجدد نصب میکردم و موارد مورد اشاره شما رو دستی حذف میکردم اما این دفعه امکانش نیست و درست نصب نمیشه و ارور میده امکان داره موردی رو اشتباه حذف کرده باشم.آخه من دفعه آخر برای این که حجم درایو os آزاد کنم یه سری موارد از فایل usersحذف کردم .با تشکر از راهنمای و پاسخگوی شما.کردم .با تشکر از رانمای و پاسخگوی شما.
خواهش میکنم متوجه نمیشم یعنی چی که امکانش نیست؟
میتونین برین به محل نصب و فایل های موجود رو حذف کنین مثلا از پوشه پروگرم فایلز و ممکن هست فایل هایی که پاک کردن باعث ایراد شن ولی اگر به صورت کامل همه فایل های اس کیو ال سرور رو حذف کنید و دوباره از سر نصبش کنین مشکل حل میشه
اگر هم فایلی حذف نشد برید و سرویس های اس کیو ال رو از سرویس های سیستم استاپ کنین.
مشکلم حل نشده واقعا به دردسر افتادم من قبلا درست نصب میکردم و فایل بکاپم رستور میکردم اما حالا با اینکه همه موارد حذف کردم بعد نصب مجددارورهای که قبلا اشاره کردم در مرحله آخر میده و بعد باز کردن برنامه کاربر شناسای نمیکنه
کار پایان نامم متوقف شده برای این موضوع.
ببخشید اصولا اگر همه چی رو درست حذف کردید و مثل قبل این کار رو انجام دادید پس مثل قبل می بایست درست کار میکرد بنده هم اونجا نیستم که مشکل رو ببینم و با توضیحات شما دارم سعی می کنم کمکتون کنم تا مشکلتون حل شه
تنها راه دیگه ای که به نظرم میاد این هست که با نرم افزار تیم ویور به سیستمتون وصل شم و سعی کنم حل کنم مشکل رو البته اگر مایل باشین
اگه نحوه کمک خواستنم به صورتی بود که ایجاد سوتفاهم کرد باید بگم که منظوری نداشتم ویندوز عوض کردم مشکل حل شد. از راهنمایهای شما سپاس گذارم و ممنون از این که وقت میگذارید.
خواهش میکنم وظیفه بود
به هر حال از بابت اینکه نتونستم کمکی در حل مشکلتون بکنم عذر میخوام
متشکرم مهندس همین که پاسخ دادید لطف کردید فقط یه سوال در کد بالا در قسمت your priceآدرس ستون که قیمت خرید و فروش قرار داره جا گذاری کنم و درموردانتخاب شرکتهای مورد نظرم اینو باید بگم که اطلاعات من در سه ستون در یک جدول قرار دارد که نام شرکتها در ستون id و خرید و فروش در دو ستون دیگه قرار دارد نام شرکتام به صورت فارسی همراه با عدد یک کنارش است اگه در این مورد هم امکانش است کمکم کنید
من سیستمم هنگ کرد نرم افزار پاک کردم از دوباره نصب کردم اما در مرحله آخر گزینهای زیر پیغام Failed می ده وزمانی که نرم افزار بازمیکنم سیستم شناسای نمیکنه.لطفاراهنمایم کنید.
reporting services
Data Quality services
Full -text and semantic Extractions for seargh
data quality services
سلام مهندس
میخواستم اطلاعات وارد صفحه وب بکنم ولی نمی خوام با وب بروز کار کنم
میخوام که با httpwebrequest انجام بدم اگه فیلمی یا لینکی هست بزارید ممنون میشم.
سلام
میخوام برنامه نویسی اندروید یا بگیرم
شما چه زبونی رو پیشنهاد میدید؟
با سلام.
اگر منظورتون پیش نیاز است ، بهتره سی شارپ و جاوا اسکریپت یاد بگیرید .
اگرم منظورتون این هست که میخواید کلا اندروید یاد بگیرید و شروع کنید می توانید با ما در تماس باشید.
زیرا که تا چند روز دیگر پکیج کلی اموزش برنامه نویسی اندروید به فروش گذاشته می شود. ( مبتدی تا پیشرفته )
در صورت نیاز می توانید برای خرید ( پکیج بصورت پست ارسال می شود ) ، با اطلاعات زیر در تماس باشید.
ایمیل : yasharmahdis@gmail.com
تلگرام : @sharifpour2
باتشکر
سلام دمت گرم مهندس عالی بود
ی سوال دیگه داشتم
چجوری های مولتی کپچا میسازن مثلا چندتا کامنت رو باهم لود میکنن الگوریتمش چجوریه اگه منبعی یا میتونید راهنمایی کنید ممنون میشم
سلام.
خواهش میکنم.
در این موارد زیاد نمیتوانیم راهنمایی کنیم ولی مسلما با چند تا وب بروزر اینکار میکنند.
باتشکر.
سلام ببینید من میخوام تکست باکس کپتچای کامنت رزبلاگ از طریق برنامه پر کنم اینم عکس رو ببینید منظورم رو میفهمید
عکس ویرایش شد : https://learn-site.com/wp-content/uploads/01zy_2016-07-21_135151.png
با سلام.
در سوالات اقای علی نجفی به این موضوع اشاره شده بود .
کد در خواستی شما :
webBrowser1.Document.GetElementsByTagName(“INPUT”)[0].SetAttribute(“VALUE”, textBox1.Text);
به جای 0 ، شماره تب ایندکس اینپوت مد نظر را وارد نمایید.
برای پیدا کردن این شماره از سرچ فایرفاکس کمک بگیرید و ببینید چقدر INPUT در صفحه موجود است و اینپوت مد نظر شما چندمین اینپوت است.
و نیز به یاد داشته باشید که شمارش از 0 شروع می شود.
باتشکر.