ribbon, mysql, cairo, .net, klient pocztowy

ribbon, mysql, cairo, .net, klient pocztowy
0

Witam,
dawno się nie odzywałem. Chcę napisać aplikację w C++ i bardzo mi się spodobał ribbon w visual studio. Ale nie do końca rozumiem kilka kwestii. Trochę szukałem w google, ale nadal mam wątpliwości.

  1. Czy jest sens łączyć ribbon z .net? Zależy mi na aplikacji wieloplatformowej.
  2. Wiem, że cairo z łatwością można dodać do ribbona? Bo jest napisany pod C++.
  3. Jaką bibliotekę polecicie do stworzenia Klienta pocztowego, oczywiście w połączeniu z ribbonem? (IMAP, SMTP, utf-8, autoryzacja, html, wiele kont)
  4. Jaką bibliotekę polecacie do połączenia z bazą danych MySQL?
  5. A co powiecie o zabezpieczeniach? Coś kupić? Jak stworzyć logowanie?

Programuję jakiś czas, ale z c++ dopiero zaczynam zabawę (podstawy znam :D )

abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:7 miesięcy
  • Postów:6610
0
  1. co to znaczy wieloplatformowej wg Ciebie? O jakie platformy Ci chodzi?
  2. Ribbon (jeśli chodzi Ci o wstążkę taką z Office np.) nie ma nic do rzeczy jeśli chodzi o inne biblioteki - to jest po prostu zastępnik menu i toolbara

Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:25 minut
0

Nie ma jednej biblioteki "ribbon".
To tak jakbyś mówił "menu bar" albo "button".

Ribbon, wstążka, to element GUI. Jest wiele bibliotek go implementujących.
Sam Microsoft napisał ribbona kilka razy od nowa.

Po raz pierwszy wstążka pojawiła się w Office 2007. Nie można jej użyć we własnym programie - a przynajmniej nie zostało to udokumentowane.

Potem jako dodatek do któregoś Visuala (2008?) pojawiła się wstążka dla biblioteki MFC. Jest to inny ribbon niż ten z Office 2007, mimo że wygląda podobnie. Z tego co kojarzę, to nie jest to dzieło Microsoftu, tylko odkupili od kogoś.

Potem w Windows 7 jeszcze inną wstążkę mają niektóre programy (Paint, Wordpad) a w Windows 8 systemowy Eksplorator. Ta wstążka jest elementem systemu operacyjnego [Visty (z Platform Update) i nowszych] ale można jej też używać we własnych programach.
Nazywa się Windows Ribbon Framework.

Oprócz tego istnieje niezliczona ilość „wstążek” zaimplementowanych w Windows Forms, WPF i innych bibliotekach.

edytowany 1x, ostatnio: Azarien
0

Ok, co do ribbona to rozumiem. Wieloplatformowość - nie jest dla mnie aż tak istotna. Głównie pracuję na Windowsie, ewentualnie Linuxie. Można w sumie ten punkt olać.

To biorąc pod uwagę, że chcę pracować na .NET (WPF) możecie odpowiedzieć na pytania 3, 4 i 5?

JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

Przede wszystkim jeśli chcesz pracować na .NET, to radzę Ci nie podchodzić do C++/CLI (ni to C++, ni to C#), tylko wziąć się za C#.

0

Może inaczej. Zależy mi na pracy w C++ bo główne zastosowanie to podczepienie biblioteki cairo (c# mnie nie interesuje). Stąd wspomniałem o ribbonie, bo fajnie tworzy się menu.

Proszę o info co z bibliotekami do mysql i klienta pocztowego?

JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

Jeśli zależy Ci na C++, to nie .NET, tylko MFC lub QT, lub wxWidgets jeśli chodzi o okienka. Co do bibliotek do MySQL to daj spokój. Drugi wynik w google :| https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-complete-example-1.html

Poza tym masz też wersję dla C#: http://www.cairographics.org/bindings/
W prawdzie jest to Mono, więc nie wiem jak to będzie działało w normalnym Windowsie.

edytowany 1x, ostatnio: Juhas
0

Sorry, z MySQL to się pospieszyłem. Jeżeli chodzi o cairo pod c# to wiem, że jest ale ja muszę działać w c++ :)

A co powiesz o GTK+ oraz ribbonie (WRF)? Większość programów CAD używa menu podobnego do Offica (stąd pisałem o ribbonie).

Za resztę informacji to wielkie dzięki.

P.S. A co z pocztą? Znalazłem VMime - wygląda ciekawie. Potrzebuję napisać klient pocztowy do obsługi kilku kont na raz (nie pytajcie czemu standardowe programy są niewystarczające) używając IMAP, SMTP oraz coś do kodowania? Właśnie co z kodowaniem, jak do tego się podchodzi - napisać samemu?

0

No i HTML :D

JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

To Ci powiem, że większość programów CAD (jeśli nie wszystkie) używa MFC. Jeśli chodzi o ribbon, to część pewnie używa też ribbona z MFC, a część ma swój.

Kodowanie, masz na myśli kodowanie maila, czy zakodowanie treści maila?

0

Chodzi o kodowanie tj. utf-8.

JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

No co z tym kodowaniem. Masz od tego google jak np. konwertować między UTF8, UTF16, czy jakimś iso. Np: http://stackoverflow.com/questions/4059775/convert-iso-8859-1-strings-to-utf-8-in-c-c Chociaż jestem pewien, że są do tego gotowe biblioteki. Pewnie nawet w boost. Musisz poszukać. Osobiście niczego takiego nie znam, bo nie używałem.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:25 minut
0

Jeśli zależy Ci na C++, to nie .NET, tylko MFC lub QT, lub wxWidgets jeśli chodzi o okienka.

To że niektórzy tu mają awersję do C++/CLI (podkreślając z uporem godnym lepszej sprawy że to nie C++) to nie powód by proponować MFC w miejsce Windows Forms ;-)

0

Poczytałem trochę o Qt i wxWidgets i wychodzi na to, że Qt jest dużo ciekawszy (prostszy) np.: ma coś ala CSS.
Jeżeli chodzi o MFC to wydaje mi się trochę.... starawe :D

Natomiast nie do końca rozumiem problemu z C++/CLI? Chodzi o to, że pisze się w C++ ale kod wychodzi taki jak z C# (w senie łatwiejszy do zdekompilowania)? Wiem, że też jest problem z edytorem GUI.
Rozumiem, że .NET daje mi ustandaryzowanie bibliotek niezależnie od wersji Windowsa, ale czy warto się w to pchać?

Szczerze jestem w kropce, nie wiem w co iść. W dodatku każdą z nich (Qt, wxWidgets i MFC) można zintegrować z ribbonem...

0

Ok, wiem trochę więcej:
MFC - z tym starawo to trafiłem :D czytałem, że zbliżony do tego jest wxWidgets
wxWidgets vs Qt - (cross-platform) czytałem, że Qt jest ciekawsze jeżeli chodzi o prostotę i możliwości, ale edytor do wxWidgets jest o niebo lepszy.

.NET - jak dobrze rozumiem, to .NET warto używać jak działa się w obrębie systemów Windows? Więc łączenie z Qt lub wxWidgets mija się z celem (chodzi o cross-platform).

Na podstawie tego wychodzę z założenia, że Qt jest dla mnie najlepszy bo:

  1. Wieloplatformowy
  2. Łatwy w obsłudze
  3. Ribbon
  4. Już kiedyś ktoś mi polecał to rozwiązanie
  5. Można połączyć z cairo - https://cgit.freedesktop.org/cairo/tree/src/cairo-qt.h

Porównywałem jeszcze Qt z GTK i powiem, że tutaj mam mały dylemat. Oczywiście Qt zwycięża jeżeli chodzi o ilość platform oraz różnorodność bibliotek, ale GTK jest chyba "niższego poziomu"? Jakie są zalety GTK nad Qt?

JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

Jeśli MFC jest stare, to VCL też jest stare. Oczywiście, że są stare, ale są cały czas rozwijane i szeroko wykorzystywane. Osobiście nie lubię MFC, bo jak dla mnie jest strasznie toporne i nieznacznie wyżej niż WinAPI. Chociaż jak ktoś zna dobrze MFC to programy MDI(typu document-view) na pewno napisze szybciej niż z użyciem VCL(zakładając czystego VCL i czyste MFC - tzn. bez dodatkowych bibliotek). Ale i tak dla mnie VCL to potęga. Z tego co wiem to zarówno QT, jak i wxWidgets są wieloplatformowe. Kusiła mnie zabawa w QT, ale po zerknięciu na licencję wolałem w to nie wchodzić, bo sam nie wiem co mi wolno i kiedy, a czego nie. Ale to kwestia ogarnięcia tej licencji. Natomiast jeśli chodzi o C++\CLI, to fakt faktem, też kiedyś myślałem, że jest to C++ z okienkami. Ale, żeby się przekonać co to tak naprawdę jest, to musisz sam spróbować coś w tym napisać.

Widzę też, że pytający ma jednak dość dużą awersję do googla ;)
https://www.wikivs.com/wiki/GTK_vs_Qt
http://stackoverflow.com/questions/1887070/what-should-i-choose-gtk-or-qt
http://forum.unit1.pl/topic/3927-api-gtk-czy-qt/

edytowany 2x, ostatnio: Juhas
0

Uwielbiam się uczyć, ale szybko :) Najpierw przeglądam internet, ale zawsze znajdę 100 000 pytań. Dlatego piszę na forum i dociekam aż znajdę odpowiedzi na wszystkie pytania ;)

Wolę rozmawiać niż czytać - czytanie to powolna nauka, rozmowa to zdobywanie wiedzy w tempie geparda :P

Qt - płacisz jak zarabiasz :D

0

P.S. Czytałem wszystkie te fora :) Serio - popatrz na moje mądrości i porównaj :D

P.S. Czyli Qt + ribbon wygrywa. Pobawię się i dam znać.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)