abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    dnes 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 2
    dnes 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    včera 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    včera 12:55 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | IT novinky

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 14
    včera 04:44 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1855 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dopište mi fci

    4.7.2006 21:41 | Přečteno: 1704× | unknown_category

    Tak už mi to leze na nervy. Nějak nemůžu setřídit ty položky. Mám strukturu:
    typedef struct FilesPanelEntry{
    	Glib::ustring name;
    	Glib::ustring ext;
    	Glib::ustring size;
    	Glib::ustring date;
    	Glib::ustring rwx;
    	Glib::ustring owner;
    	Glib::ustring group;
    };
    
    Pak mám objekt s TreeViewem. Objekt má kromě jiných i tyto metody metody:
    virtual void addEntry( const FilesPanelEntry& entry );
    virtual void clear();
    virtual off64_t count();
    virtual bool getEntry( off64_t n, FilesPanelEntry& entry );
    virtual bool setEntry( off64_t n, FilesPanelEntry& entry );
    
    Metody získávají/nastavují jednotlivé položky TreeViewu. Ve FilesPanelEntry::size můžou být tyto hodnoty:
    <DIR> = adresář
    <BLKD> = blokové zařízení
    <CHRD> = znakové zařízení
    <FIFO> = fifo
    Velikost = soubor
    
    Protože mi to už nemyslí, potřebuju si dát pauzu. Jenže zas nechci zbytečně ztrácet čas, a proto bych od někoho potřeboval dopsat fci na seřazení těch souborů. První by měly být adresáře seřazené dle abecedy, poté soubory dle abecedy, poté bloková zařízení, znaková zařízení a nakonec FIFO. Potřeboval bych to doplnit sem:
    void JXPCommander::sortFiles( bool left )
    {
    	FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
    	bool orderChanged = true;
    	FilesPanelEntry e1,e2;
    	while(orderChanged){
    		orderChanged = false;
    		for( off64_t i = 0; i < fp->count()-1; ++i  )
    		{
    			fp->getEntry( i, e1 );
    			fp->getEntry( i+1, e2 );
    			/*
    			 * Tu proveďte nějaké ty porovnání, v případě
    			 * že mají být položky prohozeno tak proveďte:
    			 *
    			 * fp->setEntry( i,e2 );
    			 * fp->setEntry( i+1,e1 );
    			 *
    			 * a nezapomeňte nastavit orderChanged na true.
    			 *
    			 * Stringy se nebojte porovnávat znaménky < a >
    			 * o utf8 se již stará sama třída Glib::ustring
    			 */
    		}
    	}
    }
    
           

    Hodnocení: 22 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.7.2006 21:53 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dopište mi fci
    sice tam ještě nemáme to prohazování, ale skoro bych si tipnul, že tímhle způsobem vznikne leda tak bubblesort se složitostí O(n^2) a to ještě dost naivně implementovanej (ta horní mez "fp->count()-1" by se mohla snižovat - např. po prvním průběhu toho vnitřního cyklu budeme mít na začátku nebo na konci maximum nebo minimum :-))

    jinak je to zajímavý nápad, jak něco programovat

    jo a tohle :
    void JXPCommander::sortFiles( bool left )
    {
    FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
    
    bych neudělal snad ani já, trochu více obecnosti bych do toho vrazil :-D
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    4.7.2006 21:59 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dopište mi fci
    a taky je mírně úchylný mít to všechno v řetězcích...
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    4.7.2006 22:08 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Proč nepoužít třeba qsort z glibc? Nebo v C++ není nějaká obdoba toho? A proč třeba nepracuje celou dobu nad modelem pro ten TreeView?
    Copak toho není dost?
    4.7.2006 22:18 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Když je řeč o JXP Commanderu, kde jsou nebo budou jeho zdrojové kódy. Na předcházejícím zápisku v blogu jsem viděl už i screenshot. Docela rád bych se na testování podílel už od začátku :-) a na wiki ještě jsem žádný odkaz na zdrojáky nenašel.
    4.7.2006 22:18 machr | skóre: 2 | blog: machr
    Rozbalit Rozbalit vše Re: Dopište mi fci
    void JXPCommander::sortFiles( bool left )
    {
    	FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
    	bool orderChanged = true;
    	FilesPanelEntry e1,e2;
    	int max = fp->count()-1;
    	while(orderChanged){
    		orderChanged = false;
    		for( off64_t i = 0; i < max; ++i  )
    		{
    			fp->getEntry( i, e1 );
    			fp->getEntry( i+1, e2 );
    
    			if(e1.name > e2.name) { // pro razeni vzestupne podle jmena
    				fp->setEntry(i, e2);
    				fp->setEntry(i+1, e1);
    				orderChanged = true;
    			}
    		}
    		max--;
    	}
    }
    
    - ale doporucoval bych trochu zagooglovat a nastudovat quick-sort...
    (__) (oo) /-------\/ / | || * ||----|| ~~ ~~
    4.7.2006 22:22 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Tak qiucksort a jiné algoritmy jsou popsány v češtině třeba v těchto skriptech.
    4.7.2006 22:28 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dopište mi fci
    quicksort vůbec znát nepotřebuje natož ho snad implementovat, stačí, když bude vědět, kdy a jak ho má použít :-)

    nebo to skončí tak, že uspořádaj irc chat o tom, jakým způsobem budou vybírat "medián"
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    4.7.2006 22:47 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Dopište mi fci
    tak už jsem si našel, že se tomu říká pivot
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    4.7.2006 22:22 Creckx | skóre: 23 | blog: cxblog | Lanškroun
    Rozbalit Rozbalit vše Re: Dopište mi fci
    C++ má takovou vychytávku v STL a tou jsou šablony. Jedna z nich se jmenuje vector. Používal jsem to na uskladňování dat. Třídit položky můžeš svou vlastní porovnávací fcí. STL je fajn knihovna tak na to jukni (+ články okolo toho).
    Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
    Luk avatar 4.7.2006 22:52 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dopište mi fci
    V STL je toho zajímavého mnohem víc. Nejen vector, ale také deque a list, když už jsme u kontejnerů tohoto typu. Nelze samozřejmě také opomenout set, multiset, map a multimap (a další více či méně užitečné věci). Kdo se toho dobrovolně vzdává, o hodně přichází.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    4.7.2006 23:00 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Dopište mi fci
    On už z GTK používá ListStore, tam toho zase moc není, ale může si napsat vlastní model úplně sám (třeba založený na něčem z STL), nebo ho může založit na tomto. Nevím proč to nedělá.
    Copak toho není dost?
    4.7.2006 23:53 Creckx | skóre: 23 | blog: cxblog | Lanškroun
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Já jsem to nikdy moc nezkoumal. Jednou mě k tomu navedl brácha.
    Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
    4.7.2006 23:07 lefti | skóre: 18 | blog: OneAndOnlyTrueBlog
    Rozbalit Rozbalit vše Re: Dopište mi fci
    ty ses jxp? ;)
    lankvil avatar 5.7.2006 01:33 lankvil | skóre: 8 | Praha
    Rozbalit Rozbalit vše Re: Dopište mi fci
    No jesi tomu rozumim spravne, tak chces seradit polozky v Gtk::ListStore, jesi ne tak me ignorujte. Na to trideni staci napsat porovnavaci funkci a pak ji predat jako parametr funkci set_default_sort_func (viz objekt Gtk::TreeSortable). Mozna bude potreba jeste neco, uz sem to dlouho nedelal. kdyztak to bude urcite popsany v dokumentaci.
    Já mám taky blog
    5.7.2006 12:58 unknown_user | skóre: 8 | blog: unknown_blog | Kamenný Újezdec
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Už to třídí :) Díky.
    Tento příspěvek je šířen pod licencí GNU/FDL.
    5.7.2006 13:54 XMurder | skóre: 25 | blog: introvert
    Rozbalit Rozbalit vše Re: Dopište mi fci
    může se hodit: http://www.linuxsoft.cz/script_list.php?id_kategory=153
    mkoubik avatar 5.7.2006 14:16 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: Dopište mi fci
    A můžeš prosím někam hodit zdrojáky? Já už jsem totiž taky něco napsal a nerad bych dělal fork. Možná by neškodilo založit projekt na SourceForge.
    5.7.2006 18:22 XMurder | skóre: 25 | blog: introvert
    Rozbalit Rozbalit vše Re: Dopište mi fci
    Nějak se mu nechce

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.