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

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

 

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

gna
JavaScript, AJAX, jQuery › soubor js dotaz
před 23 hodinami   #384619

   

$args = ['start', 'end', 'width', 'height', 'zoom'];
$args = array_map(function($arg) {
    return isset($_GET[$arg]) ? "--$arg " . escapeshellarg($_GET[$arg]) : '';
}, $args);

$command = 'rrdtool graph - ' . join(' ', $args)
         . ' DEF:blabla a dalsi'
         . ' parametry jak chces';
passthru($command);
gna
JavaScript, AJAX, jQuery › soubor js dotaz
před 23 hodinami   #384618

Vždyť je tot am popsané. Jen to tahá obrázky ze serveru.

Takže do img dáš místo graphA třeba rrdgen.php:

data-src-template="rrdgen.php?width={{width}}&height={{height}}&start={{start}}&end={{end}}&zoom={{zoom}}&rand={{random}}"

A v něm třeba budeš generovat ty grafy.

gna
C / C++ › Přetěžévání operátorů
Včera   #384600

Mně se to nepodařilo navodit (starý gcc/clang), ale tipuju, že to po tobě chce operator int, protože jako jediný použitelný konstruktor vidí ten pro int.

U toho kopírovacícho kontruktoru deklaruj tu referenci jako const.

gna
Python › Indexovaná proměnná v Pythonu
10. 11. 2019   #384592

#11 Kit
Já jsem to právě asi 3 minuty různě přejmenovával, až jsem se na to vykašlal :))

gna
Python › Indexovaná proměnná v Pythonu
10. 11. 2019   #384589

   

obraty = [
    [1, 2, 3, 4],  # prodejna 0
    [5, 6, 7],     # prodejna 1
    #...
]

sumy = [sum(o) for o in obraty]

for i, suma in enumerate(sumy):
    print("SUMA{} = {}".format(i + 1, suma))
gna
Python › Indexovaná proměnná v Pythonu
10. 11. 2019   #384588

Na to se právě hodí to pole, místo samostatných proměnných. K hodnotám se pak přistupuje přes [index] pro zápis i čtení.

suma = [0] * 10

suma[0] = 1 + 2
# ...
suma[5] = 3 + 4

for i in range(10):
    print(i, "=", suma[i])
gna
Python › Indexovaná proměnná v Pythonu
10. 11. 2019   #384584

#5 Tom
Ukaž celé zadání, tohle je nesmysl.

gna
Python › Indexovaná proměnná v Pythonu
10. 11. 2019   #384580

   

for i in range(1, 11):
    suma[i] = 0

Tipuju, že je to pascalovské pole indexované od 1. Bacha na to, že v Pythonu se indexuje od 0.

gna
PHP › URL se samo deformuje
7. 11. 2019   #384541

Tak jsi na to přišel sám, ale místo nahrazování mezer, bych doporučil něco jako urlencode nebo http_build_query, které ošetří všechno.

gna
MySQL › Mysql opačná hodnota při upd…
5. 11. 2019   #384526

Mně asi něco uniká, ale toto 

set Tabulka1.A= Tabulka2.B
where Tabulka2.B= 1

snad dělá toto 

set Tabulka1.A= 1
where Tabulka2.B= 1

A místo 1 to teda chceš nastavit na 0 ? Tak to asi nevykoumáme...

gna
JavaScript, AJAX, jQuery › soubor js dotaz
4. 11. 2019   #384517

   

...
lcdVisible: true,
lcdDecimals: 1
gna
JavaScript, AJAX, jQuery › soubor js dotaz
2. 11. 2019   #384493

   

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <title>Canvas Steel</title>
    <script>
        function init() {

            // Define value gradient for bargraph
            var valGrad = new steelseries.gradientWrapper(0,
                100, [0, 0.33, 0.66, 0.85, 1], [new steelseries.rgbaColor(0, 0, 200, 1),
                    new steelseries.rgbaColor(0, 200, 0, 1),
                    new steelseries.rgbaColor(200, 200, 0, 1),
                    new steelseries.rgbaColor(200, 0, 0, 1),
                    new steelseries.rgbaColor(200, 0, 0, 1)
                ]);

            linear7 = new steelseries.Linear('canvasLinear7', {
                width: 140,
                height: 320,
                gaugeType: steelseries.GaugeType.TYPE2,
                titleString: "Thermometer",
                unitString: "Unit",
                threshold: 21,
                lcdVisible: true
            });

            nactiKotel(linear7);
            setInterval(function() {
                nactiKotel(linear7);
            }, 1000);

        }

        function nactiKotel(gauge) {
            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    var teplota = parseInt(this.responseText); // to mozna neni potreba
                    gauge.setValueAnimated(teplota);
                }
            };
            xhttp.open("GET", "shm/teplota_kotel", true);
            xhttp.send();
        }
    </script>
    <script src="tween-min.js"></script>
    <script src="steelseries-min.js"></script>

</head>

<body onload="init()" style="background-color:#84a5ed">
    <canvas id="canvasLinear7" width="140" height="320"></canvas>
</body>

</html>
gna
JavaScript, AJAX, jQuery › soubor js dotaz
2. 11. 2019   #384491

Tak na tom odkazu je vedle tween-min.js i tween.js. Hádej co v něm je.

A pro tuhle úpravu ho vůbec nepotřebuješ číst. Prostě místo náhodné hodnoty nastav tu svoji načtenou.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
2. 11. 2019   #384489

Podle názvu bych tipnul, že je to tween.js, takže nic přeformátovávat nemusíš.

Jinak programátosrké editory mívají funkci pro automatické formátování. A existují i online formátovače, hledej formatter, prettyfier, beautifier.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
2. 11. 2019   #384487

#1 Borisek
Interpretr nepotřebuje, aby byl zdroják pěkně formátovaný. Pro zrychlení přenosu a zpracování se skripty často minifikují. Takže typicky existuje čitelná verze kódu, na které se pracuje, a z ní se generuje zhuštěná verze, která se distribuuje.

gna
PHP › TCPDF a SVG obrázok
28. 10. 2019   #384476

#25 juraj175
Takové jaké si je uděláš. Třeba je můžeš po každém obrázku posunovat.

$x = startx;
$y = starty;
while ...
	image(... $x, $y, ...);
	$x += posunx;
	$y += posuny;

https://www.php.net/manual/en/index.php

gna
C / C++ › Pozice v textu
28. 10. 2019   #384474

   

char kde[] = "blablabla";
char co[] = "la";

char *p = kde;
while ((p = strstr(p, co)) != NULL) {
	printf("%d\n", (int) (p - kde));
	p += strlen(co);
}
gna
PHP › TCPDF a SVG obrázok
28. 10. 2019   #384473

#23 juraj175 

$x=215, $y=30

To budou souřadnice, kam se má ten obrázek umístit, ne? :)

gna
C / C++ › Pozice v textu
28. 10. 2019   #384469

#5 Pavel
To druhé bude úplně stejně jako to první. Prostě po prvním budeš pokračovat.

gna
PHP › TCPDF a SVG obrázok
28. 10. 2019   #384468

#21 juraj175
Pravděpodobně jsou tam všechny, ale na jedné stránce a na stejných souřadnicích, takže se překrývají.

gna
Visual Basic › hWnd - kurzor v textboxu
27. 10. 2019   #384461

Focus nedostává form, ale ten textbox. Na něm ohandluj Got/LostFocus.

gna
PHP › TCPDF a SVG obrázok
25. 10. 2019   #384440

SVG jde vložit funkcí ImageSVG, ale to má stejný efekt jako img v html.

Problém je v tom, že TCPDF nepodporuje tag symbol. Pokud ten generátor umožňuje vybrat verzi, tak zkus SVG 1.0. Jinak můžeš to SVG nejjednodušeji (prasácky) upravit přehozením atributu id ze symbol do toho vnořeného path.

gna
Python › Python-parametricky tvar rov…
21. 10. 2019   #384419

   

'x={}t+{}'.format(2, 3)
gna
Pascal › Lazarus ImageList vice rozli…
21. 10. 2019   #384418

Máš Lazarus 1.9 nebo novější?

gna
PHP › Generovať word dokument do php
18. 10. 2019   #384410

1. Mildly infuriating... Máš tam mime type pro DOCX, příponu OTT a dokument je HTML.

2. Mně se to při "externím" otevření zobrazí normálně a při dalším otevření z historie jako pro web. Vypadá to, že jakmile LO ví, že je to HTML, tak použije zobrazení Web.

3. Prostě si to přepni v menu Zobraziť :)

gna
Python › Python-POMOC
15. 10. 2019   #384398

#18 naxos18
Založ na to samostatné vlákno.

gna
PHP › Zapis .htaccess
30. 9. 2019   #384355

Indexes způsobuje, že při přístupu k adresáří, ve kterém není index.php (nebo index.html, nebo cokoliv je nastavené jako Index), se vypíše seznam souborů.

MultiViews způsobuje, že při přístupu k neexistujícímu souboru se naservíruje jiný soubor s podobným název, pokud existuje (zjednodušeně řečeno).

Je otázka, co se pokoušíš rozchodit a jak moc potřebuješ tyto direktivy vypnout, ale obecně by to aplikaci nemělo znefunkčnit.

Takže jestli stojíš na tom, že ti web nechodí kvůli nepovoleným direktivám, tak je můžeš prostě smazat.

gna
PHP › Znaková sada, funkce mail()
26. 9. 2019   #384340

Mezi hlavičkami nemáš odřádkování. Předmět je součástí hlaviček a kódování se uvádí samostatně, resp. v jeho obsahu. Pro PHP je spousta knihoven, které umí správně naformátovat email, tak některou použij.

gna
Visual Basic › Smazat text s listboxu ,kter…
26. 9. 2019   #384339

#13 krpik
Všimni si, jak jsem napsal Add mezi testy otevírací a uzavírací značky, právě proto aby ten příznak pokryl i uzavírací řádek.

Pokud ty značky můžou být uprostřed textu, tak odmažeš jen část od/do pozice, kterou ti vrátí indexOf.

Ale je to zbytečně složité. Prostě ten soubor nenačítej po řádcích, ale načti ho celý a vymaž ty komentáře jednoduchým Regexem.

Ideální by samozřejmě bylo požít nějaký pořádný X(HT)ML parser.

gna
Java › Učebnica programovania pre z…
10. 9. 2019   #384246

TIJ se docela dlouho překládala do Slovenštiny - http://groups.yahoo.com/group/tij2sk/ .

Netuším v jakém je to stavu, protože se mi tam nechce registrovat, ale můžeš to zkusit.

gna
Visual Basic › Smazat text s listboxu ,kter…
10. 9. 2019   #384236

Protože každá Item je jen jeden řádek. Takže můžeš použít to procházení s pamatováním stavu, nebo to nahrazení udělej na kompletním textu. Nějak nevidím důvod proč zobrazovat soubor v listboxu.

gna
Python › Tkinter spuštění průzkumníku…
10. 9. 2019   #384235

Bohužel k tomuhle není pořádná dokumentace, takže když předem nevíš co hledat, tak se to hledá špatně :)

from tkinter.filedialog import askopenfilename

fname = askopenfilename(filetypes=(('Image files', ('*.jpg', '*.png')),
                                   ('All files', '*.*')))
if fname:
    print('Vybrany soubor:', fname)
gna
Visual Basic › Smazat text s listboxu ,kter…
9. 9. 2019   #384232

   

Dim items = {"AA","<!-- BB -->","CC","<!-- DD","DD","DD -->","EE"}
Dim fixed As New List(Of String)
Dim skip As Boolean = False
For Each item As String In items
    If item.StartsWith("<!--") Then skip =True
    If Not Skip Then fixed.Add(item)
    If item.EndsWith("-->") Then skip = False
Next
Dim data = "AA<!-- BB -->CC<!-- DD -->EE"
Dim fixed = Regex.Replace(data, "<!-- .*? -->", "", RegexOptions.Singleline)
gna
.NET › C# Diakritika v listboxu
7. 9. 2019   #384226

Druhý paramater ReadAllLines určuje kódování souboru. Zkusil bych Encoding.UTF8, nebo Encoding.GetEncoding(1250).

gna
Python › Jak použít příkaz return??
4. 9. 2019   #384209

To je teda obdoba toho, co dostáváš teď. To je špatně, pokud rubbish má být mezi znaky, ne za každým z nich (včetně posledního).

"Správné" řešení je asi toto:

def dummy(text, rubbish):
    return rubbish.join(text)
gna
Python › Jak použít příkaz return??
4. 9. 2019   #384208

   

def dummy(text, rubbish):
    vysledek = ''
    for znak in text:
        vysledek += znak + rubbish
    return vysledek
gna
Java › Jak se v Jave resi Consumer…
29. 8. 2019   #384186

#4 verejneuzitecnysw
abych ten Producer-Consumer Scheduler nevynalezal znovu, a na kolene

Ten jeden for nebo if, ve kterém vytvoříš vlákno? :))

Jinak takové věci samozřejmě Java umí.

gna
C / C++ › Práce s hodnotou čas
23. 8. 2019   #384167

#7 VasekTrain CZ
Aktuální čas znamená co? 12:36 je co? Ten čas nějak získáš a je v nějakém formátu. Tak ten převeď (pokud je to potřeba) na něco "počítatelného". K čemu ti bude 1236 je mi záhadou.

gna
Python › Úloha python ako na to
22. 8. 2019   #384144

Napiš zadavateli, ať najme někoho, kdo to umí.

gna
C / C++ › Práce s hodnotou čas
22. 8. 2019   #384143

#1 VasekTrain CZ
Tak jednotlivé složky převedeš na společnou jednotku, ne?

// hh:mm:ss => secs
int hh = 0, mm = 40, ss = 10;
int secs = (hh * 60 * 60) + (mm * 60) + ss;

printf("%02d:%02d:%02d %d\n", hh, mm, ss, secs);

secs *= 2;

// secs => hh:mm:ss
int xx = secs;
ss = xx % 60; xx /= 60;
mm = xx % 60; xx /= 60;
hh = xx;
printf("%02d:%02d:%02d %d\n", hh, mm, ss, secs);
gna
Python › Python scipy interpolace
21. 8. 2019   #384139

   

import matplotlib.pyplot as plt
from scipy.optimize import curve_fit


def func(x, a, b):
    return a * b**x


x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [30, 22, 4, 40, 20, 51, 97, 143, 273, 535]

fit, _ = curve_fit(func, x, y)
y2 = [func(i, *fit) for i in x]

plt.title(str(fit))
plt.plot(x, y, 'ro')
plt.plot(x, y2, 'g')
plt.show()

Připojen obrázek.

gna
C / C++ › Nemožnost zavření programu k…
21. 8. 2019   #384138

U GUI aplikací můžeš odchytit zprávu WM_CLOSE a prostě ji ignorovat.

U konzolových aplikací můžeš před ukončením spustit funkci:
SetConsoleCtrlHandler, HandlerRoutine

Ani jedno z toho nezmožní aplikaci sestřelit tak, aby na to nemohla zareagovat. (Některé viry používají několik procesů, které se navzájem hlídají a restartují.)

Jestli se pokoušíš o cosi jako informační kiosek, tak na to je systémové řešení:
Set up a single-app kiosk

gna
C / C++ › Zapnutí a vypnutí počítače
16. 8. 2019   #384128

#6 VasekTrain CZ 

C:\Users\<uživatel>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp # pro všechny uživatele

A spouští se to po přihlášení.

gna
C / C++ › Odesláni emailu
13. 8. 2019   #384111

#1 VasekTrain CZ
Mail se posílá tak, že se program připojí k SMTP serveru a určitým protokolem v určitém formátu předá tu zprávu.

Určitě na to bude existovat nějaká pěkná knihovna, abys to nemusel matlat sám, ale vzhledem k tomu, že jsi s C/C++ v úplných začátcích, tak pro tebe asi bude lepší přejít na C#, který má (resp. .NET) spoustu pokročilých věcí už v "základní výbavě". Konkrétně na ten mail má třídu SmtpClient.

gna
C / C++ › Zapnutí a vypnutí počítače
13. 8. 2019   #384110

#4 VasekTrain CZ
Nejjednodušší způsob je zkopírovat ho (nebo vytvořit zástupce) do složky "Po Spuštění"

gna
Java › Hledám: Dodělání nástavby pr…
3. 8. 2019   #384072

#3 remmidemmi
Existuje jakási účtenková loterie. Má to být motivace, aby si lidi brali účtenky. A ty účtenky jde zaregistrovat ručním opisováním údajů, nebo načtením QR kódu.

gna
Java › Hledám: Dodělání nástavby pr…
3. 8. 2019   #384065

Existuje oficiální knihovna pro Python.

https://www.etrzby.cz/cs/oznameni-pro-vyvojare
https://www.etrzby.cz/…t_testqr.zip

Třeba takovýmto programem můžeš jednoduše předat parametry z příkazového řádku té knihovní funkci: 

import sys
import lib
from qrcode import QRCode
from qrcode.constants import ERROR_CORRECT_H
from qrcode.image.svg import SvgPathImage

from qr import EetQR, Eet

if __name__ == '__main__':
    data = {}
    filename = None

    for key, val in (a.split('=', 1) for a in sys.argv[1:]):
        if key.lower() == 'file':
            filename = val
        else:
            key = getattr(Eet, 'EET_' + key.upper())
            data[key] = val

    qr = EetQR(QRCode(error_correction=ERROR_CORRECT_H, image_factory=SvgPathImage))

    img = qr.create(**data)
    with open(filename, 'wb') as img_file:
        img.save(img_file, 'SVG')

A hotovo:

python3 makeqr.py dic=CZ7900110063 rcpt_date=2017-05-06T14:01:10+02:00 total=34113.00 mode=0 bkp=6455B192-D697186A-6AB1971A-1E9B146B-CDD5007B file=test.svg
gna
PHP › Změna textu - Odebrat diakri…
1. 8. 2019   #384061

#13 fix
Kitova verze jsou jen 2 řádky navíc a je to kompletní řešení tvého problému.

iconv na odstranění diakritiky, strtoupper na převod na velká písmena, preg_replace na odstranění nealfanumerických znaků.

Z výsledku je to snad jasné.

gna
MySQL › Prázdny string pre int
30. 7. 2019   #384048

#4 Paja
Problém je, že tam má prázdný string. A kdyby tam měl null, tak se tam místo něj vloží null. To je hodně užitečné.

gna
Visual Basic › Více delete pro button
27. 7. 2019   #384038

Jaké skripty prosímtě? :) A jakou chybu ti to píše?

Stejně jako minule. Buď je ten command znovupoužitelný, tak ho jen upravíš:

cmd.CommandText = "AA"
cmd.ExecuteNonQuery()

cmd.CommandText = "BB"
cmd.ExecuteNonQuery()

Nebo není znovupoužitelný a pro každý příkaz použiješ samostatnou instanci. A ještě bych pro jistotu ty předchozí vždycky úplně zrušil (pomocí Dispose; using je jakoby try-finally-dispose)

Using cmd As New SqlCommand("AA", con)
	cmd.ExecuteNonQuery()
End Using

Using cmd As New SqlCommand("BB", con)
	cmd.ExecuteNonQuery()
End Using

A přejdi na C#. VB je mrtvý.

gna
PHP › štatistika aktivita hodnotit…
25. 7. 2019   #384032

Než tu hromadu ifů, to bych raději použil pole. Teď nejde o to, jak zjistit název měsíce, ale obecně o podobné mapování. 

function mesiac($num) {
    $nazvy = ['jan','feb','mar','apr','máj','jún',
              'júl','aug','sep','okt','nov','dec'];
    $idx = (11 + $num) % 12;
    return $nazvy[$idx];
}

Opakující se kód jde samozřejmě hodit do cyklu.

$curmonth = date('n');
for ($i = 0; $i < 12; $i++)
	echo '<th>' . mesiac($curmonth - $i) . '</th>';

Nad tím SQL se mi nechce přemýšlet (hlavně nad náročností toho, co jsem vyplodil). Nějak nevidím potřebu těch joinů (rozhodně tam nepotřebuješ ještě tabulku vina). Když už to chceš namastit do jednoho řádku, tak bych asi zkusil nějak takhle: 

SELECT name,
       m1, m2, m3 ... m12,
       (m1 + m2 + m3 ... m12) / 12 avg
FROM   users
       LEFT JOIN (SELECT user_id,
                         Sum(Month(datum) = 1) m1,
                         Sum(Month(datum) = 2) m2,
                         Sum(Month(datum) = 3) m3,
                         ...
                  FROM   bodovanie
                  GROUP  BY uid) pocty
              ON pocty.user_id = user_id;
gna
Visual Basic › ukončení načteného scriptu
22. 7. 2019   #384021

Přímou zkušenost s tím nemám a zkoušet se mi to nechce. Vycházím jen z letmého proletění dokumentace a intuice.

Celkově se mi to nějak nezdá. Text datumu dáváš do SQL příkazu přímo a žádné parametry v něm nemáš. A pak do parametrů dáváš Visible, které určuje viditelnost toho prvku na formuláři.

Řekl bych, že by to mělo být spíš nějak takhle: 

... "... datum BETWEEN @STARTDATE and @ENDDATE..."
command.Parameters.AddWithValue("@STARTDATE", StartPicker.Text?)
...

Co se týče toho, že už jsou parametry definované, tak buď můžeš pro nový dotaz vytvořit novou instanci commandu, nebo tomu starému commandu (pokud je znovupoužitelný), který už ty parametry má, jen změnit jejich hodnoty. 

command.Parameters["@STARTDATE"].Value = ...;
...
gna
Python › python program
8. 7. 2019   #383985

První chyba je, že neexistuje proměnná riadok a stlpik. To přece dokážeš opravit.

U prvního inputu víš, že dostaneš řetězec, který potřebuješ rozdělit, ale u druhého čekáš, že se nějak sám načte "obdélník" hodnot? :)

Jinak by to mohlo fungovat.

gna
Python › Python výpis kříže z hashtagů
4. 7. 2019   #383974

Jinak teda, když víš, že jde stringy násobit, tak bych při takovém rozdělení na tři kroky, čekal spíš něco jako toto :)

def cross(n):
    for i in range(n):
        print('.' * n + '#' * n + '.' * n)
    for i in range(n):
        print('#' * 3 * n)
    for i in range(n):
        print('.' * n + '#' * n + '.' * n)
gna
Python › Python výpis kříže z hashtagů
4. 7. 2019   #383973

Ve "for j" nebude v range() -1, zajímá tě jen hodnota "j" a budeš vypisovat jen 1 znak. 

def cross(n):
    for i in range(n):
        for j in range(3*n):
            if n <= j < 2*n:
                print("#", end="")
            else:
                print(".", end="")
        print()
    for i in range(n):
        for j in range(3*n):
            print("#", end="")
        print()
    for i in range(n):
        for j in range(3*n):
            if n <= j < 2*n:
                print("#", end="")
            else:
                print(".", end="")
        print()
gna
JavaScript, AJAX, jQuery › Vycentrování okna nefunguje
18. 6. 2019   #383922

#4 shockwave
Ukaž jak to máš.

gna
JavaScript, AJAX, jQuery › Vycentrování okna nefunguje
18. 6. 2019   #383921

#5 Jerry
Zase si vymýšlíš kraviny.

gna
MySQL › MySQL dotaz
18. 6. 2019   #383916

Zadání a screenshoty. Super.

Napiš co přesně nevíš. Zatím sis nedal práci ani s vybráním tabulek, které k tomu potřebuješ.

gna
JavaScript, AJAX, jQuery › Vycentrování okna nefunguje
17. 6. 2019   #383912

#1 shockwave
Už z toho vytváření je vidět, že objekt window už existuje a asi není dobré pokoušet se ho překrýt vlastním objektem (myslím, že to ani nejde). Pojmenuj svou proměnnou jinak.

Pokoušíš se to okno resizovat před tím, než ho vůbec vytvoříš. (A pracuje se s tím "předdefinovaným" objektem window)

V typu ti chybí V (javascript), takže se to nejspíš ani nespustí.

gna
Offtopic › Jak se vytváří výherní autom…
16. 6. 2019   #383909

#13 remmidemmi
Odrbávání spočívá v tom, že výhernost je menší než 100%, takže dlouhodobě je provozovatel vždycky v plusu. Je to dáno RNG a herním plánem (rozložení symbolů a ohodnocení výherních kombinací). To je celé.

Samozřejmě existují i podvodná kasina a herny, ale obecně v dnešní době v civilizovaných zemích se jakési "dynamické inteligentní" odbrbávání prostě nesmí dělat a nedělá. Není to potřeba.

gna
C / C++ › Sleel v Linuxu?
14. 6. 2019   #383893

   

man 3 sleep
man 7 time
gna
C / C++ › SDL ve wxDev-C++
14. 6. 2019   #383892

Pokud jsi někde měl absolutní cesty, tak se změnou je potřeba je upravit. To snad nepřekvapí.

Co znamená, že problém s ikonou zůstal? Chybový výpis není?

gna
C / C++ › Křižovatka
12. 6. 2019   #383874

Nevím, jak je myšleno to ovládání. Pokud třeba z klávesnice, tak potřebuješ funkci na neblokující čtení kláves. Ve Windows na to můžeš použít _kbhit+_getch.

Pak budeš mít pro každý semafor jeho stav a jak dlouho v něm má být.

Takže jen budeš v cyklu měnit stav semaforů podle toho kolik času uplynulo a zároveň testovat vstup z klávesnice.

gna
Python › format
10. 6. 2019   #383858

#5 Mirko196
Ten assert nemá na funkci žádný vliv.

gna
JavaScript, AJAX, jQuery › Pomoc s opravou kodu
10. 6. 2019   #383857

continue skočí na začátek cyklu. Program se zacyklí, protože se tím přeskočí ta dekrementace hodnoty za tím.

gna
Python › format
10. 6. 2019   #383855

Ten format používáš úplně nesmyslně.

To co jsem ti radil, protože to pro tebe bude nejstravitelnější, je volat jednotlivé funkce explicitně:

seznam_funkci = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512']
vybrana_funkce = input(', '.join(seznam_funkci) + ' => ')
assert vybrana_funkce in seznam_funkci

print('vybral si si:', vybrana_funkce)

if vybrana_funkce == "sha1":
    hash_objekt = hashlib.sha1(data)
elif vybrana_funkce == "sha224":
    hash_objekt = hashlib.sha224(data)
...ostatni...

print(hash_objekt.hexdigest())

To o co se asi snažíš (přístup k funkci dynamicky podle jména) jde udělat přes getattr:

seznam_funkci = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512']
vybrana_funkce = input(', '.join(seznam_funkci) + ' => ')
assert vybrana_funkce in seznam_funkci

print('vybral si si:', vybrana_funkce)

funkce = getattr(hashlib, vybrana_funkce)
hash_objekt = funkce(data)

print(hash_objekt.hexdigest())
gna
Python › format
10. 6. 2019   #383840

Tohle ti funguje:

hash_objekt = hashlib.sha1(b' ')
hash_objekt.hexdigest()

A tohle ne: 

hash_objekt = hashlib
hash_objekt.hexdigest()

Udělej mi radost a napiš, že ten rozdíl vidíš.

O co se celkově snažíš vůbec netuším. 

if funkcia == '1':
    hash_objekt = hashlib.sha1(b' ')
else:
    hash_objekt = hashlib.md5(b' ')

print(hash_objekt.hexdigest())
gna
C / C++ › Potrebujem pomoct s rocnikov…
9. 6. 2019   #383835

A s čím si nevíš rady?

gna
C / C++ › SDL ve wxDev-C++
6. 6. 2019   #383827

Tak jsem to zkusil a funguje mi to i při defaultní instalaci do Program Files. Ten problém s mezerami tam teda je, ale při běžném použití CB mi tam celá cesta se špatně escapovanými mezerami nikde nefiguruje.

Možná tam hraje nějakou roli to, že máš CB32 na Win64 (a Program Files se virtualizuje), to netuším. Já jsem zkoušel 32/32 a to je teda OK.

Každopádně když to nainstaluješ do umístění bez mezer, tak prostě problém s mezerami nebude.

gna
C / C++ › 2D hra, SFML - github repo
6. 6. 2019   #383826

Jestli to chápu správně, tak chceš, aby je git ignoroval. Takže je můžeš uvést v .gitignore nebo .git/info/exclude.

gna
C / C++ › SDL ve wxDev-C++
5. 6. 2019   #383819

To už si děláš prdel.

Program Files (x86)
Program<TADYJEKURVAMEZERA>Files<ATADYDOPRDELEDALŠÍ>(x86)
gna
C / C++ › SDL ve wxDev-C++
5. 6. 2019   #383817

ProgramTADYFilesTADY(x86)

gna
C / C++ › SDL ve wxDev-C++
5. 6. 2019   #383815

gcc: error: Files\: No such file or directory
gcc: error: \(x86\)\CodeBlocks\MinGW\bin: No such file or directory

Tak problém je s mezerami v cestě [Program Files (x86)]

gna
C / C++ › SDL ve wxDev-C++
4. 6. 2019   #383809

Windres prostě má (nebo měl; nevím jak poslední verze) problém s mezerami v cestách. Stejně jako spousta dalších programů. MinGW z toho důvodu nepodporuje instalaci do adresáře s mezerami v cestě. CB na to kašle a dovolí nefunkční instalaci. Nejspíš to půjde nějak obejít, ale je to zbytečné patlání.

Nedovedu si představit, jak by jakýkoliv tvůj projekt mohl záviset na umístění překladače tolik, aby to nešlo opravit. Stejně tak nemožnost použití aktuální verze.

Každopádně resources v .exe jsou editovatelné. Při nejhorším tam tu ikonu můžeš po kompilaci přidat ručně. Resource Hacker, ResEdit, nebo další by to měli umět.

gna
C / C++ › SDL ve wxDev-C++
4. 6. 2019   #383807

JJ, to je ono. Ještě se tam někde dá zapnout logování celých příkazu, ale to tady není potřeba.

Tak problém je s mezerami v cestě [Program Files (x86)]. Nevím, jestli to jde někde poladit, asi bude nejlepší CB úplně přeinstalovat do umístění bez mezer.

gna
C / C++ › SDL ve wxDev-C++
3. 6. 2019   #383805

C::B by neměl vytvářet adresář. Ten strom v projektu je jen rozlišení typu souboru -- jako tam máš Sources a Headers i když fyzicky tam takové adresáře zřejmě nemáš.

Zkusil bych ten .rc soubor fyzicky umístit do adresáře resources, ale myslím, že i tak jak to máš, by to mělo fungovat.

Někde v nastavení překladače jde zapnout logování, tak to zkus zapnout ať je aspoň vidět, co přesně se to pokouší dělat.

gna
C / C++ › SDL ve wxDev-C++
3. 6. 2019   #383803

#23 jozinzbazin
V tom odkazu se jasně píše, že když nechceš automaticky vytvářenou konzoli, tak ten program nekompiluj jako konzolovou aplikaci. Takže změň nastavení projektu a neřeš definy a programové skrývání konzole.

C::B podporuje RC skripty. Normálně do projektu přidej .rc soubor a definuj v něm ikonu.

MAINICON ICON "neco.ico"
gna
C / C++ › SDL ve wxDev-C++
2. 6. 2019   #383798

#18 jozinzbazin
Máš ten projekt nastavený jako konzolovou aplikaci. Tak to v nastavení projektu najdi a změň.

-mwindows není knihovna, ale parametr pro překladač, že jde o okenní aplikaci a při správně nastaveném projektu ho nepotřebuješ přidávat.

gna
.NET › Zapisování do Gridu z vlákna
31. 5. 2019   #383793

Obecně když běží více vláken, tak je potřeba je synchronizovat tak, aby si navzájem neměnila data "pod rukama".

Když chceš z vlákna přistupovat k UI, které je spravováno v jiném vlákně, tak se dá použít právě Control.Invoke, které spustí funkci ve vlákně UI (resp. obecně ve vlákně okna, kterému ta kontrolka patří). A v té funkci (delegátovi) pak normálně uděláš, co potřebuješ.

Před pár dny tady byl dotaz na BackgroundWorker s Gridem. Nebylo to od tebe? Jak tam hlucheucho zmínil, tak BackgroundWorker.ReportProgress ti umožní přesně to samé. Tou dvouparametrovou verzí můžeš "poslat" int a libovolný objekt a v handleru ProgressChanged, který běží v hlavním vlákně, pak ta data můžeš šoupnout do UI.

gna
Python › Python vs C++ argument passing
31. 5. 2019   #383790

Python nemá nic jako statický const a parametry jsou vždy reference (ne v Céčkovském smyslu, někdy se používá pojem call-by-object).

gna
PHP › Odčítání od proměnné nefunguje
30. 5. 2019   #383780

Parametry se funkci předávají hodnotou nebo odkazem. Pokud použiješ odkaz (referenci) deklarovaný pomocí &, tak se změnou hodnoty parametru bude měnit hodnota původní proměnné.

function prohra(&$hp1,$dmg1) {
gna
.NET › ProgressBar
26. 5. 2019   #383771

#6 jerry
To byly jen faktické poznámky.

A zase jsi napsal krávovinu. Ty vždycky píšeš jen krávoviny.

gna
.NET › ProgressBar
26. 5. 2019   #383769

#4 jerry
BackgroundWorker běží na pozadí v samostatném vlákně a UI neblokuje.

Marquee ProgressBar se spouští a zastavuje, ale nekrokuje, protože neindikuje konkrétní pozici.

Application.DoEvents je vždycky špatně. Dá se doporučit jen jako prasácká nouzovka ve stylu "to mu tady zatím stačí". Tady je to nesmysl.

gna
.NET › ProgressBar
25. 5. 2019   #383766

Není možné, že ti prostě ten worker skončí rychle?

gna
Python › Python program
24. 5. 2019   #383764

   

castka = 12589

for platidlo in (5000, ..., 1):
    pocet = castka // platidlo  # celociselne deleni
    castka %= platidlo  # zbytek po celociselnem deleni
    if pocet:
        print(platidlo, pocet, platidlo * pocet)
gna
Java › Premenné - problém
24. 5. 2019   #383761

#3 Ondrej Ruz
Takže máš implementovaný TableModel s getValueAt. Teď jsi přidal isCellEditable vracející true a uložení hodnoty se pak dělá v setValueAt.

gna
Python › pandas to excel bez přepsání…
23. 5. 2019   #383757

To jde taky ovlivnit parametrem té funkce. 

startrow = ...
header = startrow == 0  # hlavicku jen na prvnim radku
to_excel(..., header=header)
gna
Python › pandas to excel bez přepsání…
22. 5. 2019   #383754

Dá se to udělat tak, že ten soubor nejdříve celý načteš a pak při zápisu určíš počáteční řádek.

from openpyxl import load_workbook
...
with pd.ExcelWriter('exekuce.xlsx', engine='openpyxl') as writer: 
    try:
        writer.book = load_workbook('exekuce.xlsx')
        writer.sheets = {ws.title: ws for ws in writer.book.worksheets}
    except FileNotFoundError:
        pass

    sheet_name = 'Nákup'
    startrow = writer.book[sheet_name].max_row if sheet_name in writer.book.sheetnames else 0
    exe_bot.to_excel(writer, sheet_name=sheet_name, startrow=startrow)

    sheet_name = 'Prodej'
    startrow = writer.book[sheet_name].max_row if sheet_name in writer.book.sheetnames else 0
    exe_sld.to_excel(writer, sheet_name=sheet_name, startrow=startrow)

Jestli nemáš openpyxl, tak ho můžeš nainstalovat pipem. 

pip3 install openpyxl
gna
C / C++ › Meno najvyššieho žiaka
22. 5. 2019   #383752

#8 MilanL
Mně to právě připadá, že už teď stringy jako pole charů nechápe a další rozměr by mu zbořil vesmír. Takže pryč s tím, když to není potřeba.

gna
C / C++ › Meno najvyššieho žiaka
21. 5. 2019   #383748

Je to dementně jednoduché. Jestli chápeš originál, tak chápeš i toto. Jestli ne, tak si to někde nastuduj.

gna
C / C++ › Meno najvyššieho žiaka
21. 5. 2019   #383746

   

int main()
{
	int pocet_ziakov = 0, max_vyska = 0;
	char max_meno[100] = "?", max_priezvisko[100] = "?";

	printf("pocet: ");
	if (scanf("%d", &pocet_ziakov) != 1)
		return 1;

	for (int i = 0; i < pocet_ziakov; i++) {
		char meno[100], priezvisko[100];
		int vyska;

		printf("meno: ");
		if (scanf("%99s", meno) != 1)
			return 1;

		printf("priezvisko: ");
		if (scanf("%99s", priezvisko) != 1)
			return 1;

		printf("vyska: ");
		if (scanf("%d", &vyska) != 1)
			return 1;

		// TADY
		if (vyska > max_vyska) {
			max_vyska = vyska;
			strcpy(max_meno, meno);
			strcpy(max_priezvisko, priezvisko);
		}
	}

	printf("%s %s: %d\n", max_meno, max_priezvisko, max_vyska);

	return 0;
}
gna
C / C++ › Meno najvyššieho žiaka
21. 5. 2019   #383745

Tak, jak to děláš s tou výškou.

gna
C / C++ › Meno najvyššieho žiaka
21. 5. 2019   #383743

To, co děláš s výškou, musíš udělat i se jménem. Pamatovat si ho.

A pole se indexují od 0 a nemusíš ty hodnoty ukládat do pole, můžeš to testovat hned při načítání.

gna
Java › Premenné - problém
21. 5. 2019   #383741

Ta chyba znamená přesně to, co se v ní píše. A mělo by v ní být i číslo problémového řádku.

Z toho úryvku není poznat, kde je problém, ale tipl bych, že jde o to přiřazení do mojeSql, což je pravděpodobně proměnná z vnějšího bloku. A pravděpodobně ji nechceš a nepořebuješ měnit, tak prostě deklaruj novou proměnnou, klidně i stejnojmennou.

String mojeSql = "UPDATE...

A takové skládání SQL je špatně. Co když některé z těch polí bude obsahovat něco, co ti ten SQL příkaz rozbije? Třeba ta poznámka asi může obsahovat libovolný text. Používej "prepared statements".

gna
C / C++ › Slovni fotbal
19. 5. 2019   #383727

   

#include <vector>
#include <algorithm>
gna
C / C++ › Slovni fotbal
19. 5. 2019   #383726

Žádné pole tam nemáš. Máš tam jeden string a ano, operátor [] na stringu pracuje s jednotlivými znaky.

A pak do pole nemůžeš takhle přidávat. Musíš nejdříve rezervovat paměť pro potřebný počet prvků. Pole, které automaticky roste je std::vector. A v něm můžeš vyhledávat pomocí std::find. To není ideální, ale je to asi nejjednodušší možnost.

std::string slovo;
std::vector<std::string> seznam_slov;
while (std::cin >> slovo) {
	if (std::find(seznam_slov.begin(), seznam_slov.end(), slovo) != seznam_slov.end()) {
		std::cout << "slovo " << slovo << " uz je v seznamu\n";
	} else {
		std::cout << "slovo " << slovo << " pridam do seznamu\n";
		seznam_slov.push_back(slovo);
	}
}
gna
Python › Python - súbory
18. 5. 2019   #383722

Můžeš si nastavit nějakou proměnnou, kterou nakonec otestuješ.

nasel = False
for ...:
    if OK:
        nasel = True
if not nasel:
   print('nenasel')

Konkrétně v tomhle případě asi můžeš při nalezení jména ten cyklus přerušit, takže můžeš použít konstrukci for-else. Blok else se provede pokud for nebyl přerušen breakem.

for jmeno in f:
    cislo = next(f)
    ...
    if jmeno == hledane_jmeno:
        ...
        break
else:
    print('nenasel')
gna
Python › Python - súbory
18. 5. 2019   #383720

S readline jsem to myslel tak, že na načítání řádků můžeš použít metodu readline.

while True:
    jmeno = f.readline()
    cislo = f.readline()
    if not jmeno or not cislo:
        break  # konec souboru
    ...

Operátorem in můžeš testovat přítomnost prvku v kolekci. Pokud jsou to třeba školní známky a víš, že budou jednociferné, tak přímo jako vyhledání znaku v řetězci (což je prakticky kolekce znaků).

if '2' in '1 2 3':
    print('je tam')

Jinak ten řetězec můžeš rozdělit metodou split na list a v něm zase hledat.

if '1' in '1 10 11'.split():  # in ['1', '10', '11']
    print('je tam')
gna
Python › Python - súbory
18. 5. 2019   #383717

Nerozčiluj se, když někdo napíše jen zadání be zkonkrétního problému, tak to vypadá, že se k problému ani nedostal.

Mohl bys použít nějaké počitadlo pro indikaci, kterou hodnotu čteš, nebo se podívat po jiných způsobech čtení (třeba readline).

Při takové iteraci můžeš použít funkci next pro načtení dalšího řádku. 

with open('soubor.txt', 'r') as f:
    for jmeno in f:
        cislo = next(f)  # muze hodit chybu

        jmeno = jmeno.strip()  # odstranit ukoncovac radku
        cislo = cislo.strip()

        if jmeno == hledane_jmeno:
            print(jmeno)
            print(cislo)
gna
Python › Python - súbory
17. 5. 2019   #383715

Já bych řekl, že ses s tím nelámal ani trošku. S čím přesně si nevíš rady?

 

 

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