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

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

 

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

gna
Python › Python, obdelníky
před 4 hodinami   #389634

Nechápu dotaz. Když máš třeba jeden čtverec 50x50 a pak druhý umístíš o 50 pixelů dál (nebo níž, nebo něco), tak bude vedle (nebo pod...) toho prvního. Nevím v čem je problém.

gna
Python › tkinter - sloupec
Včera   #389631

   

for y in range(20, 220, 20):
    color = random.choice(("white", "black", "red", "green", "blue", "cyan", "yellow", "magenta"))
    canvas.create_text(50, y, text="python", fill=color)
gna
.NET › Jak pracuje Lock(object) - t…
Včera   #389627

  

gna
.NET › Jak pracuje Lock(object) - t…
Včera   #389625

Přesně to jsem napsal.

gna
Java › Bitwise operations, testing
Včera   #389623

#3 gna
Byl jsem o fous pomalejší :-)

gna
Java › Bitwise operations, testing
Včera   #389622

& - and - výsledek bude 1 pokud oba operandy jsou 1
| - or - 1 pokud alespoň jeden z operandů je 1
^ - xor - 1 pokud pouze jeden z operandů je 1
<< - shl - bitový posun do leva
>> - shr - bitový posun do prava

gna
.NET › Jak pracuje Lock(object) - t…
Včera   #389619

Na úrovni procesoru to funguje stejně. Když třeba na x86 použiju prefix LOCK, tak se cache zamkne do dokončení instrukce.

gna
.NET › Jak pracuje Lock(object) - t…
16. 1. 2022   #389614

Nemotej do toho cache a zásobník, když nevíš, co to je.

Lock funguje v podstatě takhle:

while (lock != 0) {
    // čekám na odemčení
}
lock = 1; // zamknu


// něco dělám
...


lock = 0; // odemknu

Konkrétně tomuhle se říká spin-lock a ten while+lock je implementován atomickými instrukcemi. Samozřejmě nemusí být vždycky vhodné, aby každé vlákno takhle aktivně ten zámek pořád dokola testovalo a tak se třeba uspí a pak probudí po jeho odemčení apod.

To je celé, když nějaké vlákno chce lock, který už drží jiné vlákno, tak se "zasekne" dokud ho předchozí držitel nepustí.

gna
MS SQL › Potřebné SQL příkazy?
15. 1. 2022   #389607

Leda kulový. Kolik těch příkazů je? Projít je a udělat si představu o jejich použití je max na jeden den.

gna
MS SQL › Tabulka se nezobrazuje
15. 1. 2022   #389605

A mě při pití čaje bolí oko. Zkus nějak vydedukovat, že to souvisí s tím, že z hrnku nevytahuju lžičku.

Jaká tabulka by tam měla být; jak jsi ten příkaz napsal; co ti to hlásilo po jeho spuštění; vybral jsi správnou databázi nebo dokonce server; není potřeba ten seznam refreshnout? Křišťálová koule v servisu.

gna
MS SQL › Potřebné SQL příkazy?
15. 1. 2022   #389601

#1 Montezo
Vyber si nějaké téma a věnuj se mu. Od začátku. Přečti si dokumentaci, zkoukni nějaký kurz nebo sérii tutoriálů. Přestaň skákat z jednoho na druhé a ptát se na krávoviny.

gna
Java › Vyklad kodu, filed, instance.
15. 1. 2022   #389599

Vždyť s třídami a objekty děláš pořád dokola a najednou nevíš. Máš třidu a vytváříš její instance a přes ně pak můžeš přistupovat k jejim veřejným proměnným a metodám. 

class Clovek
{
    public String jmeno;  // instancni promenna

    public Clovek(String jmeno) {
        this.jmeno = jmeno;
    }
}
...
Clovek c1 = new Clovek("Pepik");
Clovek c2 = new Clovek("Honzik");

System.out.println(c1.jmeno + " a " + c2.jmeno); // Pepik a Honzik
c2.jmeno = "Jirik";
System.out.println(c1.jmeno + " a " + c2.jmeno); // Pepik a Jirik

A pak můžeš mít taky třídní proměnné (static), které nejsou spjaté s konkrétní instancí a když k nim přistupuješ přes instanci, tak to jde, ale dostaneš warning.

class Math
{
    public static final double PI = 3.14;  // tridni promenna
}
...
System.out.println(Math.PI);  // OK

Math m = new Math();
System.out.println(m.PI);  // jde, ale dostanes warning
gna
JavaScript, AJAX, jQuery › curl request z PHP do node.js
14. 1. 2022   #389594

Nevím, možná se zkus podívat jestli nemáš nějakou starší verzi těch knihoven.

Já jsem je instaloval až teď, takže mám poslední socks 2.6.1 a socks-proxy-agent 6.1.1 a chodí to.

gna
JavaScript, AJAX, jQuery › curl request z PHP do node.js
13. 1. 2022   #389590

Mně to takhle funguje (i s .onion). Hlásí to nějakou chybu?

gna
Matematika › SQL příkaz
10. 1. 2022   #389570

join objednavky-zakaznici, sum castka, group by zakaznik, where rok 2021, order by suma, limit 10

gna
.NET › Xamarin - Nastaveni prav a a…
10. 1. 2022   #389564

Proč máš external-path zakomentovaný?

gna
.NET › Překrytí X přetížení
10. 1. 2022   #389560

Jo.

gna
Java › Android studio - timer
10. 1. 2022   #389556

Pomocí Timeru můžeš spustit TimerTask. Pak bacha na to, že poběží v jiném vlákně. Jestli chceš sahat na UI, tak můžeš použít třeba runOnUiThread nebo Handler (a v tom případě se pak obejdeš i bez Timeru, protože Handler má metody postAtTime a postDelayed).

gna
.NET › Překrytí X přetížení
10. 1. 2022   #389555

Skoro, akorát se "neaktivuji" a "neupravují" částečně.

Přetížení: Metody mají stejné jméno, ale jiné parametry. Jde o různé metody a podle toho s jakými parametry je voláš se pozná, která se má zavolat.

Překrytí: Odvozená třída dědí metody rodičovské třídy. Metody definované v odvozené třídě překrývají (resp. mohou překrývat) metody zděděné z rodičovské třídy.

gna
Java › Kotlin - AsyncTask, doInBack…
8. 1. 2022   #389550

Prostě místo jedné adresy předáš seznam adres. Ten pak v cyklu projdeš, zpracuješ a vrátíš seznam výsledků.

Případně nemusíš vracet seznam výsledů, ale můžeš je reportovat průběžně. Tj. v tom cyklu použiješ publishProgress pro poslání dat do onProgressUpdate.

Pokud chceš to stahování dělat paralelně, tak prostě vytvoř samostatný task pro každou adresu. Ideálně asi v kombinaci s ThreadPoolExecutorem, kde definuješ velikost fronty a kolik tasků se má zpracovávat souběžně.

V Kotlinu nedělám, takže konkretní kód ti neukážu.

gna
.NET › Práce s .json soubory...
6. 1. 2022   #389523

Někde v nastavení projektu se dá nastavit s jakým pracovním adresářem se má program spouštět. Nebo můžeš programově zjistit, kde ten exáč je, ale nejspíš to nepotřebuješ.

Už teď když ten program spustíš přímo, třeba z průzkumníka, tak pracovní adresář bude adresář exáče.

gna
.NET › Práce s .json soubory...
6. 1. 2022   #389521

File.WriteAllText při chybě háže vyjímku, takže buď dostaneš vyjímku z popisem chyby, nebo k chybě nedošlo a ten soubor se vytvořil. Možná jen je jinde, než ho očekáváš.

Windows (a další systémy) mají koncept "pracovního adresáře" a program může mít jiný pracovní adresář, než je umístění programu. Když název souboru není uveden s celou cestou, tak se vytváří v tom pracovním adresáři. Jestli to spouštíš z VS, tak tam to bývá tak, že pracovní adresář není adresář s exáčem. Prohledej adresář projektu.

gna
.NET › Práce s .json soubory...
6. 1. 2022   #389519

   

var json = JsonConvert.SerializeObject(query);  // serializuj objekt do souboru JSON
var result = json;
File.WriteAllText("vystup.json", json);  // data jsou zapsána do souboru vystup.json
Console.WriteLine(result);

Do souboru zapisuješ stejnou hodnotu, jakou vypisuješ na konzoli. Pořád nechápu v čem je problém.

gna
Python › Tkinter Game
6. 1. 2022   #389517

Jestli to správně chápu, tak balón sestřelíš tím, že na něj klikneš.

Objekt z canvasu můžeš odstranit pomocí .delete a místo globálního click-handleru a zjišťování, na co jsi kliknul, bude jednodušší nastavit ten handler přímo na tom balónu pomocí .tag_bind.

Taky by se asi hodilo, aby tělo toho balónu i jeho provázek byl jeden objekt, ať to nemusíš dohledávat.

Pohyb pak uděláš tak, že pomocí .after budeš periodicky ty balóny posunovat.

Třeba nějak takhle:

import tkinter


class Balloon:
    def __init__(self, canvas, x, y):
        self.alive = True
        self.canvas = canvas
        self.balloon = canvas.create_oval(x, y, x + 40, y + 50, fill="red")
        self.string = canvas.create_line(x + 20, y + 50, x + 20, y + 90)
        self.canvas.tag_bind(self.balloon, "<Button-1>", self.kill)

    def move(self):
        if self.alive and self.canvas.coords(self.balloon)[1] > 0:  # coords == (x1, y2, x2, y2)
            self.canvas.move(self.balloon, 0, -10)
            self.canvas.move(self.string, 0, -10)

    def kill(self, event):
        if self.alive:
            self.canvas.delete(self.balloon)
            self.canvas.delete(self.string)
            self.alive = False


def create_balloons(canvas):
    balloons = []
    for x in range(1, 400, 75):
        balloons.append(Balloon(canvas, x, 300))
    return balloons


def move_balloons(canvas, balloons):
    for balloon in balloons:
        balloon.move()
    canvas.after(100, move_balloons, canvas, balloons)


canvas = tkinter.Canvas(width=450, height=400)
canvas.pack()

balloons = create_balloons(canvas)
canvas.after(100, move_balloons, canvas, balloons)

tkinter.mainloop()
gna
.NET › Práce s .json soubory...
6. 1. 2022   #389516

Já si myslím, že by to takhle mohlo fungovat. Co se ti tam zapíše a co chceš jinak?

gna
Python › Řazení slov na styl slovního…
5. 1. 2022   #389511

Pokud je to reálný ukol z nějakého cvičeni, tak se dá předpokládat, že to teda asi bude řešitelné v rozumném čase i bez účasti na tajném čínském sympóziu o algoritmech minulý týden.

Možná česká slova opravdu mají takové parametry, že to nebude taková hrůzna, nebo je ten seznam pečlivě vybraný, nebo něco.

Zkus pogooglit a opsat nějaký z existujících algoritmů a uvidíš.

gna
.NET › Práce s .csproj soubory
4. 1. 2022   #389505

V csproj je definice projektu. V podstatě seznam souborů (To bývalo. Myslím, že dnes už se tam ani nezapisují) a nastavení.

Včera ses ptal k čemu je foreach, takže na NuGet zatím zapomeň. Ale jo, stáhne ti to nějaký balíček, ve kterém jsou implementované nějaké třídy.

gna
Python › Řazení slov na styl slovního…
4. 1. 2022   #389503

Takže nějaká forma grafu, kde jen mezi některými uzly budou spoje? To co tady v nějaké formě napsal úplně každý? A není to 100k kombinací, ale 100k slov, což je mrtěmegamoc kombinací.

gna
Pascal › Lazrus - externí dll
4. 1. 2022   #389501

Ono by mohlo stačit tu dllku neunloadnout, nebo vytvořit kopii toho stringu.

orig := DllFunc();
copy := Copy(orig, 1, Length(orig));
orig := '';

Ale ruku do ohně za to nedám. Nejjistější bude stringy z programu a dllky nemíchat. Třeba předávej proceduře v dllce buffer k naplnění.

procedure GetString(buf: pchar; var bufsize: integer); stdcall;
...
gna
.NET › Cyklus foreach
2. 1. 2022   #389489

k listování vším čím jde listovat

gna
C / C++ › C++ nahrazení Unicode
2. 1. 2022   #389488

   

std::wifstream wif("input.txt");
wif.imbue(std::locale(std::locale(), new std::codecvt_utf8<wchar_t>));

std::wofstream wof("output.txt");
wof.imbue(std::locale(std::locale(), new std::codecvt_utf8<wchar_t>));

std::wstring line;
while (getline(wif, line))
{
    std::replace(line.begin(), line.end(), L'č', L'c');
    wof << line << "\n";
}
gna
Pascal › Spojový seznam - součet dvou…
30. 12. 2021   #389439

Takže výše uvedeným postupem převedeš ty seznamy na čísla a ta sečteš.

gna
Python › pomozte začátečníkovi
29. 12. 2021   #389436

Můžeš třeba to číslo "posunout" než začneš ten interval procházet. 

w += 1
while w < x:
    ...

A jak zmínil Pavel, na toto se hodí funkce range. 

for i in range(w + 1, x):
    ...
gna
Pascal › Spojový seznam - součet dvou…
29. 12. 2021   #389435

Takže seznam 1->2->3 představuje číslo 123 ? 

  1
 10 // posunu
 12 // přidám
120 // posunu
123 // přidám

Čili k číslu jde přidat číslici tak, že ho vynásobím 10 a přičtu číslici.

gna
Pascal › Spojový seznam - odebrání pr…
29. 12. 2021   #389426

Těm proměnným musíš nejdřív nastavit nějakou hodnotu a přinejmenším Zacatek bude asi parametr té procedury.

procedure Vynech_nejvetsi(var Zacatek: Ukazatel);
var
    Pruchod, Predchozi, Dalsi: Ukazatel;
    Nejvetsi: integer;
begin
    if Zacatek = nil then
        Exit;

    Nejvetsi := Zacatek^.Hodnota;
    Pruchod := Zacatek^.Dalsi;
    while Pruchod <> nil do begin
        if Pruchod^.Hodnota > Nejvetsi then
            Nejvetsi := Pruchod^.Hodnota;
        Pruchod := Pruchod^.Dalsi;
    end;

    Predchozi := nil;
    Pruchod := Zacatek;
    while Pruchod <> nil do begin
        Dalsi := Pruchod^.Dalsi;

        if Pruchod^.Hodnota = Nejvetsi then begin
            Dispose(Pruchod);
            if Predchozi <> nil then
                Predchozi^.Dalsi := Dalsi;
            if Pruchod = Zacatek then
                Zacatek := Dalsi;
        end
        else begin
            Predchozi := Pruchod;
        end;

        Pruchod := Dalsi;
    end;
end;
gna
Python › pomozte začátečníkovi
28. 12. 2021   #389422

Tady asi bude problém v tom, co je "mezi". Např. s hodnotami 10 a 20, jestli to bude 10 až 20 (včetně), nebo 11 až 19. Ty vypíšeš 10 až 19, což není ani jedno z toho.

gna
Visual Basic › matematický problém
28. 12. 2021   #389414

#11 hlucheucho
Já jsem asi špatně pochopil ty číslice. Pokud každé 4 bity reprezentují jednu desítkovou číslici, tak pak to takhle půjde.

gna
.NET › Načíst data do DataGridView…
28. 12. 2021   #389413

Pokud ti to při startu automaticky uloží prázdný list, tak to pak i načte prázdný list. To už jsem psal.

Do toho gridu/bindingu už přidáváš data v metodě New_Click. Předpokládám, že ta funguje, takže stejně ho můžeš naplnit i při načtení dat ze souboru. Ale samo se to neudělá.

gna
Visual Basic › matematický problém
28. 12. 2021   #389405

#7 hlucheucho
Jak prosímtě na šestnáctibitovém počítači chceš dělit čtyřicetibitové číslo? V tom je pointa toho úkolu, že je potřeba si s tím pohrát.

gna
.NET › Načíst data do DataGridView…
28. 12. 2021   #389404

Ta metoda New_Click vypadá, že by mohla fungovat. Jaký je rozdíl v tom, jestli máš data z dialogu, nebo ze souboru?

gna
.NET › Načíst data do DataGridView…
27. 12. 2021   #389402

MainForm_Load máš uložení a pak načtení, takže ti to pravděpodobně vždycky nejdříve přepíše soubor prázdným listem.

NacistDB pravděpodobně bude potřeba nejdříve volat DeSerializeObject a až pak z něj vytáhnout .Ui.

gna
Visual Basic › matematický problém
27. 12. 2021   #389386

#5 remmidemmi
Kit odpovídal na původní dotaz. Tvůj úkol nikdo neřeší.

gna
CSS › Nahrazení vlastnosti za nevi…
25. 12. 2021   #389364

Nemůžeš to odstranit, ale můžeš to předefinovat. Nová definice se pak může a nemusí projevit ... blabla, vynutit poslední definici můžeš pomocí !important.

.top-navigation-bar {
  position: necojineho !important;
}

Ale když to chceš skrýt, tak můžeš zkusit display: none (případně zase s !important). 

.top-navigation-bar {
  display: none;
}
gna
Java › test v jave z cmd radky
24. 12. 2021   #389355

A jestli je to podle Java For Testers od Alana Richardsona, tak koukám, že je z roku 2015. Tak se připrav na to, že některé věci můžou fungovat jinak, než v době vydání.

gna
Java › test v jave z cmd radky
24. 12. 2021   #389354

V testu používáš JUnit, ale maven se pokouští spustit TestNG. To je jiný testovací framework (který by měl podporovat JUnit, ale asi bude potřeba to poladit).

Nevím kde a jak, ale asi někde v nastavení projektu bude možnost to změnit.

gna
.NET › is the pointer to the array
24. 12. 2021   #389350

Při předání hodnotou, je parametr jako lokální proměnná metody. Při předání odkazem, je ten parametr odkaz na předávanou proměnnou. 

void byval(int param)
{
    // parametr je hodnota, zmeni se jen lokalni hodnota param
    param += 50;
}
void byref(ref int param)
{
    // parametr je odkaz, zmeni se hodnota, na kterou odkazuje
    param += 50;
}

int hodnota = 10;

byval(hodnota);
Console.WriteLine("hodnota {0}", hodnota); // 10

byref(ref hodnota);
Console.WriteLine("hodnota {0}", hodnota); // 60

Co se týče té vánočky, tak příkaz += není nějaká definice vazby. Je to příkaz, který se provede a šmitec. 

// k hodnote `cukrovi` se pricte hodnota `vanocka`
cukrovi += vanocka;

// toto uz se `cukrovi` nijak netyka
// (teoreticky `vanocka` muze byt reference na `cukrovi`, ale dejme tomu, ze neni)
vanocka = 123;

A ta pasáž o tom, že pole je pointer, je ještě o něčem trochu jiném. Tam píšou, že když hodnotou předáváš pole (nebo jiný referenční typ), tak sice předáváš parametr hodnotou, ale ta hodnota je odkaz :-) 

void arr1(int[] param)
{
    // opet jen lokalni zmena
    param = new int[] {4, 5, 6};
}

void arr2(int[] param)
{
    // tady nemenim param, ale jeho obsah, tj. data, na ktere odkazuje
    param[0] = 4;
}

int[] pole = new int[] { 1, 2, 3 };

arr1(pole);
Console.WriteLine("hodnota {0}", pole[0]); // 1

arr2(pole);
Console.WriteLine("hodnota {0}", pole[0]); // 4
gna
.NET › Panák & budík.
23. 12. 2021   #389331

Nemusíš používat informace jen z MS docs (ale je tam všechno). Článků, seriálů a videí o C# je spousta.

Jinak jo, když narazíš na zadání s nejasnými pojmy, tak si je dohledáš. Jak jinak bys to chtěl dělat?

A jak začneš po těch objektech a delegátech pátrat, tak se u těch základů na chvíli zastav. Pořádně se s tím jazykem seznam ať nebojuješ se syntaxí a koncepty a můžeš řešit skutečné problémy.

Na vývojové diagramy se samozřejmě vykašli. Ono je to dobré na sdělení/ujasnění myšlenek, protože pár bloků se šipkami bývá jasnější než dlouhý slovní popis; a pak třeba při výuce, kde je potřeba vyjádřit, že pro každý provek z nějaké množny udělám to a to, vysvětlit principy a algoritmy a až pak řešit to, jak se syntakticky zapisuje for a if. Jen pro sebe si kreslit nemusíš :-)

gna
HTML / XHTML › Hypertext na pozadí webu
22. 12. 2021   #389321

Ty vždycky potřebuješ úpravy nějakého eshopu a vždycky máš jen zadání. Tak si najmi programátora.

$("#carousel-banner > div > img").wrap('<a href="//google.com/"></a>')
gna
.NET › Zapouzdření.
22. 12. 2021   #389319

Obě :-)

gna
.NET › Kde brát dokumentaci?
22. 12. 2021   #389313

A jak si tu přehlednost představuješ?

Dal jsi něco hledat a dostal jsi výsledky. Když nemáš na prvních pozicích relevantní výsledky (v tomhle případě máš), tak přeformuluješ dotaz.

gna
.NET › Jedna metoda ve ve dvou tříd…
21. 12. 2021   #389293

Pokud ti jde o to, aby ty instance byly "zaměnitelné", podobně jako by měly společného předka, tak s interface to jde.

interface INeco
{
    void Metoda();
}

class ChildA: BaseA, INeco
{
    //...
    public void Metoda() { ... }
}

class ChildB: BaseB, INeco
{
    //...
    public void Metoda() { ... }
}


ChildA ca = new ChildA();
ChildB cb = new ChildB();

INeco ia = ca;
INeco ib = cb;
gna
.NET › vložit data z textboxu do JSON
20. 12. 2021   #389285

#13 JerryM
Soryjako, ale ty seš fakt kokot až na půdu.

gna
.NET › vložit data z textboxu do JSON
20. 12. 2021   #389281

Když řeší problém s inicializací třídy, tak to není verzí .NETu..

nějakém formuláři. Jakém? Co přesně děláš, co ti nefunguje? Jakou chybu to hlásí?

gna
.NET › vložit data z textboxu do JSON
20. 12. 2021   #389275

Pokud ti to nefunguje, tak se ty proměnné pokoušíš použít z místa, kde neexistují.

gna
Python › Načtení dat z csv do seznamu
20. 12. 2021   #389271

Z toho popisu se mi zdá trochu divné, že bys chtěl jen poslední řádek. Každopádně csv.reader umí číst jen postupně, takže musíš načíst všechny řádky a z toho případně pak použít jen ten poslední.

with open("data.csv") as f:
    data = list(csv.reader(f))
    last = data[-1]
gna
.NET › Výpis druhé hodnoty stringu
19. 12. 2021   #389268

Ano, v té své třídě můžeš definovat metodu ToString.

class Uzivatel
{
...
    public override string ToString()
    {
        return "Uzivatel(" + jmeno + ", " + vek + ")";
    }
}
gna
.NET › Zdrojový kódy .NET na GitHubu?
18. 12. 2021   #389260

Jestli myslíš .NET Reference Source, tak to je tady a původně tady.

gna
.NET › Texture mixer, tvoření masky
17. 12. 2021   #389257

Jestli ti jde jen o to to nějak (jakkoliv) jednoduše udělat, tak to umí třeba ImageMagick.

convert r.png g.png b.png a.png -channel RGBA -combine comb.png
gna
.NET › Použití ternárního výrazu
15. 12. 2021   #389250

#32 hlucheucho
Aha, je to tam. U mě ten komentář není vidět celý a celkově jsem mu nevěnoval pozornost :)

gna
.NET › Použití ternárního výrazu
15. 12. 2021   #389247

A kdyby někoho zajímalo v čem je problém, tak nejdřív přiřazuje do nazevPohlavi a pak do nazevPohlaviq, ale v obou případe vypisuje nazevPohlavi.

Ale hlavně, že jste si popovídali :-D

gna
Java › Kod prvocisla
12. 12. 2021   #389136

To je otázka, co je moc složité. Jednodušší řešení máš tady nahoře, ale to tvoje bych řekl, že je přímočaré řešení bez překvápek a v tomhle smyslu u mě vpoho.

Akorát u toho nulovacího cyklu je trochu nesmysl ty násobky "hledat", když můžeš jít přímo po nich. Ale to je jen drobnost.

for (int j = i + i; j < p.length; j += i)
    p[j] = 0;
gna
C / C++ › Výpočet diskirminantu a koře…
12. 12. 2021   #389132

   

double odmocninadis = Math.Sqrt(dis);
gna
Pascal › Základní numerická metoda
10. 12. 2021   #389125

Chceš projít hodnoty od X do Y a při tom testovat, jestli je hodnota "poblíž" řešení.

procedure hledej(X, Y, presnost: real);
var
    X2: real;
begin
    while X < Y do
    begin
        X2 := X + presnost;
        if (F(X) * F(X2)) <= 0 then
            writeln((X + X2) / 2);
        X := X2;
    end;
end;
gna
Pascal › Základní numerická metoda
7. 12. 2021   #389115

Já bych řekl, že lineární rovnice má jen jeden kořen.

Ale budiž, toto ti teda najde první vyhovující hodnotu a když chceš hledat dál, tak tu funkci prostě zavolej znova s upraveným intervalem.

gna
Visual Basic › Modul VBA
6. 12. 2021   #389111

Je dost možné, že prostě nejde mít obsluhu údálostí v jiném modulu než v tom modulu svázaném s formulářem.

Svoje funkce můžeš volat stejně jako všechny ostatní. Pokud nejsou globální, tak před ně ještě napíšeš jméno modulu.

MojeFunkce
MojeFunkce parametr
MujModul.MojeFunkce parametr
...
gna
Visual Basic › v makru : countifs vyhazuje…
6. 12. 2021   #389110

Místo Range jsem napsal X. Parametr Evaluate je string. Proč nemáš nějaké proměnné definované nepoznám. Mně to připadá, že tu syntaxi jen hádáš.

Dej si do nějaké buňky tu funkci, podívej se co pak je ve .Formula a dělej to stejně. Hotovo.

gna
Python › problem s cyklem while
6. 12. 2021   #389106

Jo, a takhle samozřejmě vždycky doběhnout ty sleepy s původní hodnotou. Jestli chceš nějak reagovat na ty změny hned, tak můžeš místo sleepu zkusit třeba threading.Event jako "přerušitelný sleep".

gna
Python › problem s cyklem while
6. 12. 2021   #389105

Ten modul keyboard umožňuje definovat "hooky", které se spouští při nějaké události a běží v samostatném vlákně. Takže třeba nějak takhle:

doba_sviceni = 4
doba_zhasnuti = 6

def on_press(event):
    global doba_zhasnuti

    if event.name == "+":
        doba_zhasnuti += 1
    elif event.name == "-":
        doba_zhasnuti -= 1

keyboard.on_press(on_press)

while True:
    rozsvitit()
    time.sleep(doba_sviceni)
    zhasnout()
    time.sleep(doba_zhasnuti)
gna
Visual Basic › v makru : countifs vyhazuje…
6. 12. 2021   #389103

Excelovská funkce přece na první pohled není příkaz VBA.

Jestli chceš tu funkci vyhodnotit, tak by mělo jít toto:

X.Value = Application.Evaluate("COUNTIFS(A5:A15;""Poslat"")")

A jestli chceš té buňce nastavit funkci tak toto:

X.Formula = "COUNTIFS(A5:A15;""Poslat"")"
gna
CSS › Nefunguje příkaz "IDCLIP:hov…
5. 12. 2021   #389095

#1 Montezo
Před IDCLIP:hover ti chybí tečka.

gna
CSS › Nefunguje příkaz "IDCLIP:hov…
5. 12. 2021   #389094

#2 JerryM
Zase nevíš, co meleš.

gna
Visual Basic › VBA v excelu-chybí v toolbox…
5. 12. 2021   #389092

1. Tak si nějaký pěkný mail napiš a pak se podívej na jeho zdroj. Když chceš pěkné formátování, tak ho musíš definovat.

2. Jestli to máš jako .HTMLBody = "x" a pak .Display, tak když to uděláš v opačném pořadí, tak by to mohlo přesmahnout to, co ti tam Outlook automaticky vložil, ale nevím. Kdybys chtěl zkoušet to vytvoření z jiné šablony, tak na to je metoda CreateItemFromTemplate.

Nemám to na čem vyzkoušet, tak konkrétněji poradit nedokážu. Možná dorazí ještě někdo jiný.

gna
JavaScript, AJAX, jQuery › GitHub - spustitelný "hostin…
5. 12. 2021   #389089

Ne, jen to nahraješ do repozitáře user.github.io a na adrese user.github.io je pak dostupný obsah toho repozitáře. Není to úplně "live", nějak se to na pozadí kopíruje, tak to nemusí být hned, ale dělá se to "samo".

gna
JavaScript, AJAX, jQuery › GitHub - spustitelný "hostin…
5. 12. 2021   #389087
gna
PHP › Úprava php objednávkového fo…
5. 12. 2021   #389086

#7 remmidemmi
Mně ten původní požadavek trošilinku, fakt jen malinko, připadá, že Vašek chce nasadit antispam u sebe. Na co mu tohle jako bude?!

gna
Visual Basic › VBA v excelu-chybí v toolbox…
5. 12. 2021   #389082

Application.Run by mělo fungovat, ale bez toho rovnítka.

Application.Run TEST

Přepínání mezi formuláři můžeš udělat skrýváním a zobrazováním. 

Me.Hide
X.Show

Ale praktičtější bude použít třeba MultiPage control a nastavováním jeho .Value určuješ, která page bude viditelná (a ve stylech jde nastavit, aby se v záhlaví nezobrazovaly ty záložky, pokud je nechceš)

gna
CSS › Nefunguje .css
4. 12. 2021   #389079

   

h2 {
    .barvaq
    {

"Čisté" CSS takové zanořování neumožňuje. Pokud používáš nějaký preprocessor, tak to může být syntakticky správně, ale pak se ta definice týká tagu H2 zatímco v tom HTML to máš v P.

gna
Visual Basic › VBA v excelu-chybí v toolbox…
4. 12. 2021   #389076

Tipuju, že by mohlo jít nějak jednoduše přepnout mezi základní a rozšířenou nabídkou, ale netuším jak.

Ale když v oblasti těch ikon klikneš pravým tlačítkem, tak by mělo jít ručně vybrat kontrolky, které v té nabídce chceš mít.

gna
Python › Python Flask prázdna stránka
3. 12. 2021   #389072

To není nic speciálního, je to "normální" for-in něco.

A to něco je ve formě A or B (výsledek výrazu je A, pokud toto není prázdné, a jinak B)

A to B je list [] (podobně jako [1, 2, 3]) a v něm je jeden prázdný dict {} (podobně jako třeba {"jmeno": "Josef", "email": "pepik@example.com"}).

gna
Python › Python Flask prázdna stránka
1. 12. 2021   #389061

Už před před renderováním můžeš c_data naplnit tak, aby tam vždycky něco bylo. Pokud to chceš řešit v šabloně, tak podobně jako v kódu.

Můžeš třeba tu kolekci ve foru definovat ORem (ne nutně s prázdným dictem, jde jen o princip): 

{% for c_item in c_data or [{}] %}
  ...
{% endfor %}

Nebo explicitně testovat, jestli tam něco je: 

{% if not c_data %}
  ...
{% else %}
  {% for c_item in c_data %}
    ...
  {% endfor %}
{% endif %}

A tak dál.

gna
Visual Basic › zápis NEBO, a jiné další pod…
29. 11. 2021   #389055
gna
Visual Basic › Změna adresy buňky
29. 11. 2021   #389054

Existuje obecnější Simple MAPI, které je podporované Outlookem a snad i Thunderbirdem, u ostatních klientů netuším. Ale asi pro to není objekt přímo ve VBA a je potřeba "ručně" importovat DLLku. Třeba tady jsem něco našel, ale nevím, jestli ti to pomůže - http://www.vbaexpress.com/kb/getarticle.php?kb_id=311

Pokud nepotřebuješ ten mail mít v klientu a stačí ti ho prostě nějak odeslat, tak by mohlo být použitelné CDO - https://stackoverflow.com/a/44436577

gna
Visual Basic › Změna adresy buňky
28. 11. 2021   #389045

Parametry Cells (resp. Item) jsou asi naopak (řádek, sloupec)

gna
Visual Basic › Změna adresy buňky
28. 11. 2021   #389044

Ano, můžeš to hodit do cyklu a tu adresu "dynamicky vyrobit"

Range("g" & i)

Nebo rovnou použít něco, co bere čísla.

Cells(7, i)
gna
JavaScript, AJAX, jQuery › C# API pole obrázků do JS
23. 11. 2021   #389025

Máš tam console.log, tak vidíš, co ti v té odpovědi přichází. Zjevně je to objekt a ten do img.src prostě nedáš. Tak holt to při příjmu zpracuj podle toho, jak to formátuješ při odesílání.

gna
JavaScript, AJAX, jQuery › "Neinteraktivní" přepínač.
20. 11. 2021   #389022

Používej nějaký programátorský editor se zvýrazňováním syntaxe a automatickým odsazovaním. Pak by mělo být vidět, že ten kód nemáš v tagu skript, máš tam blbě závorky a uprostřed slov máš jakési neviditelné znaky (alespoň tedy v tom textu tady, nevím jak v originále).

gna
JavaScript, AJAX, jQuery › Externí .js soubor.
20. 11. 2021   #389021

 Ten skript se spouští před definicí elementu body, takže document.body a pak parametr rodic je null.

editor-tabulek.sj:82:vytvorTlacitkoAVlozHo("Přidat ř. nahoru", document.body).onclick = pridejRadekNahoru;

editor-tabulek.sj:32:function vytvorTlacitkoAVlozHo(popisek, rodic) {
editor-tabulek.sj:33:    let btn = document.createElement("button");
editor-tabulek.sj:34:    btn.textContent = popisek;
editor-tabulek.sj:35:    rodic.appendChild(btn);
gna
JavaScript, AJAX, jQuery › Chybová hláška
20. 11. 2021   #389020

Asi tam nějaký odkaz je, jinak by to prostě neřvalo.

gna
JavaScript, AJAX, jQuery › Callback v javascriptu...?
19. 11. 2021   #389014

Duplicita znamená zdvojení/opakování. Nic okatého tam nevidím. A callback je když nějaké funkci předáš jinou funkci, která se pak zavolá. Klasicky třeba s [].forEach. Nic takového tam nemáš, tak se v tom nemůžeš ztrácet ;-)

Takže text se zkrátí jen pokud je aspoň o 6 znaků delší než je uvedená délka. Při zkracování se vezme o 3 znaky méně, protože se pak přidají 3 tečky.

To je věc, kterou když nepochopíš, tak si ji prostě přečteš znova a neběžíš s tím na fórum.

gna
Python › Šifra ADFG(V)X
19. 11. 2021   #389013

Když v tom cyklu používáš i a j jako indexy do tabulky, tak pak radek a sloupec je to i a j. A pro zjištění kódu k nim nebudeš nic přičítat, ale zase je použiješ jen jako indexy. 

for i in range(0, len(Sifrovaci_Tabulka)):
    for j in range(0, len(Sifrovaci_Tabulka[i])):
        if hledanyZnak == Sifrovaci_Tabulka[i][j]:
            kr = Verze5[i]
            ks = Verze5[j]
            ZasifrovanyZnak = kr + ks

A možná to vyhoď do funkce a ještě bych ti poradil funkci zip na spojení dvou kolekcí. 

def enc(tabulka, znak):
    """C => RS"""
    for kr, radek_tabulky in zip("ADFGX", tabulka):
        for ks, znak_radku in zip("ADFGX", radek_tabulky):
            if znak_radku == znak:
                return kr + ks
    raise ValueError("Neznamy znak!")


def dec(tabulka, kod):
    """RS => C"""
    for kr, radek_tabulky in zip("ADFGX", tabulka):
        for ks, znak_radku in zip("ADFGX", radek_tabulky):
            if kr + ks == kod:
                return znak_radku
    raise ValueError("Neznamy kod!")
gna
Pascal › Lazarus linux myDate
14. 11. 2021   #388986

Já jsem čekal, že to třeba vrací čas v UTC a s clocale to aplikuje místní časovou zónu.

Ale když to zkusím u sebe (na desktopu, nemám malinu), tak Now vrací správný místní čas a přidání clocale jen změní názvy dnů na české.

Tak nevím, není možné, že to třeba spouštíš moc brzy, než se synchronizuje systémový čas a související info? Pokud se info o časové zóně a letním/zimním času změní za běhu programu, tak to FPC nezachytí (jde to aktualizovat funkcí ReReadLocalTime z unity unix).

gna
.NET › Jak udělat šachy.
13. 11. 2021   #388975

Potřebuješ nějak reprezentovat tu šachovnici. Ideálně asi jako dourozměrné pole a to je v principu celé.

Každá hodnota pak reprezentuje nějakou figuru nebo prázdné políčko. A nad tím pak postavíš pravidla hry. Kdo na daném políčku stojí, jak se může pohybovat, co mu stojí v cestě, jestli tím tahem něco sebere.

Je to jen práce s hodnotami v poli.

gna
Python › Řazení slov na styl slovního…
13. 11. 2021   #388974

#16 JerryM
Tady jde o to, ře se řešení dá najít jen vyzkoušením všech navazujících kombinací (v nejhorším případě) bez možnosti optimalizace. To v jaké struktuře bude mít ta slova je úplně šumák.

Tak si zastrč bimbase a běž zazimovat zahradu nebo něco jiného užitečného.

gna
Python › Řazení slov na styl slovního…
12. 11. 2021   #388970

Jasně, způsob uložení těch slov je to, v čem je tady problém...

gna
Python › Řazení slov na styl slovního…
11. 11. 2021   #388960

Já v tom vidím cyklický graf a takové úlohy nejde řešit rychle. 100 000 slov nestihneš před vyhynutím lidstva.

Nejsou tam ještě nějaká "optimalizující" omezení?

gna
Pascal › Lazarus linux myDate
10. 11. 2021   #388955
gna
MySQL › Mysql a timestamp
10. 11. 2021   #388954

Je to unixový timestamp a na tom odkazu od HU jsou dvě funkce -- FROM_UNIXTIME a UNIX_TIMESTAMP -- kterými si můžeš hodnoty zkonvertovat a pak libovolně porovnávat.

gna
Python › Řazení slov na styl slovního…
9. 11. 2021   #388946

Podle toho, co s tím chceš dělat. Můžeš si to třeba rozhodit do mapy:

slovnik = {
    "ak": ["akat", "akvarium", ...],
    "ba": ["babicka", "babovka", ...],
    ...
}
import random
import urllib.request


def main():
    with urllib.request.urlopen("https://pastebin.com/raw/7uPetKWh") as f:
        slova = f.read().decode().splitlines()

    # >>>
    slovnik = {}
    for slovo in slova:
        slovnik.setdefault(slovo[:2], []).append(slovo)
    # <<<

    def dalsi(slovo=None):
        key = random.choice(list(slovnik.keys())) if not slovo else slovo[-2:]
        moznosti = slovnik.get(key)
        return moznosti.pop() if moznosti else None

    for _ in range(10):
        slovo = dalsi()
        while slovo:
            print(slovo, end=" ")
            slovo = dalsi(slovo)
        print("<konec>")


if __name__ == "__main__":
    main()
gna
Pascal › Četnost zadaných slov - Typ…
7. 11. 2021   #388940

Nemužeš dostat úkol na něco, co vůbec neznáš. Napiš, co máš a co konrétně nevíš.

Budeš třeba mít záznam (record) se slovem a počtem výskytů. A pole těchhle záznamů.

Projdeš zdanou větu po slovech. Třeba hledáním mezery.

Pro každé slovo zjistíš jestli ho máš v poli. Pokud ne, tak ho přidáš. A nalezenému/přidanému záznamu pak navýšíš počet výskytů.

gna
Pascal › Součet dvou binárních čísel
7. 11. 2021   #388939

Protože počítáš ve dvojkové soustavě. Zbytek po dělení 2 je 0 nebo 1.

Zkus si ten součet představit binárně: 

div --, ,-- mod
      | |
      V V
   0: 0 0
   1: 0 1
   2: 1 0
   3: 1 1

Jestli tomuhle nerozumíš, tak si to napiš po svém, na tom nesejde.

 

 

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