Anonymní profil gna – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Anonymní profil gna – Programujte.comAnonymní profil gna – Programujte.com

 

Příspěvky odeslané z IP adresy 213.211.51.–

gna
PHP › SimpleXML zobrazení atributů
19. 7. 2017   #217113

Kdyby se to zobrazovalo samo, tak bych ti neradil atributy vytahovat sám.

function rdump($root, $level=0)
{
	foreach ($root as $k => $v) {
		echo str_repeat(" ", $level) . "$k " . trim($v) . "\n";
		rdump($v->attributes(), $level + 2);
		rdump($v, $level + 4);
	}
}

rdump($detail);
gna
C / C++ › Ukazatele v C?
19. 7. 2017   #217109

Protože to je jen ukazatel. Ještě musí někam ukazovat, než přes něj budeš přistupovat k datům.

unsigned char *data = neco;
gna
C / C++ › Prázdná podmínka if(true)?
19. 7. 2017   #217107

Instance se inicializuje v místě definice a ruší na konci bloku, ve kterém je definovaná.

Někdy se takhle kód dává do bloku právě pro to omezení platnosti/viditelnosti. A aby tam ten blok jen tak nevisel, tak ještě třeba do toho ifu.

Jinak máš pravdu, takhle jak to je, to tam je k ničemu.

gna
PHP › SimpleXML zobrazení atributů
19. 7. 2017   #217105

Teď mi došlo, že to asi nechceš jen dumpnout. Pak je teda ještě možnost element[atribut].

gna
PHP › SimpleXML zobrazení atributů
19. 7. 2017   #217103
gna
Assembler › inline ASM ve VS - Jumptable
19. 7. 2017   #217099

Dělení intervalu i jump table překladač umí a podle efektivity použije. MSC je špičkový překladač a všechno, co tě napadne, už hodně chytří lidé řešili před tebou :)

Dneska jde hlavně o předvídatelnost a paralelizovatelnost kódu a data v cache. Bez toho jsou dnešní rychlé procesory ve skutečnosti trapně pomalé. Takže algoritmy a struktury. Tady nic moc nevymyslíš.

gna
Assembler › inline ASM ve VS - Jumptable
18. 7. 2017   #217094

V inline assembleru ve VC nejde použít DW a spol.

Nebude to rychlejší, klidně to napiš v céčku.

gna
C / C++ › WinApi - Nastavení kořenovéh…
17. 7. 2017   #217087

Ale nevím, jestli se použije i pro vyhledání toho exáče, asi budeš muset celou cestu.

gna
C / C++ › WinApi - Nastavení kořenovéh…
16. 7. 2017   #217086

8. parametr - lpCurrentDirectory.

gna
XML / XSL(T) › TinyXML2 jak na extrahování…
15. 7. 2017   #217077

Mimochodem Firebird nedrží celou databázi v paměti a už vůbec ne jakési výstupní soubory. I kdyby ano, tak nevím, jak ti od toho pomůže import/export XML, (které stejně při velkém počtu záznamů bude větší), když nakonec pořád pracuješ s tou databází.

Jako přenositelný formát fajn, cokoliv jiného je nesmysl.

gna
XML / XSL(T) › TinyXML2 jak na extrahování…
15. 7. 2017   #217076

   

int data[2][2] = { {1,2}, {3,4} };

XMLDocument doc;
XMLElement *table, *row, *cell;

table = doc.NewElement("tabulka");
doc.InsertFirstChild(table);

for (int r = 0; r < 2; r++) {
	row = doc.NewElement("radek");
	table->InsertEndChild(row);

	for (int c = 0; c < 2; c++) {
		cell = doc.NewElement("bunka");
		cell->SetText(data[r][c]);
		row->InsertEndChild(cell);
	}
}

doc.SaveFile("test.xml");

table = doc.FirstChildElement();
for (row = table->FirstChildElement(); row; row = row->NextSiblingElement()) {
	for (cell = row->FirstChildElement(); cell; cell = cell->NextSiblingElement())
		cout << cell->GetText() << " ";
	cout << endl;
}
<tabulka>
    <radek>
        <bunka>1</bunka>
        <bunka>2</bunka>
    </radek>
    <radek>
        <bunka>3</bunka>
        <bunka>4</bunka>
    </radek>
</tabulka>
gna
C / C++ › Ako prepisať for cyklus aby…
13. 7. 2017   #217061

#3 Melamber777
Nic se neoznačuje samo sebou (WTF?) a k ničemu nepotřebuje další proměnnou a už vůbec ne ukazatele.

gna
Python › Flask - Spouštění procesů, s…
11. 7. 2017   #217033

Každý proces bude mít vlastní roury a každá roura vlastní buffer. To je v pohodě. Communicate načte všechna data z stdout/err a počká na skončení procesu.

Problém je v tom, že zápis do roury se blokne, pokud v ní není místo. Jestli čekáš na nějaký signál o skončení toho zapisujícího procesu a až potom voláš communicate, tak se ho nedočkáš, protože bude viset v zápisu do roury, ze které nikdo nečte.

Nejjednodušší mi přijde prostě výstup přesměrovat do souboru.

gna
Python › Flask, uprava souboru
10. 7. 2017   #217011

Ukládá se to od aktuální pozice, takže když ten stream celý načteš, nebo přepíšeš, tak jsi na konci a už není co ukládat. Nevím, jestli Flask zaručuje, že ten stream bude writable a seekable. Pokud ano, tak se můžeš posunout zpátky na začátek pomocí funkce seek. Raději bych to testoval nebo editoval až po uložení.

gna
C / C++ › Spustitelný výstupní soubor
8. 7. 2017   #216991

#22 ondra.holub
Ve Windows tam taky může být cokoliv, ale to je tady úplně jedno.

gna
C / C++ › Spustitelný výstupní soubor
8. 7. 2017   #216983

A jako čekáš, že se ti to nějak udělá samo? Čtyři dny ti píšu, že ta asociace souboru je příkaz, který spustí ten tvůj program s parametrem určujícím soubor, přes který jsi ho spustil.

Ten můj příklad v OnInitCmdLine přidá nepovinný vícenásobný textový parametr (na tom názvu "document-file" nezáleží), takže o něm parser ví a nezařve a v OnCmdLineParsed se ten parametr uloží do vektoru m_filesFromCmdLine.

Pak někde dále v programu si ten vektor projdi a soubor(-y) otevři, jak potřebuješ.

Takže někde, kde už máš všechno inicializované (jo, možná na konci wxApp::OnInit) vem ten název souboru a když ho umíš uložit, tak ho musíš umět i načíst.

gna
C / C++ › Spustitelný výstupní soubor
8. 7. 2017   #216980

Ten soubor se nespouští. Spouští se program. V argv[0] je cesta k programu. Na dalších indexech jsou další parametry, jako třeba cesta k souboru, kterou jsi v open\command definoval, že tam chceš předat.

gna
C / C++ › Spustitelný výstupní soubor
8. 7. 2017   #216978

Windows jen spustí program s požadovanými parametry. Ve tvém případě dostaneš parametr s cestou k souboru. Nic víc. Je na programu, jak s parametry naloží.

wxApp ve wxWidgets parametry automaticky parsuje. V OnInitCmdLine se parametry definují a po úspěšném rozparsování se zavolá OnCmdLineParsed. (Nebo se při chybě v OnCmdLineError vypíše to "usage..." a program skončí)

Ten můj příklad v OnInitCmdLine přidá nepovinný vícenásobný textový parametr (na tom názvu "document-file" nezáleží), takže o něm parser ví a nezařve a v OnCmdLineParsed se ten parametr uloží do vektoru m_filesFromCmdLine.

Pak někde dále v programu si ten vektor projdi a soubor(-y) otevři, jak potřebuješ.

gna
C / C++ › Spustitelný výstupní soubor
6. 7. 2017   #216946

Ta funkce vrací složku, ve které je exáč. Jestli to potřebuješ jinak, tak si to uprav.

V těch chybových hlášeních vidíš, jakou cestu to generuje.

gna
C / C++ › Spustitelný výstupní soubor
5. 7. 2017   #216943

   

wxString icons = wxStandardPaths::Get().GetResourcesDir() + wxT("/icons/");
wxImage newDB(icons + wxT("document-new-5.png"), wxBITMAP_TYPE_PNG);
gna
C / C++ › Spustitelný výstupní soubor
5. 7. 2017   #216939

To je zase jen klíč v registrech, který Průzkumníkovi definuje ikonu toho souboru. Na funkci programu to nemá vliv.

Při spouštění dvojklikem je pracovní složka programu tam, odkud jsi ho spustil (kde je ten soubor, ne exáč). Takže tipuju, že problém bude v tom, že používáš relativní cesty k těm ikonám. Můžeš změnit pracovní složku, nebo používat absolutní cesty.

wxSetWorkingDirectory(...)
wxStandardPaths::Get().GetResourcesDir() + ...
gna
C / C++ › Spustitelný výstupní soubor
5. 7. 2017   #216936

Ještě jsem koukal, že v tom setupu máš namíchaný .fbmr a .fmbr. To .fbm ti asi funguje jen náhodou jako pozůstatek nějakých pokusů.

gna
C / C++ › Spustitelný výstupní soubor
5. 7. 2017   #216935

CreateProcess a ShellExecute spouští jiné programy, s tímhle to nemá co dělat. Při poklepání se nespouští žádný baťák, v tom setupu přece definuješ jako open\command ten tvůj program s parametrem "%1", který se nahradí cestou k tomu souboru.

Ve vxWidgets jsou podle dokumentace parametry programu ve wxApp::argc (počet) a wxApp::argv (data), ale ještě je tam parser parametrů, který ti háže tu chybu. Podle příkladů by řešení vypadalo nějak takhle:

void MyApp::OnInitCmdLine(wxCmdLineParser& parser)
{
    wxApp::OnInitCmdLine(parser);

    parser.AddParam("document-file",
                    wxCMD_LINE_VAL_STRING,
                    wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL);
}

bool MyApp::OnCmdLineParsed(wxCmdLineParser& parser)
{
    for ( size_t i = 0; i != parser.GetParamCount(); ++i )
        m_filesFromCmdLine.push_back(parser.GetParam(i));

    return wxApp::OnCmdLineParsed(parser);
}
gna
MySQL › Zobrazení jako dalšího sloupce
5. 7. 2017   #216934

To jsem se toho dozvěděl...

gna
MySQL › Zobrazení jako dalšího sloupce
4. 7. 2017   #216927

   

SELECT * FROM tabulka;

id  priznak datum
1   2       aa
2   2       bb
3   4       cc
4   4       dd
5   6       ee
6   6       ff

SELECT A.id,
       A.priznak,
       B.datum,
       A.datum
FROM   tabulka A,
       tabulka B
WHERE  A.priznak = B.priznak
       AND A.id = A.priznak
       AND B.id <> B.priznak;

id  priznak datum   datum
2   2       aa      bb
4   4       cc      dd
6   6       ee      ff
gna
MySQL › Zobrazení jako dalšího sloupce
4. 7. 2017   #216926

Další řádky budou

3  4
4  4
5  6
6  6

?

gna
Pascal › Inno Setup - asociace výstup…
4. 7. 2017   #216925

V tom setupu asi problém není. Vytvořil jsi asociaci, která při tom poklepání na soubor spustí ten program a jako parametr mu dá cestu k tomu souboru. (jako bys v cmd napsal "cestakprogramu" "cestaksouboru")

A až ten tvůj program pak křičí, že takovému parametru nerozumí a jaké parametry podporuje. A podle toho to nevypadá, že mu takto jde zadat soubor k otevření. Takže buď to jde jinak, nebo to nejde, ale každopádně je to záležitost toho rozpočtu.

gna
C / C++ › Jak vypnout optimalizaci u i…
27. 6. 2017   #216818

A teď koukám, že tu funkci nemusíš psát externě, ale ještě to umí embedded assembler, že celá funkce bude v assembleru a ten se nebude optimalizovat.

__asm return-type function-name(parameter-list)
{    
  // ARM/Thumb assembly code
  instruction{;comment is optional} 
  ... 
  instruction
}
// return musis napsat explicitnem a k parametrum nemuzes pres jmeno
gna
C / C++ › Jak vypnout optimalizaci u i…
27. 6. 2017   #216817

#4 Ovrscout
Minule psat, že je to armc v 5.04. Takže asi armcc z ARM Compiler 5.

#3 Jonáš
Jestli je to tenhle překladač, tak to vypadá, že vkládaný assembler je jakýsi "virtuální". Instrukce se můžou nahradit, registry jsou implicitně deklarované lokální proměnné a tak. Jako by __asm jen přepnul syntaxi, ale vlastně nepíšeš přímo stroják a optimalizuje se to pohromadě.

Úplně vypnout optimalizace asi nebude žádoucí, tak bych tu funkci napsat externě čistě v asm. A armasm by ti to neměl překopat.

gna
C / C++ › Jak vypnout optimalizaci u i…
26. 6. 2017   #216812

Vkládaný assembler není součástí Céčka. Vždycky je to specifické rozšíření konkrétního překladače, tak se podívej do dokumentace ke svému překladači.

V GCC je na to volatile.

gna
C / C++ › Hledání minimálního počtu uz…
24. 6. 2017   #216806

   

#include <map>
#include <sstream>
...
// treba string -> int
map<string, int> cache;
...
int deleni(int x1, int x2, int y1, int y2) {
	...
	stringstream ss;
	ss << x1 << "," << x2 << "," << y1 << "," << y2;
	string key = ss.str();

	// pokud klic v mape neni, tak se timhle ctenim i vytvori
	// v nasem pripade to nevadi, protoze ho tam stejne budeme vkladat
	vysledek = cache[key];
	
	// pokud byl klic vytvoren, tak s vychozi hodnotu
	// v nasem pripade intu tedy 0, kterou tam jinak nevkladame
	// takze nenulova hodnota je drive explicitne vlozena hodnota
	if (vysledek)
		return vysledek;

	vysledek = vypocet...

	cache[key] = vysledek;
gna
C / C++ › Hledání minimálního počtu uz…
24. 6. 2017   #216803

A s čím chceš poradit? Máš to správně, jen doplň tu optimalizaci.

gna
C / C++ › NULL
24. 6. 2017   #216798

#19 Radek Chalupa
Ne, v tom je právě problém, na který Staon poukázal. NULLem se myslí nulový ukazatel a ne int.

gna
C / C++ › Hledání minimálního počtu uz…
23. 6. 2017   #216796

Tak ne, to dělení uvnitř je blbost.

gna
C / C++ › Hledání minimálního počtu uz…
23. 6. 2017   #216795

Nechce se mi nad tím přemýšlet, ale myslím si, že do toho prvního cyklu pro dělění podle Y můžeš rovnou hodit ještě dělení podle X a budeš to mít bez opakování.

Jinak na to ukládání předchozích výsledků je pohodlné použít std::map (ale myslím si, že to teda nepotřebuješ).

gna
C / C++ › ASM v gcc a C99:?
19. 6. 2017   #216749

gcc a vc nejsou kompatibilní. armc neznám.

gna
C / C++ › ASM v gcc a C99:?
19. 6. 2017   #216745

Tak to bych si tipnul, že to chceš pro MSVC. To by bylo dobré zmínit.

int i, x;

__asm
{
	mov eax, x
	mov i, eax
}
gna
C / C++ › ASM v gcc a C99:?
18. 6. 2017   #216742

Uvedením standardu pro kompilaci jen přijdeš o nestandardní rozšíření. Jinak asm, __asm, __asm__ fungují stejně. Správně je třetí varianta, která by měla fungovat vždycky.

gna
Python › Problém s funkcí
18. 6. 2017   #216741

Chyba je jasná, ale nevím o co se pokoušíš. Co od tohodle čekáš? 

x = list(anyth)

Z toho kódu netuším, co chceš aby to dělalo, tak to nedokážu opravit. Celkově z toho mám pocit, že to půjde o hodně jednodušeji. Co je to za algoritmus?

gna
Java › Chyba glassfish server
11. 6. 2017   #216707

Asi by nebylo težké podívat se, která z těch proměnných je null. Třeba getParameter vrací null, pokud parametr neexistuje.

gna
Java › Pořadí prováděných metod
9. 6. 2017   #216692

#4 Honza228
Pokud ty metody voláš někde, kde to blokuje překreslování okna, tak se překreslí až potom. Zmínil jsi nějaké hlavní vlákno a netuším, co jsi čekal od sleepu, ale jestli toto běží v samostatném vlákně, tak něco děláš špatně. (A když sis myslel, že se ty metody nevolají postupně, tak nejspíš všechno.)

gna
C / C++ › Max počet zobrazených řádek…
9. 6. 2017   #216672

Konzole ve Windows má standadrně výšků 25 řádků a buffer 300 řádků.

Jde to změnit v nastavení okna - levé myšítko na ikonu vlevo nahoře, nebo pravé myšítko kdekoli na záhlaví okna.

Nebo příkazem mode:

mode con lines=...

Taky můžeš výstup programu přesměrovat do souboru:

mujprogram >soubor
gna
C / C++ › Visual Studio 2015 nezná get…
8. 6. 2017   #216632

Je tam verze se dvěmi a třemi parametry. Ty dáváš jen jeden.

První parametr má být ukazatel na pole znaků, do kterého se má načítat. Ty máš v prvním volání ipAddress, což sice je ukazatel, ale nikam neukazuje. V druhém volání máš filePathName, což je jen znak, ne ukazatel.

Na té stránce je i příklad. 

char name[256];
std::cin.getline (name,256);

Spousta začátečníků řetězcům jako ukazatelům na pole znaků nerozumí. To nevadí, protože je k ničemu nepotřebuješ.

std::string name;
std::getline(std::cin, name);
gna
C / C++ › Nefunguje ReadFile() pri čít…
7. 6. 2017   #216619

O bufferu to nic neví. Může testovat jestli je [buffer, buffer+velikost) v zapisovatelné paměti. Tam problém asi nebude. Taky to nenačte více, než o kolik sis řekl, takže to nikam jinam nic nezapíše a ani v tom problém nebude (pokud teda nezkoušíš více než těch 1000, co ten buffer teď má).

Ale jinak to "povědomí" má. Přesně zná velikosti reportu a musíš ho načíst celý, jinak to nevrátí nic.

Čtení v timeru je taky super na ladění :)

Jak píše hu, zkus nějakou hotovou knihovnu. A ten C# taky není težký.

gna
C / C++ › Nefunguje ReadFile() pri čít…
7. 6. 2017   #216601

#6 iridium
Buffer je pravděpodobně platný, problém bude v uvedené délce.

Ale jestli tam máš ještě španě CRC, tak nevím, jestli něco načteš.

gna
Příkazový řádek › Sestavení regulárního výrazu
6. 6. 2017   #216598

Čekal jsem, že vim trochu znáš.

aktualni radek   :.!awk 'BEGIN{FS=OFS=";"} {print $4,$2,$3,$1}'
oznaceny vyber   :'<,'>!awk 'BEGIN{FS=OFS=";"} {print $4,$2,$3,$1}'
neprazdne radky  :g/./ .!awk 'BEGIN{FS=OFS=";"} {print $4,$2,$3,$1}'

nebo vsechno a osetrit to v awku
:%!awk 'BEGIN{FS=OFS=";"} /./{print $4,$2,$3,$1; next} {print}'
gna
C / C++ › NULL
6. 6. 2017   #216596

Systémové includy se normálně píšou do pičatých závorek #include <stdlib.h>.

Program se nepíše do stdafx.cpp. Při použití předkompilovaných knihoven v MSVC musí každý .cpp soubor začínat includem "stdafx.h".

Ten nullptr znamená, že místo NULL budeš psát nullptr.

gna
C / C++ › Nefunguje ReadFile() pri čít…
6. 6. 2017   #216594

Při chybě ReadFile je zjistit kód chyby pomocí GetLastError.

gna
Příkazový řádek › Sestavení regulárního výrazu
6. 6. 2017   #216577

Nemám moc představu, co to má dělat, ale na jednoduché prohození bych to prohnal awkem: 

a;b;c;d
:%!awk 'BEGIN{FS=OFS=";"} {print $4,$2,$3,$1}'
d;b;c;a
gna
C / C++ › Generovaní náhodných čísel v C
6. 6. 2017   #216576

#3 Kenvelo

To je snad ještě blbější, než originál.

Funkce rand generuje pseudonáhodné hodnoty a ten generátor jde inicializovat funkcí srand. Aby nebyly generované hodnoty při každém spuštění programu stejné, tak se při každém spuštění programu rand inicializuje funkcí srand pokaždé s jinou hodnotou. Jen jednou, při spuštění programu, a typicky aktuálním časem.

Takže jediné co je tady potřeba udělat pro oddebilněni, je hodit jeden srand na začátek programu a z tohodle ty srand-y vycházet. Původní autor nejspíš jen nepochopil něčí doporučení před randem použít srand. Jak už KIIV napsal...

gna
C / C++ › OpenGL 3 Indexování a UV koo…
30. 5. 2017   #216459

Nevím, jestli by přebindování za běhu nějak šlo, ale "normální" řešení je prostě ten vertex nesdílet a mít ho několikrát s různými atributy.

gna
C / C++ › Algortimus funkce cos(x)
28. 5. 2017   #216410

#7 Kit
Pěkný.

gna
C / C++ › Algortimus funkce cos(x)
28. 5. 2017   #216402

O hlavu jí to neomlátí, protože to nejspíš je přesně to, co chtěl. Využití předchozích hodnot se samo nabízí a zase je to věc, nad kterou není potřeba přemýšlet. 

double mycos(double x)
{
	unsigned long f = 1;
	double sum = 0.0, p = 1.0;
	for(int i = 2, s = 1; i <= max2; i += 2, s = -s)
	{
		p *= x * x;
		f *= i * (i-1);
		sum += s * p / f;
	}
	return 1.0 - sum;
}
gna
Java › Programy, hry v jave
28. 5. 2017   #216395
gna
C / C++ › Algortimus funkce cos(x)
28. 5. 2017   #216394

Teda x^0 / 0! = 1 / 1.

gna
C / C++ › Algortimus funkce cos(x)
28. 5. 2017   #216393

Neumíš napsat cyklus na násobky dvou a otáčení znaménka?

Jinak teda i tu první jedničku můžeš napsat jako další kroky, pokud půjdeš od nuly: 0^0 / 0! = 1 / 1.
To otáčení znaménka můžeš udělat násobením 1 nebo -1 a to zase můžeš spočítat podle kroku cyklu.

Takže úplně obecně takhle:

sum = 0;
for (i = 0; i <= max; i++)
    sum += (pow(-1, i) * pow(x, i * 2)) / fac(i * 2);

Milionkrát řešená věc, kterou by nějak měl zvládnout každý.

gna
Mikrokontroléry › jak získat ukazatel na pole…
25. 5. 2017   #216304

#12 Jerry
Dokonce aj v tom k překladači, o kterém je řeč!   

gna
Pascal › excel?
25. 5. 2017   #216300

#19 ma ka
ahoj, má někdo vytvořený ten program?

To co jsem napsal je kompletní program. Data to čte ze standarního vstupu jako řádky čísel oddělených čárkou. Dělat to v Excelu je ptákovina. 

data.txt:
1,2,3,...
4,5,6,...
...

 

python3 program.py <data.txt
gna
Python › Python script exploit
25. 5. 2017   #216282

Pro více adres to stačí opakovaně spouštět. 

./generujadresy | while read IP; do ./skript "$IP"; done

Na timeout můžeš použít socket.settimeout, nebo select.select.

gna
Mikrokontroléry › jak získat ukazatel na pole…
25. 5. 2017   #216281

   

const char __code *p = pole;
gna
Mikrokontroléry › jak získat ukazatel na pole…
23. 5. 2017   #216233

   

__code const char *p;

Kdybys chtěl "univerzální" pointer, tak to bude něco jako __far. Ten ale zase budeš muset "downgradovat" (zkopírovat data) pro funkce, které ho neberou (RTL), nebo můžeš změnit paměťový model celého programu (což bude asi nejjednodušší, ale pro pár řádků kódu zbytečné a přijdeš o spoustu optimalizací).

EW8051 neznám, ale hledej tímhle směrem.

gna
Příkazový řádek › bash stahovaní souboru wget
23. 5. 2017   #216186

U té druhé varianty mám blbě uvozovky v tom řádku s wc. Buď escapni ty vnitřní, nebo vyhoď ty vnější

gna
Příkazový řádek › bash stahovaní souboru wget
23. 5. 2017   #216185

wget sám by se měl při přerušení spojení pokusit soubor dotáhnout a výsledek stahování signalizuje návratovám kódem. Takže můžeš testovat ten návratový kód.

Teoreticky může dojít k situaci, že wget nepozná, že stahování není kompletní (když třeba server neohlásí délku dat) a pak teda můžeš otestovat ještě obsah toho souboru. To už si odzkoušej, jestli to potřebuješ. 

SOUBOR=soubor.txt
POCET_POKUSU=10

for ((i=0; i<$POCET_POKUSU; i++)); do
	# wget ... "$SOUBOR"

	# $? je navratovy kod posledniho prikazu
	# -eq testuje na rovnost (equal)
	if [ $? -eq 0 ]; then
		# bez chyby, ukoncit cyklus
		break
	fi

	# pockat 60 sekund
	sleep 60
done

nebo

for ((i=0; i<$POCET_POKUSU; i++)); do
	# wget ... "$SOUBOR"

	# $() zachyti vystup prikazu
	# wc -l pocita pocet radku (wc -c pocet znaku)
	POCET_RADKU="$(wc -l <"$SOUBOR" 2>/dev/null)"

	# $(()) vezme tu hodnotu jako cislo, prazdnou nebo neciselnou hodnotu jako 0
	# -ge testuje na vetsi-nebo-rovno (greater or equal)
	if [ $((POCET_RADKU)) -ge 1 ]; then
		# splneno, ukoncit cyklus
		break
	fi

	# pockat 60 sekund
	sleep 60
done
gna
C / C++ › Jak testovat zaplnění obrazo…
20. 5. 2017   #216134

S těmi COLUMNS a LINES jsem se seknul. V bashi existují, ale programu se nepředávají. To ioctl bude nejčistší.

gna
C / C++ › Jak testovat zaplnění obrazo…
19. 5. 2017   #216111

Podmínka vypadá dobře, ale máš v tom souboru ten znak, že by se měl načíst?

Nicméně tohle nemáš dělat. Tím textovým souborem se pravděpodobně rozumí soubor, ve kterém jediný speciální znak bude odřádkování. Takže máš počítat pozici, na kterou vypisuješ a po zaplnění obrazovky počkat na pokyn k výpisu další strany a opakovat to.

Klidně do toho zapracuj i další řídící znaky, jako třeba ten form-feed a další. Pak pozor na to, že na Linuxu jde terminál ovládat výpisem řídících sekvencí (změna pozice kurzoru, scrollování, atd.).

Rozměry terminálu nejsnáze zjistíš pomocí getenv COLUMNS a LINES, které samozřejmě nemusí být nastavené. Případně pomocí ioctl TIOCGWINSZ. Změnu velikosti můžeš detekovat chytáním signálu SIGWINCH. A výstup programu taky vůbec nemusí být na terminál.

Pokud si s tím budeš chtít pořádně vyhrát, tak máš na nějakou dobu co dělat :-) Ale ty pokročilé věci asi zatím vynech a řeš jen ten jednoduchý texťák a rozměry třeba natvrdo.

gna
Python › Najdi lichá čísla dělitelná…
19. 5. 2017   #216109

Můžeš přerušit cyklus příkazem break.

for i in seznam:
    if i < 0:
        break
    ...
gna
Sítě › Pathping výpis
17. 5. 2017   #216091

Některé routery neodpovídají na ping, to je v pořádku.

gna
Assembler › Přepis krátkého kodu v jave…
16. 5. 2017   #216075

#2 Jerry
Nevšiml jsem si, že ty bys sem někdy napsal něco jiného, než chujoviny.

gna
Sítě › Pathping výpis
16. 5. 2017   #216070

A čemu na tom nerozumíš?

gna
Python › graficke rozhranie pre android
15. 5. 2017   #216039

Z chyby v ideálním případě bývá vidět o jakou chybu jde. Obrázek nefachčí.

Máš Python s Tk pro Android? Já nevím o tom, že by existoval, ale nesleduji to.

gna
C / C++ › (C++) Převod const unsigned…
15. 5. 2017   #216038

   

string returnData[rowCount]                            // tohle je pole stringů,
 = {(const char*)(sqlite3_column_text(statement, i))}; // ve kterém inicializuješ první string hodnotou sloupce

cout <<
        returnData[rowCount]                           // tímhle získáš string z pole
                                                       //   teda vlastně ne, když je ten index mimo rozsah toho pole
                            [columnCount]              // a tímhle znak z toho stringu
                                                       //   teda kdyby to byl platný index v platném stringu.
                                          << "\n";

Věci, které jsi dělal už stokrát! Nečaruj, přemýšlej. 

for (int i = 0; i < columnCount; i++) {
	cout << sqlite3_column_text(statement, i) << "\n";
}
gna
Java › Problém s načítáním do ze so…
13. 5. 2017   #216021

#6 Honza
A přesně proto se to dělá jedním readem, jak jsi to měl předtím.

gna
Pascal › Úprava programu
13. 5. 2017   #216014

Jsou to bodová svítidla, takže záleží jen na vzdálenosti, na úhlu nezáleží.

Kdybys do toho chtěla nějak zapojit strop, tak potřebuješ vzdálenost svítidel od stropu. A stejně jako pro podlahu spočítáš osvětlení pro strop. Definuješ nějakou světelnou odrazivost toho stropu a vzniknou ti tak další svítidla. Pak bys teda ještě mohla zapojit odraz od stolu a stěn a ... nevymýšlej kraviny.

A už minule ti Milan psal, že při zjišťování minima a maxima stolu porovnáváš hodnoty místnosti.

gna
Visual Basic › Visual Basic - Hledání v textu
13. 5. 2017   #216013
gna
Java › Java UDP Audio
12. 5. 2017   #216009

Takže jsi tam jen přidal pomalé zapisování a teď některá data propásneš. V čem bude problém? :-)

gna
C / C++ › Geometrický průměr v C++
12. 5. 2017   #216008

V tom výpisu procházíš jednotlivé řádky a jejich hodnoty. V čem se to tolik liší od toho jednorozměrného pole, se kterým to umíš?

A proč najednou indexuješ od 1 a kontrolujuješ hodnoty až dodatečně? Jsi to od někoho obšlehl, viď? :-)

gna
Pascal › Příklad v pascalu
10. 5. 2017   #215937

#12 Lolo24
Já to nemám na čem vyzkoušet, ale viděl bych to takhle: 

vykreslit prvni

readln; { pockat na enter }
ClearDvice; { smazat obrazovku }

vykreslit druhy

readln; { pockat na enter }
CloseGraph;
gna
Pascal › Příklad v pascalu
9. 5. 2017   #215933

Když smažeš načítání vstupu a smazání obrazovky, tak to nečeká na vstup a nesmaže obrazovku. Co jiného by to mělo udělat než vykreslit oba grafy hned a přes sebe? To je snad jasné.
(A nevím, jestli clrscr v grafickém režimu maže obrazovku. Spíš bych to viděl na clearviewport, nebo tak něco)

Netuším, co znamená, že to druhou část nepřečte.
Máš tam readln (načtení řádku, tedy všeho do enteru) a readkey (načtení jedné libovolné klávesy). Není možné, že jsi prostě něco z toho nezadala?

gna
Pascal › Příklad v pascalu
9. 5. 2017   #215930

jak mám zapsat výsledek, aby byly desetinné tečky pod sebou?

Zarovnání těch hodnot určují ta čísla za nimi

xs:15:3
ys:12:3
gna
Oracle › ako rozjet vlastnú databázu
8. 5. 2017   #215907

Ne, návodů na Oracle tolik není, protože to není hračka pro děti. Když tam ta data nemáš, tak jsi je nenaimportoval. Netuším co znamená, že se ti to otevře, ale Oracle Database není MySQL. Nainstaluj si MySQL a můžeš jet podle jejich turotiálů.

gna
C / C++ › C++ náhodné generování binár…
6. 5. 2017   #215904

Tak si to prokrokuj, nebo přidej výpisy.

Když jsi vyhodil ten srand, tak by se ti to mělo zanořit a jako count_nodes být x.

gna
Webové servery (Apache, IIS...), .htaccess › HTTPS na HTTP cez .htaccess…
5. 5. 2017   #215901

Když HTTPS přesměruješ na HTTP, které se zase přesměruje na HTTPS, tak si asi nepomůžeš.

Pokud to neumožňují vypnout, tak to nevypneš.

gna
C / C++ › (C++) Prvky pole do společné…
5. 5. 2017   #215896

#3 richard.zavodny
A připadá ti, že by taková věc měla mít problém s pamětí? Zkus si to v čistém programu.

Buď opravdu není volná paměť, což není moc pravděpodobné. Nebo jsi něco rozmrdal, což je mnohem pravděpodobnější, když si pořád hraješ s polema a nechápeš ani základní příkazy.

gna
MS SQL › Převod času na desetinné číslo
5. 5. 2017   #215894

#3 v24
Tak to mě nějak nenapadlo.. v sekci MS SQL :)

gna
Pascal › excel?
5. 5. 2017   #215879

A všimli jste si, že to všechno už Mircosoft napsal, že jo?

Nevím, co řešíte. Python:

import sys, collections, itertools, operator

data = []
for line in sys.stdin:
	data.append([int(i) for i in line.strip().split(",")])

counter = collections.defaultdict(int)
for row in data:
	for comb in itertools.combinations(row, 3):
		counter[comb] += 1

counter = sorted(counter.items(), key=operator.itemgetter(1), reverse=True)
print(counter[:3])
gna
MS SQL › Převod času na desetinné číslo
5. 5. 2017   #215877

   

datediff(second, 0, cas) / 60.0
gna
C / C++ › Funkcia for - oprava dvomi s…
4. 5. 2017   #215874

Pokud ti jde o to, aby to prošlo větším počtem iterací, tak je jedno, na které straně ten interval zvětšíš.

Na to se musíš ptát?

gna
Java › Vzdialenosť vrcholov v strome
4. 5. 2017   #215872

Taky nevím, kde se tam ta čísla berou.

gna
C / C++ › Serializace binárního stromu
4. 5. 2017   #215871

#1 nickan 

ifstream is("in.txt");
if (!is.is_open())
	chyba
if (!(is >> val))
	chyba
is.close();

ofstream os("out.txt");
if (!os.is_open())
	chyba
if (!(os << val << " "))
	chyba
os.close()

Do funkcí ty streamy předávej jako referenci.

gna
C / C++ › Serializace binárního stromu
4. 5. 2017   #215870

#4 Jerry
Je to ten strom, na který odkazuje. A VŮBEC NA TOM NEZÁLEŽÍ.

gna
C / C++ › Čas doby zápisu do souboru
4. 5. 2017   #215868

Když znáš time(), tak vyjeb ten clock(), který neměří uplynulý čas.

Jako ZAČÁTEK vypisuješ výsledek funkce DATUM(), která zjišťuje AKTUÁLNÍ čas a voláš ji na KONCI programu.

gna
PHP › Převod SRT na VTT titulky
4. 5. 2017   #215867

Pomocí preg_replace jde nahrazovat text podle regulárního výrazu.

Takže můžeš jednoduše udělat jakoby:

z  [00:00:08] , [550 --> 00:00:14] , [300]
na [^^^^^^^^] . [^^^^^^^^^^^^^^^^] . [^^^]

Co nejvíc tak, aby to nechytlo i něco jiného, třeba nějak takhle:

$SRT = "00:00:08,550 --> 00:00:14,300\ntady ne 00:00:08,550 --> 00:00:14,300\n\n00:00:08,550 --> 00:00:14,300";
$VTT = preg_replace('/^([\d:]{8}),(\d{3} --> [\d:]{8}),(\d{3})$/m', '$1.$2.$3', $SRT);
echo "WEBVTT\n\n$VTT";

Nebo udělat inteligentnější parser.

gna
Python › hledám programátora
4. 5. 2017   #215865

Už jsem na to předběžně koukal, ale teď na to nemám čas. Možná bude potřeba upravit ten ZBar a to bude náročnější (ale je napsaný hezky, půjde to). Pokud to někde nepřevezme, tak se vám během několika dní ozvu.

gna
C / C++ › Čas doby zápisu do souboru
4. 5. 2017   #215843

A kde v tom jde vyčíst, co přesně děláš?

gna
C / C++ › Úprava jednoduché hry v céčku
3. 5. 2017   #215838

Klávesy W a S jsou od začátku prohozené, protože jsem to napsal špatně. Prohoď to zpátky a nekopíruj, ale studuj.

Všude máš pole[R][S], ale ten zavináč testuješ na [S][R], takže jinde. Taky ho testuješ mimo ten blok pro pohyb, takže dokud budeš na @ tak se ti bude chaos pořád přehazovat.

Pokud neumíš používat krokování, tak si tam prostě přidej nějaké výpisy hodnot.

gna
JavaScript, AJAX, jQuery › JS problem content replace
3. 5. 2017   #215826

V podstatě to nahrazuje poslední "slovo" třemi tečkami dokud se to nevejde do požadované výšky.

Přestalo fungovat a nepomohlo je na hovno. Napiš co přesně to dělá a co je na tom špatně.

gna
Java › Vzdialenosť vrcholov v strome
2. 5. 2017   #215818

Pak bych ty vazby ještě od rootu pročistil ať jsou jednosměrné. Další práce pak bude jednodušší.

gna
Java › Vzdialenosť vrcholov v strome
2. 5. 2017   #215817

Pro každý uzel potřebuješ jeho vazby, takže třeba...

class Node
{
	List<Node> links = new ArrayList<Node>();
	
	public Node() {}
}

Pak je načteš a provážeš...

HashMap<Integer,Node> map = new HashMap<Integer,Node>();

while (sc.hasNext()) {
	int a = ...nextInt
	int b = ...nextInt

	Node nodeA = map.get(a);
	Node nodeB = map.get(b);
	
	if (nodeA == null) { nodeA = new Node(); map.put(a, nodeA); }
	if (nodeB == null) { nodeB = new Node(); map.put(b, nodeB); }
	
	nodeA.links.add(nodeB);
	nodeB.links.add(nodeA);
}
gna
Python › moze mi niekot vysvetlit ako…
2. 5. 2017   #215814

Ta moje verze po každé odpovědi napíše, jestli byla správně něbo špatně. Nevím, jak jsi to předělal.

gna
C / C++ › Přeskočení na druhý řádek v…
2. 5. 2017   #215813

#18 ORION206
Samozřejmě bys to mohl udělat i s tím tvým původním načítáním, že bys testoval hodnotu a/nebo počet těch tokenů a podle toho pokračoval.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý