باسلام و عرض خسته نباشید به همراهان لرن سایت.

امروز تصمیم به زدن این پست گرفتم تا وقتی که انجمن لرن سایت شروع به فعالیت نکرده سوالاتتان را میتوانید در این پست بپرسید و پاسختان را بگیرید.

در این پست به تک تک سوالاتتان جواب خواهیم داد و نیز تمامی سوالات در پست نیز برای سهولت کاربران و بازدیدکنندگانی که سوال شما سوال آن ها نیز هستند درج خواهد شد .

سوالاتی که به زبان برنامه نویسی سی شارپ مربوط هستند زودتر به جواب خود خواهند رسید.( توسط خود شخص بنده جواب خواهید گرفت )

سوالاتی که غیر از زبان برنامه نویسی سی شارپ هست توسط کاربران و بازدیدکنندگان سایت پاسخ داده خواهند شد.

تنها به سوالاتی پاسخ خواهیم داد که به ضرر کاربران و لرن سایت دات کام نباشد.

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

با آرزوی موفقیت برای شما برنامه نویسان عزیز.

سوالات و پاسخ کاربران در ادامه مطلب

 

سوال 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.1/5 - (9 امتیاز)
شریف پور

مشاهده نظرات

  • سلام
    بنده وقتی روی فایل های xml پوشه (leyout)میزنم برای طراحی یک لادینگ میاد و حتی شده نیم ساعت هم صبر کنم اما لادینگ تموم نشده

    اسم لادینگ اول

    (Loading leyout) است و بعد

    لادینگ

    (Building project)

    میاد و بعد اصلا صفحه design باز نمیشه

    سیستم من
    رم ۴ و سی پی یو i3 اینتل و ویندوز 10 و ویژوال استادیو 2019 نصب است.
    ممنون میشم راهی بگید که بتونم سرعت رو افزایش بدم و صفحه xml رو مشاهده کنم.

    • باسلام.
      درصورتیکه حجم فایل زیاد است باید از نرم افزار مخصوص ادیت فایل های حجیم مثل emeditor استفاده کنید. همچنین بستگی به حجم فایل نیز هست که در چه حدی بالاست. درصورتیکه بسیار سنگین باشد، سخت افزار شما جوابگو نخواهد بود.

  • سلام میخواستم بدونم بیشه تابع یا الگوریتمی نوشت که خود به خود بتواند به هر تعدادی متغییر را بدون نظارتی به طور خودسر بنویسد و مقدار دهی کند.

  • سلام ، میخوام بدونم چجوری میشه تو ویندوز فرم #C کدی نوشت که وقتی برنامه باز میشه ، اندازه اش برابر اندازه صفحه کاربر بشه و اون فقط برنامه رو ببینه

    • باسلام.
      می توانید از کد زیر استفاده کنید:

      this.WindowState = FormWindowState.Normal;
      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
      this.Bounds = Screen.PrimaryScreen.Bounds;

  • سلام
    من نرم افزاری دارم که وقتی یوزرم در سرور را sign out میکنم اعداد را در نسخه پی دی اف نرم افزار لاتین نشان میدهد و وقتی دوباره با یوزر سرور وارد میشوم اعداد در پی دی اف درست میشود

  • سلام و عرض ادب از سایت بسیار خوبتون یه سوال داشتم در رابطه با برنامه نویسی c در محیط IDE چگونه میشود : برنامه ای بنویسید که 10 عدد از کاربر را دریافت کرد و تعیین کرد که چند درصد از اعداد بر ۷ چند درصد بر ۵، چند درصد بر ۷ یا ۵ و چند درصد بر ۵و ۷ بخش پذیر است؟؟
    خیلی ممنون میشم که این سوال را جواب بدید بدون استفاده از آرایه و با استفاده از if یا while در کل خیلی ساده حل شود ممنون.

  • #سوال پایتون ، میخوام بیشترین تکرار در حروف انتهایی کلمات رو بدست بیارم، مثلا حرف ،e چندبار آخر کلمات اومده ؟؟؟

  • #include
    using namespace std;

    int main()
    {

    int lineNum = 1, lines, stars = 1, spaces = 0;

    cin >> lines;

    while (lineNum <= ((lines % 2 == 0) ? (lines / 2) : (lines / 2) + 1)) {

    for (int c = (((lines % 2 == 0) ? (lines / 2) : (lines / 2) + 1) - lineNum); c != 0; c--)
    cout << " ";

    for (int c = 0; c < stars; c++)
    cout << "*";

    for (int c = 0; c < stars; c++)

    cout << "b";

    cout << "\n";

    lineNum++;
    stars += 2;

    }

    stars = (lines % 2 == 0) ? stars - 2 : stars - 4;
    spaces = (lines % 2 == 0) ? spaces = 0 : spaces = 1;

    while (lineNum <= lines) {

    for (int c = 0; c < spaces; c++)
    cout << " ";

    for (int c = stars; c != 0; c--)
    cout << "*";
    cout<<"";
    cout<<"";
    for (int c = stars; c != 0; c--)
    cout << "b";
    cout << " ";
    cout << "\n";
    stars -= 2;
    spaces++;
    lineNum++;

    }

    }
    سلام میخواستم با این برنامه دو لوزی با کاراکتر * کنار هم چاپ کنم ولی فقط یکیش چاپ میشه لطفا کمکم کنید
    برای تفکیک بهتر بجای * در لوزی دوم از حرف b استفاده کردم.

  • با سلام و عرض ادب به تمامی دوستان
    من هدفم رو با یه مثال مشابه میپرسم :
    هدف یه کتاب خونه بزرگ که اطلاعاتی چون امانت دادن و تحویل گرفتن کتاب رو دریافت و اونو انالیز کنه و ثبت کنه (گستردگی کتابخونه در حد یک کشور ) و یه نسخه از کپی از اطلاعات هر شخص رو به اپلیکیشن همان شخص مورد نظر ارسال کنه .
    اول بگم که من آماتور آماتور هستم .

    باید چه نوع برنامه نویسی (sql , python, c) رو دنبال کنم ؟
    آیا سورس مشابه با هدفم وجود داره ؟
    ممنونم میشم سریعترین راه رسیدن به هدفم رو بهم بگید .

    • باسلام.
      توسط‌ تمامی زبان های برنامه نویسی مذکور قابلیت اجرایی دارد، اما توصیه ما برای توسعه نرم افزار تحت ویندوز و نرم افزار مذکور، سی شارپ است، سورس های مشابه را می توانید با جستجو در منابع انگلیسی پیدا کنید.

  • سلام
    میخوام یه سری کد با #C بنویسم که توسط حلقه for بیاد کل اعدادی که از 0 دوتا دوتا میره روش تا 100000 رو برام داخل یک richTextBox نمایش بده. اما وقتی روی دکمه استارت کلیک میکنم و حلقه شروع به کار کردن میکنه بعد از چند ثانیه کار کردن حلقه سرعت برنامه به شدت میاد پایین و کند میشه.تا حدی که هنگ میکنه.
    خواهشا کمک کنید چجوری جلوی این کندی رو بگیرم لازمش دارم.

    • سلام.
      با تشکیل Thread مجزا و یا Task.Run بایستی اقدام به اجرایی کد ها در ترد جدید کنید تا ترد اصلی آزاد باشد و هنگ نکند.
      می توانید از آموزش های مربوطه موجود در لرن سایت درباره برنامه نویسی موازی در سی شارپ استفاده کنید.

  • سلام. خسته نباشید. من به تازگی شروع به اموختن زبان c کردم. میخوام در برنامه visual studio از کتابخونه iostream استفاده کنم. من تازه کارم اگه میشه جوابتون ساده و کامل باشه.
    توروخدا کمکم کنید دارم دیوونه میشم

آخرین مطالب

نحوه هلتداری مدرن و کارآمد

مکانیسم هتلداری پیشرفته در دنیای امروزی که تکنولوژی تمام ابعاد زندگی و کار را در… ادامه مطلب

ژوئن 6, 2020

سیستم نرم افزار هتلداری

امروزه هتل‌ها در دنیای صنعت گردشگری یکی از ارکان اساسی محسوب می‌شوند. ارائه‌ی خدمات با… ادامه مطلب

می 22, 2020

نحوه انبارداری شرکت آمازون

موفقیت کسب و کارهای بزرگ، همیشه الگوی مناسبی برای کسب و کارهای کوچک‌تر است. آمازون… ادامه مطلب

آوریل 26, 2020

طراحی نرم افزار انبارداری

  یکی از مهم‌ترین و کلیدی‌ترین بخش‌های یک سازمان، انبار محصولات یا خدمات آن است.… ادامه مطلب

آوریل 21, 2020

طراحی نرم افزار مالی و حسابداری

این روز ها با تقریب خوبی می توان گفت شرکت یا بیزینسی باقی نمانده است… ادامه مطلب

ژانویه 30, 2020

چگونه برنامه نویس موفق اندروید شویم؟

از آنجا که اپلیکیشن های موبایل بیشتر و بیشتر مردم را از راه های خلاقانه… ادامه مطلب

ژوئن 15, 2019