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

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

 

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

gna
.NET › dynamicke vkladani control-u
před 6 hodinami   #384768

Vůbec nevím. Budu jen tipovat.

== Control.ID

Dim Control As Control = LoadControl("/" & i.Type & ".ascx")
Dim nControl As IObjectsInterface = CType(Control, IObjectsInterface)
nControl.ID = i.ID

Mělo by se ID nastavit tím Loadem? Je v té šabloně definované?
Nebo tím přířazením? Je v i.ID něco? Určitě se takové přiřazení promítne "nahoru"?

== Dynamic.ID

To je nový objekt, pravděpodobně je ID defaultně prázdné. Tipl bych, že to měl být ten objekt nalezený Findem.

Dim Dynamic As Control = form1.FindControl("Center")
gna
JavaScript, AJAX, jQuery › soubor js dotaz
před 12 hodinami   #384766

#47 Borisek
Ten operátor tečka jen pospojuje ty řetězce. Takže máš ty parametry nalepené jeden za druhým a naopak za těmi rovnítky máš zase nadbytečné mezery.

Takhle by to mohlo fungovat: 

$command = 'rrdtool graph - ' . join(' ', $args)      
         . ' DEF:venku=/media/FlashDisk/databaze_teplota.rrd:AVERAGE'
         . ' DEF:voda=/media/FlashDisk/databaze_teplota.rrd:voda:AVERAGE' 
         . ' DEF:kotel=/media/FlashDisk/databaze_teplota.rrd:kotel:AVERAGE';
header("Content-Type: image/png");
passthru($command);
gna
Regulární výrazy › rozkouskovani html kodu
Včera   #384753

   

<%%|%%>
gna
JavaScript, AJAX, jQuery › soubor js dotaz
Včera   #384748

Já nerozumím tomu, proč pořád uvažuješ o tom, že bys jako adresu obrázku grafu měl databázi rrd.

Představ si, že máš na serveru obrázek graf.png. Když pak "půjdeš" na http://server/graf.png, tak ti server vrátí jeho obsah a uvidíš ten obrázek.

To dělá i ten rrdgraphpng, načte a zobrazí obrázek na zadané adrese (resp. šabloně adresy). Když budeš mít 

data-src-template="graf.png?start={{start}}&amp;end={{end}}&amp;"

a pak v těch ovládacích prvcích vybereš zobrazení posledních 6 měsíců, tak "půjde" na adresu 

server/cesta/graf.png?start=číslo-znamenající-teď-minus-6měsíců&end=číslo-znamenající-teď

Pak ten graf o polovinu posuneš do prava (tedy o 3 měsíce zpět) a ono to "půjde" na adresu

server/cesta/graf.png?start=číslo-znamenající-teď-minus-9měsíců&end=číslo-znamenající-teď-minus-3měsíce

To se samozřejmě nijak neprojeví a pořád uvidíš to samé, protože graf.png je statický obrázek, pro který ty parametry nic neznamenají. Ale je to hotový obrázek, ten rrdgraphpng ho nezpracovává, negeneruje, prostě dostane od serveru obrázek a ukáže ti ho.

"Trik" je pak v tom, že jako adresu obrázku nezadáš statický obrázek, ale skript, který ta obrazová data bude generovat dynamicky podle požadovaných parametrů start/end/atd. A to bude dělat spouštěním rrdtoolu tak jak se ti zlíbí. Hotovo, konec, můžeš si šoupat s grafama :-)

Na tom, kde máš databázi nezáleží. Když ji nechceš mít přístupnou z webu, tak neměj. K ničemu tam není potřeba.

gna
Python › osmisměrka
Včera   #384747

#5 MilanL
To by určitě šlo. Já jsem to narychlo namatlal tak, jak mě to napadalo. "A teď to spojím do stringu... Jo, a ještě budu potřebovat vědět rozměry..."

gna
Python › IDE pro Windows
Včera   #384746

Plugin pro VSCode je špičkový. Pro Sublime ucházející. PyCharm asi bude nejlepší, ale mně se tak nějak hnusí, nevím proč.

gna
Python › osmisměrka
19. 11. 2019   #384728

Já teda úplně nechápu, co v tom cyklu děláš, ale děláš to pokaždé. Připrav si data a pak jen hledej.

Já jsem tady udělal dva stringy v obou směrech a prosvištím je findem. 

def findall(haystack, needle):
    pos = -1
    while True:
        pos = haystack.find(needle, pos + 1)
        if pos == -1:
            break
        yield pos


fname_data, fname_words = input().split()

with open(fname_words) as file:
    words = file.read().lower().split()

with open(fname_data) as file:
    data_rows = file.read().lower().split()
data_cols = zip(*data_rows)

data_rows = '\n'.join(data_rows)
data_cols = '\n'. join((''.join(col) for col in data_cols))
data_width = data_rows.find('\n') + 1
data_height = data_cols.find('\n') + 1

for word in words:
    for pos in findall(data_rows, word):
        x, y = divmod(pos, data_width)
        print(word, x, y, 0)
    for pos in findall(data_cols, word):
        y, x = divmod(pos, data_height)
        print(word, x, y, 1)
gna
Python › osmisměrka
19. 11. 2019   #384726

Ten poslední cyklus otoč

for word...
    for direction...
gna
C / C++ › Funkce na zarovnávání
19. 11. 2019   #384725

Teda pokud jde o jeden řádek.

gna
C / C++ › Funkce na zarovnávání
19. 11. 2019   #384724

memmove umí pracovat s buffery, které se překrývají. Tím můžeš původní text posunout.
memset vyplní buffer zadanou hodnotu. Tim můžeš zbytek vyplnit mezerami, nebo čím potřebuješ.

To se mi zdá nejjednodušší.

gna
.NET › Jak vybrat IP adresu
19. 11. 2019   #384723

Není mi jasné, co potřebuješ udělat, ale můžeš bindovat na 0.0.0.0. Jinak musíš mít samostatný socket pro každý interface.

gna
Flash › ActionScript 3 Jak ukončit t…
19. 11. 2019   #384722

#3 MilanL
Já jsem to myslel tak, že by se postupně vytratily, takže by každá vločka měla vlastní kill-time v rozmezí těch v 2s.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
18. 11. 2019   #384701

Dal jsem tam jméno PHP skriptu, který rrdtoolem generuje obrázek. Obrázek, obrázek, obrázek. Jen to stahuje obrázky. Je to adresa obrázku. To nerozumí RRD databázi a neřeší to, co na tom obrázku je, kromě toho, že očekává, že bude podle těch parametrů start/end/atd.

Nemusíš tomu vysvětlovat, co v té databázi je. Tak jak jsem ten příkaz napsal... rrdtool blabla a dalsi parametry jak chces. Jen vygeneruj obrázek jaký chceš.

Můžeš použít ten tvůj bashovský skript. Jen ho takhle uprav, aby přijímal parametry:

...
FILE=${1:-$DIR1/graf_deni.png}
START=${2:--1d}
END=${3:-now}
WIDTH=${4:-800}
HEIGHT=${5:-240}

#deni
rrdtool graph "$FILE" \
--watermark "Borisek" \
--start "$START" \
--end "$END" \
--width "$WIDTH" \
--height "$HEIGHT" \
COMMENT... ZBYTEK NECH TAK
JAK TO MAS
...

Ta konstrukce ${X:-Y} znamená, když je nastavené X, tak to bude X, jinak Y. Takže když ten skript bude spuštěn s parametry, tak se vezmou hodnoty těch parametrů, jinak se použijí hodnoty, které jsi tam měl původně a bude to fungovat stejně.

Do IMG dej ten rrdgen.php a v rrdgen.php teda volej ten tvůj shellskript. 

<?php
$command = '/cesta/ktomu/tvemu/skriptu'
         . ' - ' // soubor '-' znamená výpis na standardní výstup místo do souboru
         . ' ' . escapeshellarg(@$_GET['start'])
         . ' ' . escapeshellarg(@$_GET['end'])
         . ' ' . escapeshellarg(@$_GET['width'])
         . ' ' . escapeshellarg(@$_GET['height']);
passthru($command);

A když se ti to bude zdát pomalé (protože spouštění bashe je dementně pomalé), tak ten příkaz pro rrdgen napiš rovnou do toho php skriptu, jak ti celou dobu radím :)

A píšu to z hlavy, možná někde bude nějaká botka. Ale princip je snad konečně jasný.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
18. 11. 2019   #384697

Jaký button? Tak do třetice. V HTML je IMG tag s atributem DATA-SRC-TEMPLATE definujícím adresu obrázku. A JavaScript, který ten obrázek z té adresy podle potřeby načítá.

Takže budeš mít třeba soubor index.html, tak jak je v distibuci rrdGraphPng, a do šablony adresy dáš rrdgen.php

...
...
    <div><img
        style="width:695px;height:238px" class="graph"
        data-src-template="rrdgen.php?width={{width}}&amp;height={{height}}&amp;start={{start}}&amp;end={{end}}&amp;zoom={{zoom}}&amp;rand={{random}}"
    /></div>
...
...

A pak budeš mít ten soubor rrdgen.php

<?php

který nějak produkuje obrázek
...
...
gna
Flash › ActionScript 3 Jak ukončit t…
18. 11. 2019   #384696

Konkrétně kam co napsat ti neporadím, protože to nevím. Ale jestli si s tím chceš hrát, tak v principu třeba takhle:

Nejdřív musíš ty vločky najít. To můžeš udělat projitím všech childů stage a otestováním, jestli daný child je vločka (operátor is; is snowflake). Lepší by bylo rovnou při vytváření je vkládat do nějakého kontejneru/kolekce, ať je nemusíš hledat. Pak tedy s těmi vločkami můžeš operovat.

A to, aby ti během dvou sekund dosnežilo můžeš udělat třeba tak, že vygeneruješ čas "teď + náhodná hodnota v intervalu 2s", po kterém se vločka killne. Nevím, jestli na to AS má nějakou standardní funkci, nebo vlastnost objektů, ale určitě si takovou vlastnost můžeš definovat sám. A pak ta vločka třeba ve frame handleru může hlídat, jestli už přišel její čas a pokud ano, tak se sama stopne a odstraní ze stage.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
18. 11. 2019   #384684

V PHP už jsi dělal, tak bys ho mohl poznat. Nebo bys mohl postřehnout, že když to zjevně spouští rrdtool, tak to asi bude to, co generuje ty grafy. Nebo si prostě přečíst, co píšu.

Takže když v té šabloně je rrdgen.php s parametry, tak to druhé je rrdgen.php, který hodíš na server a bude generovat grafy

gna
Java › Problém s princípom riešenia…
18. 11. 2019   #384682

Jo, já jsem nevěděl, co s čísly, která nepůjdou rozložit, ale ty tak vlastně na koncové nuly nemají vliv a nezajímaji nás. Takže spočítej kolik tam jakoby bude násobení dvojkou nebo pětkou a každá dvojice 2-5 udělá jednu nulu. Pokud se nepletu.

gna
Java › Problém s princípom riešenia…
18. 11. 2019   #384681

U mocnim deseti je to jasné, tam se počet nul sčítá. Pak ještě nulu "generuje" násobení 2 a 5. I ta 10 je vlastně 2*5. A v tom to bude. Nějak ty čísla rozlož, ale nevím jak.

Jako vždycky všechno, i tohle určitě staví an tom, co jste probírali. Tak pohledej v poznámkách.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
17. 11. 2019   #384678

Ten rrdGraphPng v JavaScriptu na straně klienta načte a zobrazí obrázek z adresy zadané v té šabloně s tím, že {{start}}, {{end}} apod v adrese nahradí aktuálními hodnotami. Když změníš období, nebo tím grafem šoupneš, tak to udělá znova s novými hodnotami.

Na straně serveru pak musíš zajistit, aby na té adrese byl požadovaný graf. Takže když v té šabloně je rrdgen.php s parametry, tak to druhé je rrdgen.php, který hodíš na server a bude generovat grafy podle požadovaných parametrů. Vždycky znova, nic se nikam neukládá.

Můžeš to vykoumat jakkoliv jinak, jde jen o princip.

gna
JavaScript, AJAX, jQuery › soubor js dotaz
12. 11. 2019   #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
12. 11. 2019   #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}}&amp;height={{height}}&amp;start={{start}}&amp;end={{end}}&amp;zoom={{zoom}}&amp;rand={{random}}"

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

gna
C / C++ › Přetěžévání operátorů
11. 11. 2019   #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) {

 

 

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