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

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

 

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

gna
Java › java program
Včera   #381989

Ono to funguje, akorát to nefunguje :D Jak jsem psal, já vidím jen dva problémy a netuším, co ti na nich uniká, když je celá věc na jediném řádku a prostě se nejde podívat jinam.

Ale možná naopak mně uniká s čím konkrétně máš problém, tak mi to nějak přibliž.

if ((uhel > 0) && (uhel < 180)) {

Úhel větší 0 a menší než 180 je špatně?

double soucet = strana*strana+strana2*strana2-2*strana*strana2*Math.cos(uhel);

Takhle je ten vzorec, nic tam nechybí?

gna
Java › java program
19. 10. 2018   #381987

Nějak tam toho kódu není tolik, abys nevěděl kam se podívat, když něco funguje špatně.

Mě se nezdá test hodnoty úhlu a výpočet té strany. U obojího jde o jeden řádek :D

gna
Offtopic › MS Access - SQL dotaz
18. 10. 2018   #381981

Šlo by to přesně tak jak popisuje s použitím IN na subquery. 

... WHERE neco IN (SELECT ...)

Ale spíš to máš špatně navržené a vymýšlíš kravinu.

gna
Offtopic › Jde to vytvořit?
16. 10. 2018   #381965

#3 Panda38
Nic jako chvíle, kdy by automat korigoval výhernost nahoru, neexistuje!

gna
Offtopic › Jde to vytvořit?
16. 10. 2018   #381961

Nejde.

gna
Python › Neefektivní kód
13. 10. 2018   #381933

Nechce se mi to moc studovat, ale za ten sin/cos bych lámal prsty. Samozřejmě začneš tím, že budeš používat vektory (a matice).

gna
C / C++ › C geek
13. 10. 2018   #381932

 u printfu máš špatně závorku

printf("%.0f \t %.3f\n"), plocha, centi; // toto
printf("%.0f \t %.3f\n", plocha, centi); // takhle
gna
Java › Chyba vo výpise programu
12. 10. 2018   #381929

   

int a = vstup.nextInt();
int b = vstup.nextInt();

if (a == b) {
	System.out.println("Čísla sú rovnaké");
} else {
	if (a < b) {
		int x = a;
		a = b;
		b = x;
	} 
	System.out.println(a + " " + b);
}
gna
Java › Chyba vo výpise programu
12. 10. 2018   #381925

Podmínky asi trochu chápeš, když je tam máš hned 3. Můžeš podmínit i ten výpis.

gna
Python › YOLO Object Detection
9. 10. 2018   #381893

Dependencies

Python3, tensorflow 1.0, numpy, opencv 3.

gna
Assembler › intel syntax vs att syntax
6. 10. 2018   #381870

#13 jozinzbazin
Božínku, ten kousek inline assembleru, který ti nedělá to, co potřebuješ, abysme ti mohli říct, co je v něm blbě.

gna
Assembler › intel syntax vs att syntax
5. 10. 2018   #381859

#11 jozinzbazin
Jaký text a jaké další programy? Koho zajímá, že je na druhé straně Amiga?

Ukaž ten kousek kódu, který neumíš rozchodit!

gna
Assembler › intel syntax vs att syntax
5. 10. 2018   #381847

#3 jozinzbazin
Tak ukaž ten kód.

gna
Assembler › intel syntax vs att syntax
4. 10. 2018   #381842

Ani jeden řádek nedává smysl. Napiš pořádně, co chceš a co ti nejde.

gna
PHP › PHP a pochopení OOP
4. 10. 2018   #381828

#5 šnek
JJ, v pohodě.

gna
Java › Java program
4. 10. 2018   #381826

#6 davidklimek 

"%7.2f"
gna
C / C++ › Povolení %n pro zápis do .txt
26. 9. 2018   #381749

Tak to tu funkci asi používáš blbě.

LogPost("%s", zprava);
gna
Java › Testování SW - stáž
23. 9. 2018   #381735

Testování je pakárna, věnuj se pivu a holkám, dokud můžeš.

Jinak je to celkem asi jedno a nemusíš se nějak připravovat, všechno se naučíš za pochodu.

gna
PHP › Otazníky místo diakritiky
20. 9. 2018   #381709

#3 fix
Problém bude pravděpodobně ve fontu, takže by ho mohlo vyřešit vygenerování fontu, který potřebné znaky zaručeně obsahuje.

gna
JavaScript, AJAX, jQuery › canvas toDataURL SecurityError
10. 9. 2018   #381560

Je v dnešní době něco překvapivého na tom, že skript nemůže k obsahu, ke kterému nemá povolení?

gna
PHP › Stažení souboru po částech
10. 9. 2018   #381558

Nechápu dotaz. Pokud zdrojový server neumožňuje stahování po částech, tak prostě neumožňuje stahování po částech.

gna
MySQL › Proč nemohu smazat řádek v t…
6. 9. 2018   #381501

#5 jAkErCZ
Správně. A když smažeš detail, tak chceš smazat i tu rodičovskou objednávku, nebo v ní nechat neplatný odkaz? Asi ani jedno, že? Zapni mozek, nebo ber jen kšefty, na které máš.

gna
C / C++ › Binární hledání
6. 9. 2018   #381500

Postřehli jste, že v tom odkazu je i implementace? Prostě není co řešit.

gna
HTML / XHTML › Jak dostat proměnnou javascr…
5. 9. 2018   #381474

#5 JTS
Asi nechápu dotaz. Úplně stejně jako všude jinde.

function myFunction() {
	...
	document.getElementById("prazdny-element").innerHTML = neco;
gna
HTML / XHTML › Jak dostat proměnnou javascr…
5. 9. 2018   #381470

Jako aby ten prazdny-element byl vedle toho inputu? Jednoduše třeba tak, že to místo divu bude span. Pak jsou samozřejmě čistější/složitější řešení.

gna
C / C++ › Binární hledání
4. 9. 2018   #381453

Jo, už to funguje, jen to dělá něco jiného a řešení toho, na co ses ptal ti nepomůže.

Začínám si zvykat.

gna
C / C++ › Binární hledání
3. 9. 2018   #381446

To se dělá hledáním prvního většího. Před ním pak je poslední menší nebo rovno.

std::upper_bound

gna
Java › Rozpor mezi počítadlem a reá…
1. 9. 2018   #381420

Document má metodu getElementById, která dělá přesně to, jak se jmenuje - vrací element s požadovaným id. Element pak má vlastnost/atribut innertHTML obsahující jeho vnitřní HTML.

Takže ano, té metodě musíš říct jaké id chceš. Ano, ten element musí existovat. Ano, je to čistý způsob jak měnit obsah dokumentu. Document.write prostě nepoužívej.

V počitadle žádný rozpor není.

gna
Python › Zacinam_v_Pythone
21. 8. 2018   #381327

U outline ti chybí rovnítko. 

outline=''
gna
C / C++ › Jak odkázat na třídu POINT d…
13. 8. 2018   #381214
gna
C / C++ › Jak odkázat na třídu POINT d…
10. 8. 2018   #381195

#51 Kevil
ŽÁDNÉ ÚPLNĚ JINAK. PŘESNĚ TO TADY DĚLAJÍ VŠICHNI KROMĚ TEBE.

gna
C / C++ › Jak odkázat na třídu POINT d…
10. 8. 2018   #381189

Jestli to má takovou strukturu

DWORD	pocet_boji;
DWORD	idecka[pocet_boji];
DWORD	pocty[pocet_boji];
POINT	body[...];

Tak takhle dostaneš ukazatele na všechno

DWORD *pPocetBoji = (DWORD*) (zacatek);
DWORD *pIdecka = pPocetBoji + 1;
DWORD *pPocty = pIdecka + *pPocetBoji;
POINT *pBody = (POINT*) (pPocty + *pPocetBoji);

A projdeš si to jak potřebuješ.

POINT *apt = pBody;
for (DWORD i = 0; i < *pPocetBoji; i++)
{
	DWORD idecko = pIdecka[i]
	DWORD pocet = pPocty[i];

	PolyLine(hdc, apt, pocet);

	apt += pocet;
}

Hotovo. Máš to tady už několikrát.

gna
C / C++ › Jak odkázat na třídu POINT d…
9. 8. 2018   #381188

Máš tam indexování pole, jako třeba při LON[i] nebo apt[i].

bsrc je pole bajtů, takže ti to načte bajt na daném indexu a ten se přetypuje na ukazatel na point, takže to prostě nemůže být správně.

Furt dokola.

gna
C / C++ › Jak odkázat na třídu POINT d…
9. 8. 2018   #381155

Když ti to vrací nulu, tak proto, že tam prostě je. Mně to pořád připadá, že se pokoušíš definovat to pole s velikostí jako 

body[pocet]

Tak ti znova píšu, že tam ta velikost nebude! Takhle je to čtení z pole bajtů (bsrc). A zjevně je tam nulička.

Milan ti to napsal, tak to použij a neřeš, že ti nefunguje úplně jiný kód, kterému nerozumíš, ale zuby nehty ho tam držíš.

gna
C / C++ › Jak odkázat na třídu POINT d…
8. 8. 2018   #381143

#12 Kevil

Jaký počet ve struktuře? Jediná struktura tady je POINT a ta obsahuje jen souřadnice X a Y.

Funkci PolyLine předáš jedním parametrem ukazatel na ty body a dalším parametrem jejich počet.

To přetypování, jak jsem ho napsal je kompletní. Velikost tam nikde není a nebude.

POINT *body = (POINT*) adresa_bodu;
int pocet = (int) *(DWORD*) adresa_poctu;

PolyLine(hdc, body, pocet);
gna
C / C++ › Jak odkázat na třídu POINT d…
7. 8. 2018   #381139

ale struktura POINT neví, kolik bodů tam je. Potřebuji ještě předat odkaz na DWORD v paměti s počtem bodů.

To neví nikdy. Proto se třeba do té PolyLine zadává počet samostatně. Z toho popisu se zdálo, že už tu hodnotu někde máš. Pokud ne, tak si na to udělej proměnnou a šoupni to tam.

gna
C / C++ › Jak odkázat na třídu POINT d…
7. 8. 2018   #381135

Jde tedy o to nějak "vnutit" proměnné apt adresu RAM paměti, kterou mám k dispozici.

POINT *apt = (POINT*) adresa;

Nějak mi uniká v čem toto nevyhovuje.

gna
Návrhy na vylepšení › Obrázková Captcha je hrozná
7. 8. 2018   #381131

Normálně je na jeden klik. Pokud se ti zobrazuje obrázková, tak ti asi Google nevěří.

Připojen obrázek.

gna
C / C++ › Jak odkázat na třídu POINT d…
7. 8. 2018   #381130

   

POINT *apt = (POINT*) adresa;

Pracuje se s tím stejně jako to máš teď. 

apt[i].x =
gna
PHP › PHP a UTF-8
5. 8. 2018   #381112

#1 Dominik
Před content-type máš středník, takže se to do hlaviček nepřidá. Taky ty hlavičky musí být oddělené odřádkováním.

Kódování textů v hlavičkách (což je i předmět) je potřeba uvést přímo v nich.

$email_subject = "Dotaz z formuláře";
$email_subject = "=?UTF-8?B?" . base64_encode($email_subject) . "?=";
...
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: " . $mailForm;
gna
PHP › PHP a UTF-8
5. 8. 2018   #381111

#2 Martin
A co by to mělo udělat?

gna
Python › Tvorba Menu pomocí flask-nav
30. 7. 2018   #381074

V SimpleRendereru je to natvrdo span. Použij vlastní renderer.

gna
Python › Jak nastavit prodlevu v Tkin…
30. 7. 2018   #381072

Když chceš měnit text labelu, tak budeš měnit text labelu a ne tam rvát nový.
Když chceš ten seznam mít jako list, tak ho uděláš jako list a nebudeš pořád konvertovat tuple na list a zpátky.
Když je seznam prázdný, tak okno.quit tu funkci nepřeruší, takže pak dostaneš tu chybu, že vybíráš z prázdného seznamu.

Nerozšiřuj to, dokud nepochopíš, co děláš. Hlavně, že tam máš podělanej kopyrajt!

gna
Python › Spuštění jiného programu pří…
30. 7. 2018   #381063

Nejjednodušší možnost je os.system. Pro pokročilejší věci pak funkce z modulu subprocess.

os.system("avconv ...")
gna
Java › dekompilace jar
30. 7. 2018   #381059

jar je v podstatě zip obsahující ty classy, takže na jaru jako takovém není co dekompilovat.

gna
Python › Jak nastavit prodlevu v Tkin…
27. 7. 2018   #381046

   

seznam = ['a', 'á', 'b', 'c', ... 'z']
random.shuffle(seznam)

okno = Tk()

label_nadpis = Label(okno, text=u"Písmena abecedy", fg="red")
label_nadpis.pack()
label_pismeno = Label(okno, text="...", font=("Helvetica", 10))
label_pismeno.pack()


def dalsi_pismeno():
    if not seznam:
        okno.quit()
        return
    label_pismeno['text'] = seznam.pop()
    okno.after(1000, dalsi_pismeno)


okno.after(1000, dalsi_pismeno)
okno.mainloop()
gna
Python › Jak nastavit prodlevu v Tkin…
27. 7. 2018   #381045

def je definice funkce. Když k ní dojdeš poprvé, tak se definuje ale neprovádí. Takže ti to skočí za ní.

Tam už je volání téhle funkce, takže to skočí do ní. Na konci funkce se to vrátí tam odkud byla volaná.

Jinak celý TkInter běží právě v mainloop, řeší svoje věci a spouští tvoje funkce. V tomhle případě tu jednu funkci opakovaně plánovanou ke spuštění pomocí after.

Vždycky se vytváří nový label a ukládá se do proměnné w, ale předtím se zruší pack toho, co v ní bylo předtím.

gna
PHP › DOMDocument - zobrazenie td…
19. 7. 2018   #380992

Poduzly toho tr jsou v jeho childNodes. Jestli chceš něco jako innerHTML, tak třeba takhle. 

foreach ($elements as $element) {
	foreach ($element->childNodes as $child) {
		echo $dom->saveHTML($child);
	}
}
gna
PHP › include_once '' špatně odkaz…
18. 7. 2018   #380981

   

'../partials/neco'
gna
PHP › php convert to powershell
12. 7. 2018   #380957

   

echo ""
gna
Python › Jak funguje speciální metoda…
12. 7. 2018   #380956

Nejsem si jistý, co myslíš tím pořadím argumentů. Self nemá žádný speciální význam, prostě první parametr metody je objekt, na kterém byla zavolána a je zvykem ho pojmenovávat self (a druhý parametr porovnávacích metod zase other).

Co se týče toho fungování, tak jen v případě, že porovnáváš instanci třídy s instancí třídy z ní odvozené, tak má přednost odvozená třída. Jinak má přednost to, co je nalevo. 

# stejne typy
a1 == a2  # a1.__eq__(a2)
a2 == a1  # a2.__eq__(a1)
# rozdilne typy
a == b    # a.__eq__(b)
b == a    # b.__eq__(a)
# aa je instance odvozene tridy
a == aa   # aa.__eq__(a)
aa == a   # aa.__eq__(a)

Důležité je to slovo přednost. Ta porovnávací metoda může vrátit NotImplemented a v tom případě se zkusí druhá možnost.

zt1 == 0  # zt1.__eq__(0)
0 == zt1  # 0.__eq__(zt1)
          # == NotImplemnted
          # => zt1.__eq__(0)

Pokud obě možnosti vrátí NotImplemented, tak se porovná identita objektů (jestli je to ten samý objekt, jako operátor is).

gna
JavaScript, AJAX, jQuery › problém s prohozením obrázků
10. 7. 2018   #380730

Jestli myslíš toto

<... onClick="aaa"
     onClick="bbb" />

a čekáš, že to prvně udělá "aaa" a příště "bbb", tak takhle to nefunguje. Prostě tomu atributu nastavuješ nějakou hodnotu -- jednu. I když to uděláš víckrát, tak bude jen jedna. Nevím jestli je nějak definováno která, ale vypadá to, že ta první. Tu požadovanou funkcionalitu si musíš pořešit sám.

function changeImage(img) {
    if (img.src.endsWith("aa.jpg"))
        img.src = "bb.jpg";
    else
        img.src = "aa.jpg";
}
<img src="aa.jpg" onclick="changeImage(this)" />
gna
Návrhy na vylepšení › Spam - řešíme
10. 7. 2018   #380711

Asi je to rozbitý   

gna
.NET › Zjednodušení algoritmu
3. 7. 2018   #221533

#19 Mutagen
Přesně o tom je tady řeč ty brzdo.

Generator gen = new Generator(3);

public bool podelanej_event()
{
    int[] prev = (int[]) gen.code.Clone();
    int[] next = gen.Next();
    
    Console.Write("{0} -> {1} = ", String.Join("", prev), String.Join("", next));
    for (int i = 0; i < next.Length; i++)
        Console.Write("-.+"[1 + next[i] - prev[i]]);
    Console.WriteLine("");
}
gna
.NET › Zjednodušení algoritmu
1. 7. 2018   #221525

#17 MilanL
Mně šlo jen o to, jak Mutagen neviděl, že ten tvůj algortimus nemusí běžet na jeden zátah. Tak ja to je, by šlo testovat protočení tak, že to dvakrát vrátí stejnou hodnotu, ale to si může pořešit jakkoliv jinak.

gna
Python › Chci se naučit pracovat s de…
1. 7. 2018   #221524

Property je prostě "vlastnost" objektu. Jako proměnná. Jde ji číst, měnit a smazat (pokud jsou dané operace definované) 

obj.property

Dekorátor @property z metody vytvoří stejnojmennou property a ta metoda bude fungovat jako její getter. To je celé. Pointa je v podstatě jen v tom jak se to jeví "zvenku".

Chybu máš už v tom getteru. Vracíš _data, cože je přeci property s getterem, který se tak znova zavolá a zacyklí se to.

A pak v tom testovacím přiřazení nepracuješ s objektem (takže se nezavolá setter property), ale s třídou (takže se přesmahne definice property).

class ZT:
    _data = 0

    @property
    def data(self):
        return self._data

    @data.setter
    def data(self, nova_data):
        assert type(nova_data) == int, "data.setter: neplatny vstup"
        self._data = nova_data


zt = ZT()
zt.data = "a"
gna
.NET › Zjednodušení algoritmu
1. 7. 2018   #221520

#14 MilanL
Je tam násobení zápornou jedničkou!

gna
.NET › Zjednodušení algoritmu
29. 6. 2018   #221517

#11 MilanL

Já si myslím, že mu prostě ze serveru chodí aktuální kombinace, takže by mohl kontrolovat, jestli odpovídá tomu co zadal, ale jinak ta hodnota není podstatná.

Poznámku s měněním znaménka nechápu.

gna
.NET › Zjednodušení algoritmu
29. 6. 2018   #221515

Ten generátor přece není problém izolovat a rozkrokovat.

class Generator
{
    public int[] code;
    public int[] smer;

    public Generator(int size)
    {
        code = Enumerable.Repeat(0, size).ToArray();
        smer = Enumerable.Repeat(1, size).ToArray();
    }

    public int[] Next()
    {
        for (int i = code.Length - 1; i >= 0; i--)
        {
            int val = code[i] + smer[i];
            if (val > 9 || val < 0)
            {
                smer[i] *= -1;
            }
            else
            {
                code[i] = val;
                break;
            }
        }
        
        return code;
    }
}
gna
PHP › PHP kopírovanie podľa času
26. 6. 2018   #221490

   

$limit = time() - 5 * 60; // teraz - 5 minut
$ftime = filemtime("$src/$val"); // muze vratit FALSE, ale to tady nevadi

if ($ftime > $limit) {
   copy("$src/$val","$dest/$val");
}
gna
Delphi › Jak přidat element na začáte…
24. 6. 2018   #221479

A teď koukám, že už to tady několikrát je. Ty jsi prostě debil.

gna
Delphi › Jak přidat element na začáte…
24. 6. 2018   #221478

#19 oxidián
Takže to mám správně to má být takto

NE! Když už ty prvky kopíruješ vytvářením nových, tak ještě musíš mazat ty staré.

Ale ty nepotřebuješ vytvářet nové objekty. Jen chceš ty původní posunout.

A samozřejmě když takhle kopíruješ každý prvek na další pozici, tak nakonec bude kopie první položky na druhé pozici, ale zároveň zůstane i na první pozici. To je to nově vytvořené místo, které je potřeba inicializovat.

Já bych to kopírování teda ještě otočil ať tam nestraší to -2. 

setlength(arr, length(arr)+1);
for i := length(arr)-1 downto 1 do
  arr[i] := arr[i-1];
arr[0] := tstringlist.create;

Co ti na takové kravině trvalo 6 hodin?

gna
Delphi › Jak přidat element na začáte…
23. 6. 2018   #221470

#13 oxidián
Víš, že to v Delphi je dialekt Pascalu, žejo?

gna
Delphi › rozparsování řetězce
21. 6. 2018   #221429

#8 MilanL
A když jsi dopisoval ty komentáře, tak ti to vůbec nepřišlo divný? Proč je v blbé funkci na postupné hledání oddělovačů ŠEST IFů?

function split(str: string; sep: string): tstringlist;
var
    sl: tstringlist;
    seppos, sublen: sizeint;
begin
    sl := tstringlist.create;
    repeat
        seppos := pos(sep, str);
        sublen := seppos - 1;
        if sublen = -1 then
            sublen := length(str);
        sl.add(copy(str, 1, sublen));
        delete(str, 1, sublen + length(sep));
    until seppos = 0;
    split := sl;
end;
gna
Delphi › rozparsování řetězce
21. 6. 2018   #221428

#6 oxidián
Na té funkci není nic složitého a kdybys občas něco vypotil, tak by ses možná něco naučil. Ale máš to štěstí, že nic psát nemusíš, protože to ten list už umí. A používej dokumentaci ke své verzi Delphi.

slist.Delimiter := ';';
slist.StrictDelimiter := true;
slist.DelimitedText := '1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1';
gna
Delphi › Vzhled položek menu
20. 6. 2018   #221413
gna
C / C++ › C++ Stack implementation
19. 6. 2018   #221395

Inicializace st proběhne před konstruktorem a proměnná sizeOfStack v té době není inicializovaná.

Pokud má malou hodnotu, tak zapisuješ za to pole. Velikost alokované paměti se zarovnává na nějakou hodnotu, takže za tím polem může být prostor, který lze bez problému přepsat. Ale většinou je to jen pár bajtů, které když překročíš, tak by to nejpozději při delete[] mělo sletět.

Nebo má sizeOfStack takovou hodnotu, že to pole je dostatečně velké.

Mimochodem, pop() máš špatně.

gna
C / C++ › Vyjmutí textu
17. 6. 2018   #221384

A celkem znamená co? :DDD I kdybys to měl po znacích projít a testovat, jestli jsi narazil na uvozovky, tak snad není problém to udělat.

std::string

gna
Pascal › Hexadecimal
15. 6. 2018   #221375

#3 Borisek
Když se ptáš na masku, tak předpokládám, že víš k čemu maskování je -- k "zakrývání a odkrývání" bitů. And vynuluje bity, které jsou v masce nulové a nechá beze změny bity, které jsou v masce jedničkové.

    10101010
and 00001111
  = 00001010

    10101010
and 11110000
  = 10100000
$aa and $01 = $00
$aa and $02 = $02
$aa and $04 = $00
$aa and $08 = $08
gna
Visual Basic › Jak zamíchat balík ?
14. 6. 2018   #221360

Ze zbytku jako z těch, cos ještě neprošel.

Jinak ještě to Randomize stačí jen jednou a .NET má šikovnou třídu Random.

gna
Visual Basic › Jak zamíchat balík ?
14. 6. 2018   #221359

Nejjednodušší možnost je vybrat dva náhodné prvky a prohodit je. A to "několikrát" opakovat.

Když nad tím budeš dumat, tak ono to tak nějak možná je a možná taky není pořádně zamíchané, a chtělo by to spíš něco jako sestavit nový balíček odebíráním náhodných karet z původního. U karet dobrý, ale je to problém u velkých polí.

Tak se to dá pěkně spojit tím, že ten balíček projdeš a každou kartu prohodíš náhodnou kartou ze zbytku.

Fisher–Yates shuffle

gna
Pascal › Hexadecimal
14. 6. 2018   #221358

Ano, můžeš maskovat operátorem and.

hodnota and maska

Pravděpodobně se ti bude hodit i bitový posun operátory shl a shr.

hodnota and (1 shl bit)
(hodnota shr bir) and 1
gna
Visual Basic › Morseovka - Jak na to?
12. 6. 2018   #221333

#4 Dumbo
Tak pokud je to VB.NET, tak tam jde string indexovat jako pole a taky projít pomocí for each.

For i = 0 To vstup.Length - 1
	... vstup(i)
Next

For Each znak As Char in vstup
    ...
Next
gna
Pascal › Lazarus - linux - BeginThread
11. 6. 2018   #221318

Když jsme u toho Googlení...

RunError 211 je volání abstraktní metody. Taky ho cthreads vyhodí explicitně pokud se inicializuje pozdě. A CloseThread se má volat až po skončení vlákna (i když na Windows a Linuxu se předčasným voláním asi nic nerozbije).

Jinak je na vlákna lepší použít TThread.

gna
Python › Ovladani rele s raspberry
11. 6. 2018   #221317

#8 Yenc 

print('Ted jsem tady a zkusim tohle')
gna
C / C++ › Codeblocks, cmake
11. 6. 2018   #221316

#2 MilanL
Taglib se distribuje ve formě zdrojáků. Pro kompilaci se používá cmake, který přímo nekompiluje, ale generuje "kompilační projekt" třeba pro make, nebo Visual Studio, nebo dokonce i Code::Blocks.

Zdá se, že už tam má problém a jak to přidat do svého projektu asi bude řešit až potom, co to zkompiluje.

gna
Python › Ovladani rele s raspberry
10. 6. 2018   #221294

Tohle 

device_file = device_folder + "/w1_slave"

má být list

device_file = [device_folder + "/w1_slave"]

Tohle

temp1 = read_temp

má být volání funkce 

temp1 = read_temp(0)

Tohle

try:
    ...

nemáš ukončené 

try:
    ...
except KeyboardInterrupt:
    GPIO.cleanup()
gna
Visual Basic › Morseovka - Jak na to?
9. 6. 2018   #221292

To je zase to VBA, že?

Tak ten řetězec projdeš, jednotlivé znaky dostaneš funkcí mid a pro výpočet indexu do pole můžeš použít funkci asc

for i = 1 to len(vstup)
	znak = mid(vstup, i, 1)
	index = asc(ucase(znak)) - asc("A")
	if index >= 0 and index < len(tabulka) then
		kod = tabulka(index)
	else
		kod = znak ' co neumime zkonvertovat, nechame byt
	end if
	vystup = vystup + kod
next i
gna
Java › Podmínka if
8. 6. 2018   #221272

Už z těch několika řádků nad tím je vidět, že řetězce se zapisují v uvozovkách.

A pak jedno rovnítko je pro přiřazení. Na test rovnosti je dvojité rovnítko (a == b).

Ale to by testovalo, jestli je na obou stranách operátoru ten samý objekt. Na porovnání řetězce podle obsahu je metoda equals. 

if (a.equals("ano"))
gna
Delphi › Sdílení a iniciace proměnné…
7. 6. 2018   #221246

Sender je vždycky objekt, kterého se událost týká.

Takže obsluze kliku na menuitem asi nebudeš přeposílat form! Jestlit to správně chápu, tak je to N9, takže to bude:

N9.Click;
// nebo
SelectUser1Click(N9);

Jen díky tomu, že se tam s tím parametrem nijak nepracuje nevadí, že tam cpeš nesmysl. Máš tam hromadu metod, ze kterých je vidět, jak to funguje. Dokonce jsi napsal pár vlastních, tak nad tím chvíli přemýšlej!

gna
Delphi › Sdílení a iniciace proměnné…
6. 6. 2018   #221244

Sender je vždycky objekt, kterého se událost týká. V tomhle případě to asi bude instance TMenuItem.

Taky se handlery nevolají přímo, ale bylo by to metodou Click, která vyvolá OnClick (který je asi v tomhle případě nastavený na ten SelectUser1Click) se správným parametrem.

A vzhledem k tomu, že OnCreate (FormCreate) se volá při vytváření objektu formu, tak bych nečekal, že v té době bude připravený na operace, které se v tom click handleru dělají. Možná to půjde při OnShow (FormShow).

gna
Delphi › funkce odkazující na položku…
3. 6. 2018   #221217

Máš tam 20 unit a 16 formulářů. I když odmítáš číst dokumentaci, tak snad není možné si nevšimnout, jak se s nimi pracuje.

V souboru uc_heb1.pas máš toto.

unit Uc_heb1;

interface

type
  TForm1 = class(TForm)
  ...

var
  Form1: TForm1;
  ...

implementation

...

Takže do souborů, kde potřebuješ znát definici toho typu a/nebo té proměnné, přidáš toto:

uses
  Uc_heb1, ...;

Samozřejmě by té funkci šlo předat menu/submenu/položky, se kterými má pracovat, ale to ty nikdy nepobereš, tak se k tomu prokousej přes Form1.

gna
C / C++ › Vytvoření knihovny
31. 5. 2018   #221201

Myslím, že na té ukázce je vidět, že se opakovaně provádějí příkazy v těle cyklu, dokud je splněna podmínka pro opakování.

Co chceš opakovat, to do něj dej.

gna
C / C++ › Vytvoření knihovny
31. 5. 2018   #221187

Myslím si, že tak jak to máš, to zadání splňuje. Nevidím důvod dávat ten switch do "knihovny". Jestli to do ní chceš hodit, tak je na tobě, jak se ti to líbí.

Na opakování jsou cykly.

gna
C / C++ › Vytvoření knihovny
31. 5. 2018   #221183

#3 normy101
A jak se ta chyba projevuje?

Jestli ti to při kompilaci hlásí neznámé funkce z té "knihovny", tak je potřeba tu knihovnu přidat do projektu. Jestli to kompiluješ ručně tak prostě uveď oba soubory (třeba gcc main.c knihovna.c -o program.exe). Jinak je to syntakticky správně, takže jiný problém by neměl být.

Co se týče fungování programu, tak jediný problém vidím v tom, že int je celočíselný typ. Pro desetinná čísla můžeš použít třeba typ double a formát pro scanf pak bude %lf a pro printf %f.

gna
Pascal › Piškvorky
31. 5. 2018   #221182

   

// FreePascal

var
  plocha: array of array of char;
  velikost: integer;
  i, j: integer;

begin
  velikost := 5;
  setlength(plocha, velikost, velikost);
  for i := 0 to velikost-1 do
    for j := 0 to velikost-1 do
      plocha[i,j] := '.';

  plocha[1,2] := 'X';
  plocha[2,2] := 'O';

  for i := 0 to velikost-1 do
  begin
    write('|');
    for j := 0 to velikost-1 do
      write(plocha[i,j]);
    writeln('|');
  end;
end.
gna
C / C++ › Podmínka pro celý soubor
30. 5. 2018   #221174

Na opakování se používají cykly - for, do, while. Třeba takhle:

int volba = -1;
while (volba != 0) {
	printf("1) aaa\n2) bbb\n0) Konec\n");
	printf("Vyber: ");
	scanf("%i", &volba);
}
gna
PHP › Aktualizace tabulky s relací…
25. 5. 2018   #221142

A ještě jsem zapomněl napsat proč je to pole.

Takovéhle přiřazení přidává položky do pole.

$vystrazniky[] = explode(', ', $vystrazniky_vyber);

Takže v poli $vystrazniky máš jednu položku, která je taky pole. Vyhoď ty závorky []. Celkově nevidím důvod to prohánět přes implode-explode.

gna
PHP › Aktualizace tabulky s relací…
25. 5. 2018   #221141

Tu konverzi pole na řetězec máš tady.

('$id', '$id_vystrazniku'[\"id_vystrazniku\"])

Kdyby jsi chtěl chtěl hodnotu z pole, tak by to šlo napsat jako

... '{$pole['klic']}' ...

Ale ty tam chceš $id_vystrazniku, tak to tak napiš.

... '$id_vystrazniku' ...

Z toho update vyhoď tu vazební tabulku. Nic tam nevážeš. Prostě uprav data přejezdu v jeho tabulce a doplň vazby v té vazební tabulce.

gna
PHP › Aktualizace tabulky s relací…
24. 5. 2018   #221124

#10 David
Tak tam, kde to píše asi děláš to, co se tam píše.

Pokud máš option takhle, tak by ti to mělo posílat ta čísla z value. Nechápu pak, co myslíš tím, že nechceš vkládat řetězce.

V tom selectu máš zase blbě uvozovky a method tam nemá co dělat. Podívej se na zdroják té stránky.

Typ výstražníku: <select name="vystrazniky[]" method="get"cislo" multiple />  <-- co to tam je?
gna
PHP › Aktualizace tabulky s relací…
24. 5. 2018   #221119

Dáváš do value id záznamu?

<option value="1">Metelesku</option>
<option value="2">Blesku</option>
gna
PHP › Aktualizace tabulky s relací…
24. 5. 2018   #221095

Tady na řádku 38 nic zajímavého není. Můžná u tebe je.

PREJEZDY_VYSTRAZNIKY je vazební tabulka, ne? Proč ji máš v tom prvním update? I kdyby jsi tam chtěl dvě tabulky, tak s jinou podmínkou a před WHERE máš nadbytečnou čárku.

V tom INSERTu máš [\"id_vystrazniku]\". Ty uvozovky jsou špatně a hlavně to tam vůbec nemá být.

Funkce mysql_error vrací popis chyby. A hlavně nestrkej data z GETu přímo do SQL.

gna
Visual Basic › Další úkol - Jak provedu výp…
21. 5. 2018   #221073

#11 Kit
Já jsem poslední velkou věc ve VBA dělal před 20 lety pro jeden okresní úřad a není na světě dost peněz, abych to podstoupil znova.

gna
Visual Basic › Další úkol - Jak provedu výp…
21. 5. 2018   #221070

Já jsem předpokládal, že jde o VB.NET. To asi budete dělat v tom Visual Studiu.

To v Excelu je VBA (Visual Basic for Applications) a je úplně na ho.no.

gna
Visual Basic › Další úkol - Jak provedu výp…
21. 5. 2018   #221067

Jinak teda pokud ten MsgBox používáš, protože je to konzolová aplikace a nevíš, jak jinak něco vypsat, tak je to 

Console.WriteLine("Ahoj")
gna
Visual Basic › Další úkol - Jak provedu výp…
21. 5. 2018   #221066

Protože vypis máš Long a pokoušíš se k němu přičítat string.

Mimochodem pokud je step 1, tak ho nemusíš psát a neco = neco + necojineho se dá napsat jako neco += necojineho. A to Chr(10) nahraď něčím srozumitelnějším. Myslím, že ještě pořád existuje předdefinovaná konstanta vbNewLine.

Dim i As Integer
Dim nahoda, soucet, prumer, rozdil As Double
Dim vypis As String

soucet = 0
For i = 1 To 20
    nahoda = Round(Rnd() * 40) + 10
    soucet += nahoda
    vypis += Str(nahoda) + vbNewLine
Next i
prumer = soucet / 20
rozdil = 30 - prumer

vypis += "prumer " + Str(prumer) + vbNewLine
vypis += "rozdil " + Str(rozdil) + vbNewLine

MsgBox vypis
gna
Visual Basic › Další úkol - Jak provedu výp…
21. 5. 2018   #221064

Copak něco brání tomu abys to v tom cyklu dělal obojí?

gna
C / C++ › Ukládání/načítání souboru C++
20. 5. 2018   #221056

No tak ho projdi a obsah ulož. Co ti na tom nejde?

gna
Visual Basic › Sinus - Dotaz na správnost
20. 5. 2018   #221055

Samozřejmě ta první varianta.

gna
C / C++ › Súčet všetkých podreťazcov r…
20. 5. 2018   #221053

To se dost špatně vysvětluje. Zkus ten výpočet rozložit a uvidíš to. První část je

(i+1) * numi

To je vidět hned 

1 + 2 + 3 + 4  +  12 + 23 + 34        +  123 + 234            +  1234
1 + 2 + 3 + 4  +  10+2 + 20+3 + 30+4  +  120+3 + 230+4        +  1230+4
1 + 2 + 3 + 4  +  10+2 + 20+3 + 30+4  +  100+20+3 + 200+30+4  +  1000+200+30+4
1              +  10 + 20 + 30        +  100+20 + 200+30      +  1000+200+30    +  2*2 + 3*3 + 4*4

Další část

10 * sumofdigit[i-1]

Když si s tím pohraješ, tak je vidět, že v každém kroku je řádový posun předchozího.

1   +   10 + 2*2   +   100 + 2*2*10 + 3*3   +   1000 + 2*2*100 + 3*3*10 + 4*4
1   +   10 + 2*2   +   (10+2*2)*10  + 3*3   +   ((10+2*2)*10 + 3*3)*10  + 4*4

 

 

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