Treść przeznaczona dla osób powyżej 18 roku życia...
Wszystko
Najnowsze
Archiwum

Djuna
- 2

Zimnx
- 3
@Djuna: brakuje ze inicjalizujesz pole klasy. const QList DatabaseManager::pole_klasy = { ... };

Djuna
- 0
@nnogi: nie trzeba tak, Zimnx miał rację, głupi ja.
- 1
#programowanie #cpp Dev c++ Potrzebuje zrobić program, ale nie do końca ogarniam jak to rozwiązać. Mam projekt, dodałem do niego plik .exe (dla przykładu calc.exe). Teraz z poziomu pisanego programu chciałbym uruchomić calc.exe, ale nie z systemowej ścieżki, a z wnętrza mojego programu. Mam już napisaną funkcję tworzącą nowy process. Jest ok jak podaję ścieżkę w systemie, ale nie wiem jak dołączyć calc.exe i podać jego lokalizację z
- 1
@r3kc4H: nie znam Dev C++, tak w ogóle to polecam zmienić IDE na jakieś współczesne. Po dodaniu exeka do zasobów dostaniesz się do jego danych bez problemu za pomocą dosłownie kilku funkcji np. od WinAPI.
- 1
- 1
Czemu taka funkcja
void uart_printH(uint8_t val)
{
const char* tab = "012345679ABCDEF";
uint8_t buf[3];- 1
Miej możliwość z korzystania z Unity na Linuxie.
Korzytaj z Ogre3D
XD
Korzytaj z Ogre3D
XD
- 4
@LooZ: @BezdomnySkynet: w ogóle, moje pytanie to nie było "jaki silnik polecacie" tylko "jak zmienić sposób wczytywania bibliotek przez Qt Creatora". -_-'
- 1
#programowanie #qt #cpp
Małe pytanie odnośnie tego co tak właściwie Qt robi podczas emitowania rzeczy jako sygnały.
Mam sobie takiego emita:
emit
Małe pytanie odnośnie tego co tak właściwie Qt robi podczas emitowania rzeczy jako sygnały.
Mam sobie takiego emita:
emit
- 0
@KrzaQ2: Przejrzałem kod Qt5.6 na szybko i masz rację, w przypadku DirectConnection i BlockingQueuedConnection przekazywane są tylko wskaźniki, a w przypadku QueuedConnection używane jest
QMetaType::create do stworzenia kopii każdego z argumentów.- 0
@lionbest: Kopia w przypadku kontenerów Qt to tak naprawdę kopia d-pointera oraz
refcount->increase().- 1
#cpp #programowanie
Mirki, mam stringa z zapytaniem SQL:
Jest jakaś metoda w bibliotece standardowej albo w booście, która wycinałaby mi wszystkie tabulacje i znaki końca linii, która nie zostawiałaby spacji? Próbowałem tak:
Mirki, mam stringa z zapytaniem SQL:
(...)and p.pat_out_of_subdistrict = 0 and p.pat_right_type LIKE '\t\t\t\t\t\t\n%\t\t\t\t\t\t\t' and (current_date::DATE-p.pat_birthday::DATE)/365 between 0 and 90(...)Jest jakaś metoda w bibliotece standardowej albo w booście, która wycinałaby mi wszystkie tabulacje i znaki końca linii, która nie zostawiałaby spacji? Próbowałem tak:
#cpp
Dla zielonego IDE Visual C++ czy może Code::Blocks? Jakie są różnice?
Dla zielonego IDE Visual C++ czy może Code::Blocks? Jakie są różnice?
@deadmoose: 90% narzędzi z visuala i tak na początek nie będziesz używał, Code::Blocks jakos nie lubię, ale kto wie, może Ci przypadnie do gustu. Dorzucę jeszcze Eclipse przydatne, jak później chciałbyś zacząć swoja przygodę z javą
@deadmoose: Nie jestem fanem MS, ale sugeruję, żebyś zaczął od Visual Studio Community 2015 i już na początku zaznajomił się z dobrym jakościowo IDE (z dużym naciskiem na interfejs debuggera, który w VS jest solidny). Code::Blocks jest archaiczne i toporne, zamiast niego lepiej użyć QtCreatora lub CLiona, ale rozpoczęcie pracy z tymi dwoma może być nieco trudniejsze niż w przypadku VS, bo wymagają wiedzy na temat make i toolchainów oraz
- 1
#programowanie #qt #cpp
Da się dodać do siebie kilka QByteArrayów? Chcę po prostu stackować jeden za drugim, tak ze 20 razy zanim pójdzie jeden duży byte array. Wynika to z tego, że QAudioProbe ma na nagrywaniu z recordera bufor 40 ms (ale bym z-----ł bułę debilowi, który nie wprowadził do QAudioProbe możliwości wyboru rozmiaru bufora, tylko jest dobierana w jakiś niewiadomy sposób) i to jest po
Da się dodać do siebie kilka QByteArrayów? Chcę po prostu stackować jeden za drugim, tak ze 20 razy zanim pójdzie jeden duży byte array. Wynika to z tego, że QAudioProbe ma na nagrywaniu z recordera bufor 40 ms (ale bym z-----ł bułę debilowi, który nie wprowadził do QAudioProbe możliwości wyboru rozmiaru bufora, tylko jest dobierana w jakiś niewiadomy sposób) i to jest po
#programowanie #cpp #qt Chciałbym zrobić sobie jakąś listę z QVectorami różnych typów, żebym mógł napisać coś w stylu:
lista.append(QVector);lista.append(QVector);float A = 12.3;QString B = "Coś";- 6
- 1
@CichyGlosZTyluGlowy Obczaj
Niestety w Qt5 QVariant jest nie mutowany więc nie dostaniesz referencji do jego zawartości, czyli ostatnich dwóch linijek nie da się w ten sposób zakodzić, musisz dwa
QVariantList . To jest tylko typedef na QList i niestety nie robi dokładnie tego co ty chcesz ale standardowo w Qt to stosuje się. Pytanie czy można do QVariant wpakować QVector, w Qt5 chyba automagicznie tak, jeżeli T można wepchnąć do QVarianta.Niestety w Qt5 QVariant jest nie mutowany więc nie dostaniesz referencji do jego zawartości, czyli ostatnich dwóch linijek nie da się w ten sposób zakodzić, musisz dwa
- 1
#programowanie #qt #cpp
Mirki, orientujecie się może jak i czy się da w ogóle wysłać przez QTcpSocket wektor danych? Ogółem obiekt? W sensie daję mu wektor który ma 100 intów czy czegokolwiek i mu mówię, żeby mi go po prostu wysłał taki jaki jest a ktoś po stronie klienta spodziewa się tego wektora o takim rozmiarze? Czy muszę mu serializować to i odczytywać po prostu tego
Mirki, orientujecie się może jak i czy się da w ogóle wysłać przez QTcpSocket wektor danych? Ogółem obiekt? W sensie daję mu wektor który ma 100 intów czy czegokolwiek i mu mówię, żeby mi go po prostu wysłał taki jaki jest a ktoś po stronie klienta spodziewa się tego wektora o takim rozmiarze? Czy muszę mu serializować to i odczytywać po prostu tego
Treść przeznaczona dla osób powyżej 18 roku życia...
- 1
@Khaine:
1. Transmisja po TCP odbywa się porcjami, i druga strona musi cały przekaz sobie "poskładać" - dlatego aby to było możliwe podałem Ci wyżej prosty sposób: najpierw wysyłasz ilość przesyłanych danych, a dopiero potem same dane binarne.
2. W std::vector jest możliwy bezpośredni dostęp do poszczególnych elementów sekwencyjnie, nawet z wykorzystaniem arytmetyki wskaźników. link, dysponując więc wskaźnikiem na pierwszy element wektora (metoda data()) masz dostęp w zasadzie do
1. Transmisja po TCP odbywa się porcjami, i druga strona musi cały przekaz sobie "poskładać" - dlatego aby to było możliwe podałem Ci wyżej prosty sposób: najpierw wysyłasz ilość przesyłanych danych, a dopiero potem same dane binarne.
2. W std::vector jest możliwy bezpośredni dostęp do poszczególnych elementów sekwencyjnie, nawet z wykorzystaniem arytmetyki wskaźników. link, dysponując więc wskaźnikiem na pierwszy element wektora (metoda data()) masz dostęp w zasadzie do
- 4
Mirki: uczę się #jezykc i chciałem się trochę pobawić wskaźnikami i referencjami. W przykładzie który wklejam poniżej nie wiem co oznacza zawartość " &y " wewnątrz funkcji "line", czy to jakaś dereferencja referencji? :O . Z czego to wynika? Czy jest tworzona jakaś nowa kopia adresu? Druga rzecz, dlaczego nie mogę w funkcji main wyświetlić " *y " ? W komentarzach zapisałem to co wyświetla mi funkcja printf #cpp
- 2
@FantaZy: Wyświetlasz teraz adres wskazywanego obiektu przez wskaźnik i adres, który wskazuje na adres wskaźnika. :D
@FantaZy:
double x = 3.0;
double z = 4.444;
double* y = &x // teraz printf( "%f", *y); pokaże 3.0;
y = &z // teraz printf( "%f", *y); pokaże 4.444;
*y = 1.11; // teraz printf( "%f", *y);
double x = 3.0;
double z = 4.444;
double* y = &x // teraz printf( "%f", *y); pokaże 3.0;
y = &z // teraz printf( "%f", *y); pokaże 4.444;
*y = 1.11; // teraz printf( "%f", *y);
- 1
Jakaś lektura o C++11 i ew. C++14 by uzupełnić wiedzę z #cpp ? Moja wiedza w większości opiera się na książce Bruce Eckela "Thinking in C++" a to trochę stara lektura. Co byście polecili?
@Huczek: Szkoła programowania C++ Stephen Prata
- 2
@Huczek: Nowa książka Meyersa jest też po polsku (ale nie wiem jaka jest jakość tłumaczenia):
http://www.empik.com/skuteczny-nowoczesny-c-meyers-scott,p1103920923,ksiazka-p
http://www.empik.com/skuteczny-nowoczesny-c-meyers-scott,p1103920923,ksiazka-p
#programowanie
Mirki jaki tytuł polecacie do #cpp dla osoby,która nigdy nie programowała. Znajomy mnie męczy. Symfonie?
Mirki jaki tytuł polecacie do #cpp dla osoby,która nigdy nie programowała. Znajomy mnie męczy. Symfonie?
- 3
@Inteligentny: tylko Szkoła Programowania Prata. Symfonia jest napisana w kiepskim stylu.
@wypokowy_hazardzista: Zelent to ten który nazwał CodeBlocks kompilatorem?
- 1
Mirki programysty. Która wersja bardziej Wam leży i dlaczego?
1.
std::vector v;
using vIter = decltype(v)::iterator;
void f(vIter it){}
2.
1.
std::vector v;
using vIter = decltype(v)::iterator;
void f(vIter it){}
2.
- 1
#programowanie #audio #cpp
Używał ktoś może biblioteki BASS? Bo kompilator zwraca mi uwagę na pewną rzecz i trudno mi się mu dziwić trochę.
Przedostatni argument tej funkcji ma rzekomo typ WASAPIPROC:
http://www.un4seen.com/doc/#basswasapi/BASS_WASAPI_Init.html
Używał ktoś może biblioteki BASS? Bo kompilator zwraca mi uwagę na pewną rzecz i trudno mi się mu dziwić trochę.
Przedostatni argument tej funkcji ma rzekomo typ WASAPIPROC:
http://www.un4seen.com/doc/#basswasapi/BASS_WASAPI_Init.html
- 0
@JoeBlade: Rozumiem że muszę tylko załączyć ten plik .h i .cpp i tam już wszystko jest?
http://www.music.mcgill.ca/~gary/rtaudio/
Dokumentacja w każdym razie jakoś specjalnie wiele rzeczy nie mówi z tego co widzę.
http://www.music.mcgill.ca/~gary/rtaudio/
Dokumentacja w każdym razie jakoś specjalnie wiele rzeczy nie mówi z tego co widzę.
- 0
@Khaine: cpp, h i chyba też DLL`ka, ale statycznie chyba też można linkować
- 1
#cpp #visualstudio #programowanie
Próbuje napisać swój pierwszy program w VS i nie kompiluje się ( ͡° ʖ̯ ͡°). Jaki argument do funkcji return powinienem dać żeby było dobrze? Czy nie tutaj leży problem? Ustawiłem w properties projektu WinMain jako entry point
Próbuje napisać swój pierwszy program w VS i nie kompiluje się ( ͡° ʖ̯ ͡°). Jaki argument do funkcji return powinienem dać żeby było dobrze? Czy nie tutaj leży problem? Ustawiłem w properties projektu WinMain jako entry point
źródło: comment_EdYhrenzDpuh3w74MPyf06GkmV5mY10f.jpg
PobierzJaki argument do funkcji return powinienem dać
@Jakr:
Primo: return to nie funkcja
Secundo: Wartość zwracana w funkcji powinna być taka jak zadeklarowana, czyli System::Void, z czego wynika
Tertio: Że pewnie powinno być samo return.
@Jakr: Skoro ustawiłeś WinMain jako entry point to musisz taką funkcję zadeklarować.
Robię niewielką migrację z C++ Visual 2006 do C++ Visual 2010 i miałem kawałek kodu taki jak:
CFile *fInp;
...
iStatus = fInp->Read(chMsg, iMaxBuffer); // to coś zwraca inta ile znaków zostało skopiowanych
po migracji zrobiłem:
CFile *fInp;
...
iStatus = fInp->Read(chMsg, iMaxBuffer); // to coś zwraca inta ile znaków zostało skopiowanych
po migracji zrobiłem:
@Wypok_spoko: Z jakiegoś konkretnego powodu robisz wskaźnik do
ifstreama?@psychob: @Wypok_spoko: ok, źle zrozumiałem ten kawałek kodu
- 2
Czy taka funkcja powoduje wyciek pamięci? #cpp #naukaprogramowania
void foo()
{
char tab[100] = "qwertyuiopasdfghjkklzxcvbnm";
}- 2
@CichyGlosZTyluGlowy: Nie.
- 3
@CichyGlosZTyluGlowy: Nie. Do wycieków pamięci dochodzi wtedy, kiedy ręcznie alokujesz pamięć (np operatorem new) i jej potem nie zwolnisz. W przypadku zwykłych zmiennych, tablic statycznych i zmiennych obiektowych programista raczej nie musi się przejmować zarządzaniem zajmowaną przez nimi pamięcią :)
- 1
#cpp #qt #programowanie
Programirki mam pewien problem dziwny bądź nie dziwny, to zależy od tego czy ktoś będzie wiedział o co dokładnie chodzi czy nie. Chcę sobie zrobić serwer na osobnym wątku w Qt razem z socketem do komunikacji po TCP/IP. Najpierw może pliki źródłowe które biorą w tym udział:
https://gist.github.com/Granathar/e1388680b43c9d66edd9#file-gistfile1-txt - server.h
https://gist.github.com/Granathar/a7a67ac59488b0b0e3a8#file-gistfile2-txt - server.cpp
Programirki mam pewien problem dziwny bądź nie dziwny, to zależy od tego czy ktoś będzie wiedział o co dokładnie chodzi czy nie. Chcę sobie zrobić serwer na osobnym wątku w Qt razem z socketem do komunikacji po TCP/IP. Najpierw może pliki źródłowe które biorą w tym udział:
https://gist.github.com/Granathar/e1388680b43c9d66edd9#file-gistfile1-txt - server.h
https://gist.github.com/Granathar/a7a67ac59488b0b0e3a8#file-gistfile2-txt - server.cpp
- 0
@Khaine Wywal to:
while (serverThread->isRunning()){};
serverThread->~QThread();
I nigdy więcej takich głupot nie pisz.
Co do pętli while to od tego jest wait, ale wątpię że go tu potrzebujesz, wystarczy że podpiołeś sobie delete_later i serverThread umrze sobie kiedy będzie chciał, a o tym najlepiej dowiesz się z sygnału.
while (serverThread->isRunning()){};
serverThread->~QThread();
I nigdy więcej takich głupot nie pisz.
Co do pętli while to od tego jest wait, ale wątpię że go tu potrzebujesz, wystarczy że podpiołeś sobie delete_later i serverThread umrze sobie kiedy będzie chciał, a o tym najlepiej dowiesz się z sygnału.
- 0
A tak wogóle to
connect (serverThread, SIGNAL(destroyed()),serverpointer, SLOT(deleteLater()));
Jest kompletną głupotą, bo serverpointer będzie w wątku który już nie istnieje, więc deleteLater nie zadziała. Istnieje szansa że atrybut serverThread będzie wskazywał na usunięty już obiekt, więc zamist do deleteLater podepnij to slotu w którym przypiszesz do serverThread nulla. Ewentualnie zacznij kożystać z klasy QPointer, która robi to
connect (serverThread, SIGNAL(destroyed()),serverpointer, SLOT(deleteLater()));
Jest kompletną głupotą, bo serverpointer będzie w wątku który już nie istnieje, więc deleteLater nie zadziała. Istnieje szansa że atrybut serverThread będzie wskazywał na usunięty już obiekt, więc zamist do deleteLater podepnij to slotu w którym przypiszesz do serverThread nulla. Ewentualnie zacznij kożystać z klasy QPointer, która robi to
























