GornerLabo
کاربـــر عـــــادی-
تعداد ارسال ها
105 -
تاریخ عضویت
-
روز های برد
6
نوع محتوا
نمایه ها
وبلاگها
تالارهای گفتگو
گالری
فروشگاه
تقویم
مقالات
صفحات استاتیک
کتابخانه
بخش دریافت
تمامی مطالب نوشته شده توسط GornerLabo
-
در مورد استفاده از فایل tar بدون اکسترکت به این لینک برید tarlib - Windows TAR Library - CODEXPERT البته دقیق نمیدونم فقط جستجو کردم
- 4 دیدگاه
-
- compressing
- decompressing
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
در رابطه با نظری که دادم ، به احتمال زیاد فایل tar در حافظه ی دیسک اکسترکت نمیشه و در مموری این عمل خوندن انجام میشه. شاید کتابخانه libtar این کار رو انجام بده ( من بررسی نکردم) اما به طور حتم در مورد نظرم به این نتیجه رسیدم که بعضی برنامه ها فایل موجود در tar رو میخونن ( در مموری ) و متناسب با برنامه ازش استفاده میکنن. اگر اساتید نظری داشته باشند خوشحال خواهم شد به اشتراک بذارند
- 4 دیدگاه
-
- compressing
- decompressing
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
سلام و خسته نباشید. ممنون بابت مقاله مفید و خوبتون ، اگه امکانش باشه یه سوال داشتم. بعضی از برنامه نویسان بدون استخراج فایل با فرمت .tar از فایل درون این آرشیو استفاده میکنند. فرض بگیرید فایل باینری دارید که آرشیو شده به tar و بدون نیاز به چنین کتابخانههایی اقدام به read کردن آن فایل باینری و استفاده میکنند. ممنون میشم پاسخ بدید.
- 4 دیدگاه
-
- compressing
- decompressing
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
ممنون بررسی میکنم مرسی اقای صباغی
-
با سلام و تبریک سال نو دوستان برنامه ای دارم که مجبورم از 7z استفاده کنم. دلیل اجبار هم این است که با استفاده از 7z میشه فایل های موجود در آرشیو را مشاهده کرد و در QByteArray ذخیره کرد یعنی لازم به اکسترکت در مسیری از کامپیوتر نیست! اگر با QProcess بخواییم با 7z.exe فایلی را اکسترکت کنیم ساده س ولی برنامه به شکلی هست که نباید فایل های آرشیو (با فرمت های مختلف 7z , tar و ..) در مسیر کامپیوتر اکسترکت بشن بلکه لازمه در خود برنامه ، لیست فایل های موجود نمایش و ذخیره شوند و برای هدف برنامه مورد استفاده قرار بگیرن. تا جایی که جستجو و پرسش داشتم از دوستان ، میشه با 7z این عمل را انجام داد ولی هیچ داکیومنتی از 7z.dll در رابطه با Qt ندیدم. چون در Qt میشه راحت لیست فایل های موجود را در لیست ویجت ذخیره کرد و مورد استفاده قرار داد. اگر دوستان راهنمایی داشته باشند ممنون میشم
-
دوستان فرض کنید فایلی رو میخونیم و اونو میریزیم توی یه متغیر از نوع QByteArray . حالا باید متغیر از نوع QByteArray به قسمت های کوچکتر با سایز مشخص تقسیم شوند ، به نحوی که هر قسمت ادامه قسمت بعدی باشه. برای استفاده از این تقسیم بندی باید هر قسمت به صورت جدا در برنامه استفاده بشه. از دوستان کسی میتونه راهنمایی کنه این مشکل رو چجوری باید حل کرد؟ آیا تابع مشخصی داره ؟
-
این تکنیک پایین هم میشه استفاده کرد QTimer::singleShot(1000, [this]() { //code 1 } ); QTimer::singleShot(2000, [this]() { //code2 } );
-
یه جوابی گرفتم با این روش: اگه در کلاسمون به عنوان مثال دو اسلات تعریف کنیم و کاری که میخواییم رو انجام بدیم در اسلات ها تعریف کنیم و جایی که میخواییم به نوبت و با تایم مشخص اجرا بشن باید از این روش استفاده کنیم: QTimer::singleShot(1000,this, SLOT(slotFunction1())); QTimer::singleShot(2000,this, SLOT(slotFunction2())); دوستان اگه روش بهتری هم داشتند میتونن اینجا معرفی کنند . ممنون
-
سلام و خسته نباشید. من یه رشته ای رو برای اطلاع به کاربر در برنامه میخواستم نمایش بدم. این رشته باید پشت سرهم و با اختلاف 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 }
-
سلام. آیا میشه در کلاسی چندین enum بدون نام تعریف کرد؟ هدف تعریف چند نوع enum پشت سرهم در کلاس چیه و به چه نحوی میشه ازشون استفاده کرد؟ مثلا: enum { one, two, three }; enum { tehran, karaj, yazd };
-
آقای صباغی با توجه به نیازی که دارم جستجو کردم و ظاهرا این کلاس به درد کارم میخوره. برنامه ای که دارم اینه که یه برنامه با این کلاس بسازم وقتی ساخته شد و کامپایلش کردم بتونم به همین برنامه دستورات بفرستم و طبق دستورات برنامه عمل کنه. مثل همون cmd در ویندوز. حالا اولین بارمه با این کلاس اشنا میشم و کار نکردم باهاش . داکیومنت هم خوندم ولی باور کن هیچی ازش نفهمیدم. اگه امکانش باشه با مسالی ساده برام بگید سازوکار این کلاس چ جوریه؟
-
با سلام و خسته نباشید خدمت اساتید. بنا به نیازم مجبورم شدم با کلاس qcommandlineparser کارکنم. من میخوام با مثال ساده کار با این کلاس رو یاد بگیرم. داکیومنت این کلاس رو در این لینک مطالعه کردم اما واقعیتش اونجور که باید و شاید مطلب رو نگرفتم. اگر از اساتید لطف کنن آموزشی در مورد این کلاس رو با ذکر مثال ساده اینجا بیان کنند بسیار ممنون خواهم شد. با تشکر
-
آقا دمت گرم حل شد بسیار سپاس گزارم فقط این کلاس QRegExp برای چی هست؟
-
سلام اساتید. برنامه داریم که با سخت افزار در ارتباط است. سخت افزار در قسمتی از برنامه جواب به صورت رشته برمیگرداند. ابتدای جواب ها به یک شکل است ولی در قسمتی از جواب ها تفاوت دارد. به عنوان مثال جواب ها شاید بدین شکل باشند: ready , ready00 , ready0000, ready00044555 و ... . ما نیاز داریم یک شرط فقط در برنامه قرار بدیم به این شکل که اگر جواب ready بود فلان دستور انجام بشه اگر جواب ready00 بود فلان دستور. جواب های دیگه طبق همین جواب دوم سنجیده میشه یعنی اگر جواب ها ready00 یا ready0000 یا ready00044555 باشه دستورات یکسان انجام بشه. پس ملاک 00 بعد ready هست. چطور با کلاس QString و QRegExp و تابع contains این مساله رو حل کرد تشکر از مدیریت و اساتید سایت
-
ممنون ازتون بابت پاسخگویی
-
با سلام و خسته نباشید خدمت اساتید محترم. در بحث Qt میخواستم کاربرد QMap ، QList و QVector رو بدونم که در کجاها ازشون استفاده میشه ؟ و آیا به جز این سه کلاس کلاسی دیگری هست در کیوت برای استفاده مشابه؟
-
روش دیگه برای ادد کردن کتابخانه رو هم امتحان کردم اوکی شد: یک پوشه ایجاد کنید مثلا در مسیر 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 را ذخیره کرده و پروژه را یک بار بیلد کنید، کار تمام است و برای آزمایش میتوانید طبق مثال های کتابخانه عمل کنید. با تشکر فراوان از اساتید محترم بخصوص آقای @کامبیز اسدزاده ?
-
تشکر استاد
-
بعد بیلد ، کتابخانه به این شکل دراومد. لینک دانلود کتابخانه بیلد شده با کامپایلر mingw مشکل حالا نحوه اد کردن این کتابخانه س. فایل dll داره در فولدر bin ولی فایل .h نداره که داینامیک ادد کنم
-
مشکل بیلد هم حل شد. سپاس استاد. برای اضافه کردن به پروژه از گزینه add library استفاده میکنم . برای این منظور بعد add library ، مسیر کتابخانه و فایل .a رو فقط میتونم اضافه کنم که با بیلد کردن پروژه با ارور مواجه میشم. گوگل کردم و چندجایی دیدم مشکل داشتن در ویندوز برای اضافه کردن. اینم حل شه ازتون ممنون میشم
-
دوره تصویری برای آموزش این کتابخانه دارین؟
-
با سلام و خسته نباشید خدمت اساتید محترم. اگه بخواییم در QWidget یک فایل فشرده با فرمت های مختلف همچون zip , RAR , tar و ... را فراخوانی کنیم و فایل های محتوایی که در این فایل فشرده هست را در برنامه استخراج (Extract) کرده و به صورت یک لیست دربیاریم و به صورت دلخواه هر فایل را جدا استفاده کنیم باید به چه شکل عمل کنیم؟ آیا کتابخانه خاصی داره برای این کار ؟ اگر مثال در این مورد سراغ دارین ممنون میشم کمک کنید. با تشکر
-
با این تکه کد حل شد QByteArray ba; ba.resize(100); ba.fill(0x00); ba[0] = 0x01; port->write(ba); port->flush();
-
با سلام. برای رایت دستورات در 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; اگر این متغیر را در یک فایل باینری ذخیره کنیم مشکلی در رایت نیست اما اگر بدون ذخیره در باینری بخواهیم در پورت سریال رایت کنیم ، عمل رایت انجام نمیشه
-
خیلی ممنون استاد