Ultimate ++の知人の印象

フリーランサーであるか、エキゾチックなC ++環境を試してみたい場合は、Semion Esilevskyの一連の記事( パート1パート2パート3パート4-すべてがwikiにあります )そのような最後の別れの言葉で:

「U ++の利点は、その異常性と高い「参入障壁」を上回っていますか?」 私の意見では、はい。 U ++は、特にデータベースの大量使用が予想される場合、ゼロから開発されたクロスプラットフォームプロジェクトに最適です。


カットの下には、データベースに保存されているドキュメントの編集されたディレクトリの毎日の作業の月のフォーラムおよびマニュアルで発見したU ++のニュアンスがあります。 私はすぐに 「素晴らしき三位一体」との比較がないことに気付くでしょう。最も単純なGUIで以前はWTLを使用し、残念ながらeGUI ++ライブラリを探しましたが、残念ながら作者は見捨てましたが、誰もいませんでした。



まず第一に、Ultimate ++は最後通告です:TheIDEの独自の環境、または、たとえばVisual Studio + STL + POCO + WTLのようなWindowsでのセット。 その結果、例外を忘れる必要がありますが、残りはまともですが、私が書いた非同期クライアント/サーバーファイル転送コードの断片で示されています。



コア





SQL



ここここを ください 。 PHP / Yiiファンは感謝するはずです。



QTF(ReportView)



QTFは、高度なテキストフォーマット用のネイティブU ++形式です。 RichEditおよびレポートの生成で使用されます。 TheIDEには実験用の特別なデザイナーがいます:



画像



レポートを印刷するための特別なダイアログも提供されています(pdfでの保存はReportWindowの腸内にあります):

 Color rgb_color = Color(109, 171, 211); String qtf_color = Format("@(%d.%d.%d)", rgb_color.GetR(), rgb_color.GetG(), rgb_color.GetB()); String qtf; qtf.Cat(Format("[R9/%s Habrahabr &]", qtf_color)); qtf.Cat(Format("[_%s ] [ ] [_%sq\\&a] [_%s ] [_%s ] [_%s ]", qtf_color, qtf_color, qtf_color, qtf_color, qtf_color)); Report rep; rep << qtf; ReportWindow().Perform(rep);
      
      





画像



テキストのスタイルはタグ[and]で囲まれ、最初にブラケットの後ろに[QTF識別子があり、次にスペーステキストのみです。 一般に、原則はHTMLのようなもので、違いは名前だけです。



バザール



Bazarは特定のニーズに対応する一連のユーザーライブラリであり、中でもOfficeオートメーションでのWord / Excelのクロスプラットフォーム作業は非常に役立ちました。

 #include <OfficeAutomation/OfficeAutomation.h> GUI_APP_MAIN { //Excel OfficeSheet sheet; bool xlsOn = sheet.IsAvailable("Microsoft"); if (xlsOn) sheet.Init("Microsoft"); //Open Office Calc if (!xlsOn) { xlsOn = sheet.IsAvailable("Open"); if (xlsOn) sheet.Init("Open"); } if (xlsOn) { FileSel fs; fs.Type(" ", "*.xls *.xlsx"); fs.AllFilesType(); if (fs.ExecuteOpen(" Excel ")) { sheet.OpenSheet(~fs, true); sheet.AddSheet(true); } } //Word OfficeDoc doc; //  Word2003  Word2007,  - Word2003.   . bool docOn = doc.IsAvailable("Microsoft"); if (docOn) doc.Init("Microsoft"); //Open Office Writer if (!docOn) { docOn = doc.IsAvailable("Open"); if (docOn) doc.Init("Open"); } if (docOn) { FileSel fs; fs.Type(" Word", "*.doc *.docx *.rtf"); fs.AllFilesType(); if (fs.ExecuteOpen(" Word ")) { doc.OpenDoc(~fs, true); doc.AddDoc(true); } } }
      
      







ニュアンス





まとめ



参加しよう! 私が書いていない多くの点は、積極的な改善が必要です。 小さな分布で32 mbに値します。



All Articles