Sada je: 16 tra 2024, 04:26.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Uf... skužio sam grešku:
Polje veličine 55

Kod: Označi sve
QString polje_setupa[55];

punim petljom koja se vrti 56 puta:

Kod: Označi sve
       for(i=0;i<56;i++)
       {
           polje_setupa[i] = in.readLine();
       }

Ali još uvijek mi nije jasno zašto mi to dozvoli ako polje deklariram kao lokalno, a ne dozovoli ako je polje globalno?!
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Indexi niza velicine x su [0,x) - ")" znaci da se x ne ukljucuje u interval.

Nisam bas siguran da trebas pravit globalni niz. A ako bas trebas onda ga napravi u klasi MainWindow kao static.
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
gagiD je napisao/la:Nisam bas siguran da trebas pravit globalni niz.


A što je drugo rješenje? To je niz stringova (neke onda prema potrebi pretvaram u integere) koji će mi trebati na puno mjesta, a učitavam ih iz datoteke. Za svaku stranicu će biti cca 5000 stringova. Drugo rješenje je da ih učitavam u svakoj funkciji ili proceduru u kojoj mi zatrebaju...

gagiD je napisao/la:A ako bas trebas onda ga napravi u klasi MainWindow kao static.


Ovdje mi baš ništa nije jasno. Trenutno je deklariran u mainwindow.cpp kao globalni:
QString polje_setupa[55];
Kasnije će program dobiti još poneku formu, pa onda i novi .cpp. To još ne znam kako ću iz toga novoga .cpp doći do vrijednosti u tom nizu polje_setupa.
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Ako se dobro sjecam Qt ima debugger. Prati tok programa i sadržaj varijabli, da riješiš sve nedoumice.
Postovi: 248
Postovi: 248
Pridružen/a: 07 lip 2009, 12:55
Podijelio/la zahvalu: 16 puta
Primio/la zahvalu: 5 puta
Spol: M
maliodpalube je napisao/la:Uf... skužio sam grešku:
Polje veličine 55

Kod: Označi sve
QString polje_setupa[55];

punim petljom koja se vrti 56 puta:

Kod: Označi sve
       for(i=0;i<56;i++)
       {
           polje_setupa[i] = in.readLine();
       }

Ali još uvijek mi nije jasno zašto mi to dozvoli ako polje deklariram kao lokalno, a ne dozovoli ako je polje globalno?!


Prema ovoj petlji index i ti ide od 0 do 55, a pristupaš polju koje ima 55 članova (indexi od 0 do 54).
Program pukne kada pristupiš indexu 55 koji ne postoji.
Stavi si neki print unutar petlje, pa ćeš vidjeti da se skrši na i=55
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
Moderator
Postovi: 4366
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Podijelio/la zahvalu: 86 puta
Primio/la zahvalu: 148 puta
Spol: M
OS: openSUSE Leap KDE
Ma skužio sam da...
Ali ne kužim zašto puca ako je polje deklarirano izvan procedura (kao globalno), a radi normalno ako je unutar procedure (slota... eventa... čega li već). Da se kršilo i u jednom i u drugom slučaju, odmah bih našao grešku. Ovako me odvelo na krivi trag - tu radi - tu ne radi(?!).
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
@gagiD mi vrlo intenzivno pomaže preko PP-a i vrlo sam mu zahvalan na tome.
Sljedeća nevolja je... zapravo ona već ustanovljena - veliki .dll-ovi. Da bi program samostalno radio, trebaju mu (zasad) ovi:
QtGuid4.dll - 151 MB
qtcored4.dll - 30 MB
QtCore4.dll - 2 MB
...
Ima ih još, ali njihove veličine su zanemarive. Uglavnom, Windowsi traže da svi ti .dll fajlići budu u istom folderu sa .exe fajlom. Ista mi je stvar bila i s Borland C++ Builderom, ali njegovi .dll i .bpl su zajedno ispod 5 MB, a ovdje samo jedan od 150 MB (?!). Pod linuxom vjerojatno s onim qmake i make kompajler iz njih izabere samo ono što mu treba, ali što napraviti za windowse? Stalno šlepati 190 MB .dll-ova za sobom ili ima neko rješenje?
Na žalost, linux nemam gdje instalirati za probavanje... I (opet na žalost) ti će se moji udžbenici uglavnom vrtjeti na Windowsima.
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Zato sto je wintendo debilan, neorganizovan....... OS.

Nema package manager, na normalnim OS-u kad pravis paket stavis Qt u zavisnosti i gotov posao.
wintendo ne zna ni gdje su njegovi .dll-ovi :D

A ti ces morat napravit installer koji ce kopirati sve potrebne .dll-ove s .exe fajlom, pa pravit onaj wintendo symlink zaboravio sam kako se zove. Mislim barem.

Dobro bi bilo da se projekt razvija na nekom git free serveru, lakse je i organizovanije.
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
Khm... kh.. kh... khm...

Molim?

:)

Našao sam neke upute za qmake, make i sl. za windowse, ali ništa mi ne radi kako treba.
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
maliodpalube je napisao/la:@gagiD mi vrlo intenzivno pomaže preko PP-a i vrlo sam mu zahvalan na tome.
Sljedeća nevolja je... zapravo ona već ustanovljena - veliki .dll-ovi. Da bi program samostalno radio, trebaju mu (zasad) ovi:
QtGuid4.dll - 151 MB
qtcored4.dll - 30 MB
QtCore4.dll - 2 MB
...
Ima ih još, ali njihove veličine su zanemarive. Uglavnom, Windowsi traže da svi ti .dll fajlići budu u istom folderu sa .exe fajlom. Ista mi je stvar bila i s Borland C++ Builderom, ali njegovi .dll i .bpl su zajedno ispod 5 MB, a ovdje samo jedan od 150 MB (?!). Pod linuxom vjerojatno s onim qmake i make kompajler iz njih izabere samo ono što mu treba, ali što napraviti za windowse? Stalno šlepati 190 MB .dll-ova za sobom ili ima neko rješenje?
Na žalost, linux nemam gdje instalirati za probavanje... I (opet na žalost) ti će se moji udžbenici uglavnom vrtjeti na Windowsima.

Pa nemoj kompajlirati u debug modu! To je samo za debugiranje...
Sporije se pokreće i spomenute biblioteke su ogromne!

Iskompajliraj release pa ti ne drebaju .dll datoteke sa ovim "d" sufiksom.
Npr. treba ti QtCore4.dll ali ne i njegova debug verzija QtCored4.dll. [izvor]

BTW, zašto koristiš Qt4 a ne Qt5??
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
Moderator
Postovi: 4366
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Podijelio/la zahvalu: 86 puta
Primio/la zahvalu: 148 puta
Spol: M
OS: openSUSE Leap KDE

Na mreži
Trenutno korisnika/ca: / i 6 gostiju.