دسته بندی: c++

مرداد۲۸۱۳۸۹

سال ها تلاش

سلام

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

یکی از کارهایی که حدود ۱-۲ سالی هست که میخواستم انجام بدم.

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

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

در طی پست های آینده آموزشش را میدم.

برنامه را با c++ و qt نوشتم.

یا حق

مرداد۲۳۱۳۸۹

کدام زبان برنامه نویسی؟

سلام

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

کدام زبان برنامه نویسی برای برنامه های دسکتاپ بهتره؟

انتخاب هایی که میتونستم داشته باشه java , c , c++ , python ؟؟؟

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

ولی کدام یک بهتر است؟

اول به سراغ جاوا رفتم و در حد زیادی بهش ور رفتم ولی ۲ عیب اساسی داشت

اول اینکه خیلی کند بود

دوم اینکه اصلا ظاهر زیبایی نداشت

بعد از این رفتم سراغ c , c++ که همزمان کار کردم و از ارور های مسخره ی آنها خسته شدم .

به سراغ python رفتم.

تقریبا مثل خود php بود و خیلی شعور بالایی داشت وسرعت فوق العاده خوبی داشت.

ولی به علت کم بودن منابع و مثال ها این زبان که خیلی به نظرم خوب بود را رها کردم.

این وسط با qt و gtk به عنوان رابط گرافیکی کار میکردم و qt را انتخاب کرده بودم.

خیلی زیاد با pyqt کار کردم ولی منابع برنامه و… در موردش پیدا نکردم و مجبور شدم ولش کنم .

و در نهایت به علت زیاد تر بودن منابع به سراغ c++ و qt رفتم .

از qt designer به عنوان IDE استفاده میکنم و تقریبا فوت کار کردن باهاش را فهمیدم .

الان دارم روی یک برنامه برای ارسال پیامک کار میکنم.

اگر این برنامه را نوشتم دیگه همین زبان برنامه نویسی را ادامه میدم.

برای بانک اطلاعاتی هم از sqlite استفاده کردم.خیلی ساده هست ولی خوبیش اینه که روی همه ی سیستم عامل ها استفاده میشه کرد.

فعلا اول این راه هستم ولی الان خیلی شیرین هست.

اردیبهشت۲۶۱۳۸۹

فقط ۱ خط کد

سلام

وقتی ۲۰ روز توی اینترنت برای حل یک مشکل ساعت ها سرچ میکنی و در نهایت جواب مشکلت فقط یک خط کد میشه چه حسی بهت دست میده؟

۲۰ روز وقت من برابر این یک خط کد هست :

panel_applet_set_flags(applet, PANEL_APPLET_EXPAND_MINOR);

نمیدونم باید از اینکه مشکلم حل شد خوشحال باشم یا اینکه به خاطر اینکه جوابش فقط ۱ خط میشد ناراحت باشم.

اسفند۱۴۱۳۸۸

تاریخ فارسی به صورت widget برای میزکار kde

سلام
۴-۵ روز وقتم را گرفت ولی تونستم بنویسمش.
هیچ اطلاعی در مورد qt نداشتم و مجبور شدم با qt آشنا بشم.
حتما میدونید که میزکار kde از رابط گرافیکی qt استفاده میکنه(؟؟)
این widget هم خیلی خوب شد.
به نظرم به درد خیلی از ایرانی ها میخوره.
گرچند فعلا توی هیچ کدوم از سایت های ایرانی در موردش چیزی ننوشتند ولی فکر میکنم بعدا خیلی بهتر جا بیوفته

اول این فایل را دانلود کنید و سپس اجراش کنید .

http://mohsendavari.ir/blog/wp-content/uploads/2010/03/kde-persian-date-plasmoid-widget.tar.gz

و به ترتیب این مراحل را انجام بدید

در نهایت هم این تصویر را میبینید

اسفند۹۱۳۸۸

فارسی نویسی در qt

سلام

اولین مشکلی که ما فارسی نویسان با زبان های برنامه نویسی داریم پشتیبانی از utf8 هست.

امروز با qt داشتم کار میکردم و به این مشکل برخوردم که فارسی را نشون نمیداد.

یک کد برای رفع این مشکل پیدا کردم.

ابتدا این کد را در بالای کدهاتون قرار میدید :

#include <QTextCodec>

سپس در تابع اصلی فایلتون این ۲ خط کد را قرار میدید.

به همین راحتی .

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
اسفند۲۱۳۸۸

کد نمونه برای انتخاب فونت در c++ و gtk

سلام

۲-۳ روزه دارم دنبال این کد میگردم.

امروز پیدا کردم.

خیلی چیز به درد بخوری هست .

#include <gtk/gtk.h>

static void font_sel_ok_sel( GtkWidget *w,GtkFontSelectionDialog *dlg ){
g_print ("%s\n", gtk_font_selection_dialog_get_font_name (GTK_FONT_SELECTION_DIALOG (dlg)));
}
int main (int argc, char *argv[]){
gtk_init(&argc, &argv);

GtkWidget *font_sel = gtk_font_selection_dialog_new("Choose a font");
gtk_font_selection_dialog_set_preview_text(GTK_FONT_SELECTION_DIALOG(font_sel), "This is a sentence");

g_signal_connect (G_OBJECT (font_sel), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (G_OBJECT (GTK_FONT_SELECTION_DIALOG(font_sel)->ok_button),
"clicked",
G_CALLBACK (font_sel_ok_sel), (gpointer)font_sel);
gtk_widget_show(font_sel);
gtk_main();
return 0;
}
بهمن۳۰۱۳۸۸

اولین applet من برای میزکار گنوم

سلام

بالاخره توسنتم یه چیزی بسازم

http://mohsendavari.com/applet

توضیحات و تصاویر برنامه کامل هست

خیلی خیلی تجربه  پیدا کردم

از جمله اینکه کلا منطق php با c++ متفاوت هست

باز به این جمله که php خیلی شعور داره پی بردم.

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

تونستم یک فایل  deb بسازم که کار کنه.

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

بهمن۲۹۱۳۸۸

جایگزین فانکشن replace در c++

سلام

دارم یک مقداری c++ کار میکنم.

تصمیم دارم هر چیزی یاد میگرم را روی وبلاگم منتشر کنم.

الان هم یک فانکشن خوب پیدا کردم.

کار replace را انجام میده

void find_and_replace( string &source, const string find, string replace ) {

size_t j;
for ( ; (j = source.find( find )) != string::npos ; ) {
source.replace( j, find.length(), replace );
}
}

بهمن۲۷۱۳۸۸

ایجاد اپلت برای گنوم – ۱

سلام

دفعه ی قبل که یک اپلت کوچیک ساختم به علت یک اشتباه تمامی کدهام پاک شد به همین دلیل این بار در وبلاگم کامل توضیح میدم.

قصد ما ایجاد یک اپلت برای میزکار گنوم  به زبان c++ است.

اولین چیزی که نیاز دارید نصب کردن gcc , libpanelapplet-2.0 , libgtk2.0-dev  , gnome-panel-devel هست.

مشکلاتی که بعضی افراد با اون مواجه میشند .

ارور

error: panel-applet.h: No such file or directory

هست که به علت نصب نبودن  gnome-panel-devel رخ میدهد.

آذر۲۲۱۳۸۸

استفاده از curl در c++

سلام

برای استفاده از curl در c++ اول باید libcurl را نصب کنید.

sudo apt-get install curl libcurl3 libcurl3-dev

در مرحله ی بعد برای کامپایل کردن نیاز دارید که یک لینک به  /usr/lib/libcurl.a  بدید و همین طور به دایرکتوری /usr/include/curl  .