رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

GornerLabo

کاربـــر عـــــادی
  • تعداد ارسال ها

    105
  • تاریخ عضویت

  • روز های برد

    6

تمامی مطالب نوشته شده توسط GornerLabo

  1. GornerLabo

    در مورد استفاده از فایل tar بدون اکسترکت به این لینک برید tarlib - Windows TAR Library - CODEXPERT البته دقیق نمیدونم فقط جستجو کردم
  2. GornerLabo

    در رابطه با نظری که دادم ، به احتمال زیاد فایل tar در حافظه ی دیسک اکسترکت نمیشه و در مموری این عمل خوندن انجام میشه. شاید کتابخانه libtar این کار رو انجام بده ( من بررسی نکردم) اما به طور حتم در مورد نظرم به این نتیجه رسیدم که بعضی برنامه ها فایل موجود در tar رو میخونن ( در مموری ) و متناسب با برنامه ازش استفاده میکنن. اگر اساتید نظری داشته باشند خوشحال خواهم شد به اشتراک بذارند
  3. GornerLabo

    سلام و خسته نباشید. ممنون بابت مقاله مفید و خوبتون ، اگه امکانش باشه یه سوال داشتم. بعضی از برنامه نویسان بدون استخراج فایل با فرمت .tar از فایل درون این آرشیو استفاده میکنند. فرض بگیرید فایل باینری دارید که آرشیو شده به tar و بدون نیاز به چنین کتابخانه‌هایی اقدام به read کردن آن فایل باینری و استفاده میکنند. ممنون میشم پاسخ بدید.
  4. GornerLabo

    ممنون بررسی میکنم مرسی اقای صباغی
  5. GornerLabo

    با سلام و تبریک سال نو دوستان برنامه ای دارم که مجبورم از 7z استفاده کنم. دلیل اجبار هم این است که با استفاده از 7z میشه فایل های موجود در آرشیو را مشاهده کرد و در QByteArray ذخیره کرد یعنی لازم به اکسترکت در مسیری از کامپیوتر نیست! اگر با QProcess بخواییم با 7z.exe فایلی را اکسترکت کنیم ساده س ولی برنامه به شکلی هست که نباید فایل های آرشیو (با فرمت های مختلف 7z , tar و ..) در مسیر کامپیوتر اکسترکت بشن بلکه لازمه در خود برنامه ، لیست فایل های موجود نمایش و ذخیره شوند و برای هدف برنامه مورد استفاده قرار بگیرن. تا جایی که جستجو و پرسش داشتم از دوستان ، میشه با 7z این عمل را انجام داد ولی هیچ داکیومنتی از 7z.dll در رابطه با Qt ندیدم. چون در Qt میشه راحت لیست فایل های موجود را در لیست ویجت ذخیره کرد و مورد استفاده قرار داد. اگر دوستان راهنمایی داشته باشند ممنون میشم
  6. GornerLabo

    دوستان فرض کنید فایلی رو میخونیم و اونو میریزیم توی یه متغیر از نوع QByteArray . حالا باید متغیر از نوع QByteArray به قسمت های کوچکتر با سایز مشخص تقسیم شوند ، به نحوی که هر قسمت ادامه قسمت بعدی باشه. برای استفاده از این تقسیم بندی باید هر قسمت به صورت جدا در برنامه استفاده بشه. از دوستان کسی میتونه راهنمایی کنه این مشکل رو چجوری باید حل کرد؟ آیا تابع مشخصی داره ؟
  7. GornerLabo

    این تکنیک پایین هم میشه استفاده کرد QTimer::singleShot(1000, [this]() { //code 1 } ); QTimer::singleShot(2000, [this]() { //code2 } );
  8. GornerLabo

    یه جوابی گرفتم با این روش: اگه در کلاسمون به عنوان مثال دو اسلات تعریف کنیم و کاری که میخواییم رو انجام بدیم در اسلات ها تعریف کنیم و جایی که میخواییم به نوبت و با تایم مشخص اجرا بشن باید از این روش استفاده کنیم: QTimer::singleShot(1000,this, SLOT(slotFunction1())); QTimer::singleShot(2000,this, SLOT(slotFunction2())); دوستان اگه روش بهتری هم داشتند میتونن اینجا معرفی کنند . ممنون
  9. سلام و خسته نباشید. من یه رشته ای رو برای اطلاع به کاربر در برنامه میخواستم نمایش بدم. این رشته باید پشت سرهم و با اختلاف 1 ثانیه ای نمایش داده بشه. بعد این نمایش میخواستم تایمر متوقف شه . با کلاس تایمر تونستم با اتصال سیگنال timeout به اسلاتی از برنامه این کار رو انجام بدم اما اسلات بعد زمان تعیین شده مرتبا تکرار میشد. طبق مثال زیر عمل کردم. لطفا راهنمایی کنید ممنون. #include <QTimer> class ShowString: public QObject { Q_OBJECT private: QTimer *timer; public: public slots: void show(); }; #include "showstring.h" ShowString::ShowString() { timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(show())); timer->start(1000); } void ShowString::show() { //my 3 line strings }
  10. سلام. آیا میشه در کلاسی چندین enum بدون نام تعریف کرد؟ هدف تعریف چند نوع enum پشت سرهم در کلاس چیه و به چه نحوی میشه ازشون استفاده کرد؟ مثلا: enum { one, two, three }; enum { tehran, karaj, yazd };
  11. GornerLabo

    آقای صباغی با توجه به نیازی که دارم جستجو کردم و ظاهرا این کلاس به درد کارم میخوره. برنامه ای که دارم اینه که یه برنامه با این کلاس بسازم وقتی ساخته شد و کامپایلش کردم بتونم به همین برنامه دستورات بفرستم و طبق دستورات برنامه عمل کنه. مثل همون cmd در ویندوز. حالا اولین بارمه با این کلاس اشنا میشم و کار نکردم باهاش . داکیومنت هم خوندم ولی باور کن هیچی ازش نفهمیدم. اگه امکانش باشه با مسالی ساده برام بگید سازوکار این کلاس چ جوریه؟
  12. GornerLabo

    با سلام و خسته نباشید خدمت اساتید. بنا به نیازم مجبورم شدم با کلاس qcommandlineparser کارکنم. من میخوام با مثال ساده کار با این کلاس رو یاد بگیرم. داکیومنت این کلاس رو در این لینک مطالعه کردم اما واقعیتش اونجور که باید و شاید مطلب رو نگرفتم. اگر از اساتید لطف کنن آموزشی در مورد این کلاس رو با ذکر مثال ساده اینجا بیان کنند بسیار ممنون خواهم شد. با تشکر
  13. GornerLabo

    آقا دمت گرم حل شد بسیار سپاس گزارم فقط این کلاس QRegExp برای چی هست؟
  14. GornerLabo

    سلام اساتید. برنامه داریم که با سخت افزار در ارتباط است. سخت افزار در قسمتی از برنامه جواب به صورت رشته برمیگرداند. ابتدای جواب ها به یک شکل است ولی در قسمتی از جواب ها تفاوت دارد. به عنوان مثال جواب ها شاید بدین شکل باشند: ready , ready00 , ready0000, ready00044555 و ... . ما نیاز داریم یک شرط فقط در برنامه قرار بدیم به این شکل که اگر جواب ready بود فلان دستور انجام بشه اگر جواب ready00 بود فلان دستور. جواب های دیگه طبق همین جواب دوم سنجیده میشه یعنی اگر جواب ها ready00 یا ready0000 یا ready00044555 باشه دستورات یکسان انجام بشه. پس ملاک 00 بعد ready هست. چطور با کلاس QString و QRegExp و تابع contains این مساله رو حل کرد تشکر از مدیریت و اساتید سایت
  15. GornerLabo

    ممنون ازتون بابت پاسخگویی
  16. GornerLabo

    با سلام و خسته نباشید خدمت اساتید محترم. در بحث Qt میخواستم کاربرد QMap ، QList و QVector رو بدونم که در کجاها ازشون استفاده میشه ؟ و آیا به جز این سه کلاس کلاسی دیگری هست در کیوت برای استفاده مشابه؟
  17. GornerLabo

    روش دیگه برای ادد کردن کتابخانه رو هم امتحان کردم اوکی شد: یک پوشه ایجاد کنید مثلا در مسیر C:\Qt\lib-archive مرحله بعد در داخل همین پوشه lib-archive برای راحتی می‌توانید دو پوشه به نام های include و lib ایجاد کنید. در این مرحله باید فایل های .h از کتابخانه اصلی را در پوشه include کپی کنید و همچنین فایل بیلد شده از dll ها ( یا پسوند .a ) را در پوشه lib کپی کنید. به Qt رفته و یک پروژه ایجاد کنید و در داخل فایل .pro به صورت دستی کد زیر را اضافه کنید: INCLUDEPATH += "C:/Qt/lib-archive/include" LIBS += -L "C:/Qt/lib-archive/lib" LIBS += -llibarchive اکنون تغییرات فایل .pro را ذخیره کرده و پروژه را یک بار بیلد کنید، کار تمام است و برای آزمایش می‌توانید طبق مثال های کتابخانه عمل کنید. با تشکر فراوان از اساتید محترم بخصوص آقای @کامبیز اسدزاده ?
  18. GornerLabo

    تشکر استاد
  19. GornerLabo

    بعد بیلد ، کتابخانه به این شکل دراومد. لینک دانلود کتابخانه بیلد شده با کامپایلر mingw مشکل حالا نحوه اد کردن این کتابخانه س. فایل dll داره در فولدر bin ولی فایل .h نداره که داینامیک ادد کنم
  20. GornerLabo

    مشکل بیلد هم حل شد. سپاس استاد. برای اضافه کردن به پروژه از گزینه add library استفاده میکنم . برای این منظور بعد add library ، مسیر کتابخانه و فایل .a رو فقط میتونم اضافه کنم که با بیلد کردن پروژه با ارور مواجه میشم. گوگل کردم و چندجایی دیدم مشکل داشتن در ویندوز برای اضافه کردن. اینم حل شه ازتون ممنون میشم
  21. GornerLabo

    دوره تصویری برای آموزش این کتابخانه دارین؟
  22. با سلام و خسته نباشید خدمت اساتید محترم. اگه بخواییم در QWidget یک فایل فشرده با فرمت های مختلف همچون zip , RAR , tar و ... را فراخوانی کنیم و فایل های محتوایی که در این فایل فشرده هست را در برنامه استخراج (Extract) کرده و به صورت یک لیست دربیاریم و به صورت دلخواه هر فایل را جدا استفاده کنیم باید به چه شکل عمل کنیم؟ آیا کتابخانه خاصی داره برای این کار ؟ اگر مثال در این مورد سراغ دارین ممنون میشم کمک کنید. با تشکر
  23. GornerLabo

    با این تکه کد حل شد QByteArray ba; ba.resize(100); ba.fill(0x00); ba[0] = 0x01; port->write(ba); port->flush();
  24. GornerLabo

    با سلام. برای رایت دستورات در QSerialPort چندین روش هست که به ترتیب عبارتند از: 1- دستورات رشته ای: QString str = "command\r\n"; port->write(str.toStdString().c_str()); 2- فایل های باینری: QFile file(":/bin/file.bin"); if(!file.open(QIODevice::ReadOnly))return; QByteArray data = file.readAll(); port->write(data); 3- متغیر QByteArray: که مشکل من در این قسمت هست. فرض کنید متغیر زیر تعریف شده: QByteArray ba; ba.resize(100); ba.fill(0x00); ba[0] = 0x01; ba[8] = 0x0a; اگر این متغیر را در یک فایل باینری ذخیره کنیم مشکلی در رایت نیست اما اگر بدون ذخیره در باینری بخواهیم در پورت سریال رایت کنیم ، عمل رایت انجام نمیشه
  25. GornerLabo

    خیلی ممنون استاد
×
×
  • جدید...