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
Visual Basic › ukončení načteného scriptu
Včera   #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?

gna
Příkazový řádek › Bash: najít slovo a odpočíta…
12. 5. 2019   #383691

To je zrovna příklad, u které se mění délka, ale ne pořadí polí, takže není problém.

Ale můžeš to udělat ještě konkrétněji třeba sedem.

echo 'blablabla,blablabla,4568789::55;blabl.;ID_msg:123456789;blablablabla' | sed 's/.*;ID_msg:\([0-9]\+\);.*/\1/'
gna
Příkazový řádek › Bash: najít slovo a odpočíta…
12. 5. 2019   #383688

Nevím, jak ten cut používáš, ale v délce polí nevidím problém, pokud se nemění jejich pořadí.

echo 'blablabla,blablabla,4568789::55;blabl.;ID_msg:123456789;blablablabla' | cut -d\; -f3 | cut -d: -f2
123456789

Jestli je to csv, tak by to chtělo něco, co ho umí správně parsovat (třeba csvkit), nebo to nedělat v bashi.

gna
Python › Procházení cyklem složky
8. 5. 2019   #383667

Jaj, kam se ten dotaz poděl? :)

gna
Python › Procházení cyklem složky
8. 5. 2019   #383666

No, co ten příkaz udělá? Shell rozvine masku na soubory, které jí vyhovují, cat vypíše jejich obsah a výstup je přesměrovaný do logu.

import glob
import shutil

for dirname in glob.glob('*/'):
    print('dir', dirname)
    logname = dirname + 'value.log'
    with open(logname, 'a') as flog:
        for txtname in glob.glob(glob.escape(dirname) + '*.txt'):
            print('txt', txtname)
            with open(txtname, 'r') as ftxt:
                shutil.copyfileobj(ftxt, flog)
gna
Python › Procházení cyklem složky
8. 5. 2019   #383662

stručně :)   vezmi tuhle složku - udělej definovanou operaci, vezmi další složku a udělej tu samou operaci a atd pro n-složek

Nechápu dotaz. For v Pythonu funguje podobně jako v Bashi -- pro každou položku kolekce provede daný příkaz(y). Momentálně tu operaci máš jako přidání názvu do listu, ale můžeš dělat i cokoliv jiného.

gna
PHP › Ukládání do souboru
8. 5. 2019   #383653

Tak nečaruj a prostě se podívej, co tam máš.

$row = explode(" ",$row); // takhle samozřejmě bude každé slovo v samostatném sloupci
fputcsv($fp,$row,";",'"');
gna
Delphi › Synapse - seriova komunikace.
8. 5. 2019   #383652

9997 se zdá být timeout. Když nastavíš RaiseExcept na True, tak by to mělo házet vyjímky hned, jak je něco blbě.

gna
Delphi › Synapse - seriova komunikace.
7. 5. 2019   #383644

Aha, ona 0 znamená 1 stop bit. Byl to jen tip.

gna
Delphi › Synapse - seriova komunikace.
7. 5. 2019   #383643

To je 1.5. A máš tam vůbec čtení?

gna
Delphi › Synapse - seriova komunikace.
7. 5. 2019   #383641

1 stop bit

gna
Delphi › Synapse - seriova komunikace.
2. 5. 2019   #383615

Bez toho překlepu :)

gna
Delphi › Synapse - seriova komunikace.
2. 5. 2019   #383614

#4 MilanL
Přesně na tohle jsem se snažil vzpomenout. Takže by mělo jít 

#$52#$0d$#0a

Ne?

gna
Delphi › Synapse - seriova komunikace.
1. 5. 2019   #383596

Při nejhorším by mělo jít asi nějak takhle poskládat ten řetězec.

Chr($52) + Chr($0d) + Chr($0a)

Asi to jde i nějak hezčeji a nejspíš ta komponenta umí odesílat i jiná data než stringy.

gna
JavaScript, AJAX, jQuery › Vysvětlení kodu Accordion
30. 4. 2019   #383584

Protože to dělá pro všechny prvky.

for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener...
gna
C / C++ › Ukládaní slov ze souboru do…
24. 4. 2019   #383555

#4 KIIV
Jop :)

gna
C / C++ › Ukládaní slov ze souboru do…
24. 4. 2019   #383550

#2 KIIV
Z toho mu pukne hlava, měl jsi napsat jen push_back v cyklu :)

gna
Java › Android - SMS API DualSIM
22. 4. 2019   #383535

Aha, já jsem myslel, že nevíš, jak vybrat jinou SIMku. Co ti na tom teda nefunguje?

gna
Java › Android - SMS API DualSIM
22. 4. 2019   #383534
gna
Visual Basic › Pomoc s kódem v VSA - Do / W…
16. 4. 2019   #383489

Počitadlo pořadí nebude v podmínce.

poradi = poradi + 1
If teploty < minimalni_teplota Then
    minimalni_teplota = teploty
    minimalni_poradi = poradi
End If
gna
.NET › Zakodovani textu
16. 4. 2019   #383484

S takovými hodnotami stačí zjistit pozici toho znaku v tabulce. 

string declist = "yaeiou";

char dec = 'e';
int enc = declist.IndexOf(dec);
Console.WriteLine("{0} -> {1}", dec, enc);

Kdybys to mapoval složitěji, tak můžeš použít 2 tabulky. V první najdeš vstupní hodnotu a z druhé vezmeš výslednou hodnotu. 

string declist = "yaeiou";
int[] enclist = {1,3,6,10,15,21};

char dec = 'e';
int idx = declist.IndexOf(dec);
int enc = enclist[idx]; // nehlidam platnost indexu
Console.WriteLine("{0} -> {1}", dec, enc);

To je častá operace a moderní jazyky pro takové účely mají slovníky/mapy.

Dictionary<char, int> dec2enc = new Dictionary<char, int>
{
    {'y', 1},
    {'a', 3},
    {'e', 6},
    {'i', 10},
    {'o', 15},
    {'u', 21},
};

char dec = 'e';
int enc = dec2enc[dec]; // opet nehlidam platnost indexu/klice, muzes pouzit ContainsKey a/nebo TryGetValue
Console.WriteLine("{0} -> {1}", dec, enc);
gna
Visual Basic › Chyba v ukládáni (pole)
7. 4. 2019   #383447

#5 TrixCZE
Omlouvat se nemusíš, jen už jsi k předchozím dotazům dostal pár odpovědí pro VB, které ti v C# moc nepomůžou :)

gna
Visual Basic › Chyba v ukládáni (pole)
7. 4. 2019   #383446

#4 TrixCZE
No, pokud je problém v tom, že se to pole pořád vytváří a ty ho chceš uchovat, tak ho prostě vytvoř jinde -- třeba v Mainu -- a do dalších funkcí ho předávej. Nebo ho vytvoř v classu a všechny metody na něj uvidí.

gna
Visual Basic › Chyba v ukládáni (pole)
7. 4. 2019   #383442

A mimochodem to je C# (.NET). Visual Basic je úplně jiný jazyk.

gna
Visual Basic › Chyba v ukládáni (pole)
7. 4. 2019   #383441

Nejsem si jistý, co tím myslíš, ale tipl bych, že jsi nepochopil inicializaci proměnných.

int[] poleX = new int[5]; // deklarovani pole 

To není jen deklarace. To je definice a inicializace. Vždycky když program jde přes ten příkaz, tak se vytvoří nové pole.

gna
Java › Opakované půlení pole
7. 4. 2019   #383439

Každé divide ti od začátku prochází split_values.

gna
JavaScript, AJAX, jQuery › pomoc s kratkym kodem
4. 4. 2019   #383431

#3 Robbie
Co jak poznat, jaké závorky?!!

S jedním parametrem se definuje velikost pole. S více parametry se definuje obsah pole.

gna
Pascal › Ukol s polem matici a podpr…
4. 4. 2019   #383429

S čím konkrétně si nevíš rady?

gna
Python › problém s Pythonom
2. 4. 2019   #383412

Nevím, co přesně tím myslíš, ale .py soubory nejsou přímo spustitelné a musíš je spouštět přes Python. 

python app.py

Samozřejmě musíš mít nainstalovaný Python a při spouštění z VSCode se pak do terminálu jen vloží ten příkaz pro aktuální soubor.

gna
Python › prevod obrazku do csv suboru…
2. 4. 2019   #383411

Když to čtu pozorněji, tak to asi není přesně to, co chceš, ale princip je snad jasný.

gna
Python › prevod obrazku do csv suboru…
2. 4. 2019   #383410

Tak nejdřív otevřeš writer a pak do něj v tom zpracovávacím cyklu můžeš zapisovat výsledky. Může to vypadat třeba nějak takhle:

with open(file, 'w') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerow(('age', 'emotion'))

    for file in files:
        ...
        response = post_image(img_data))
        writer.writerow((response['age'], response['emotion']))
gna
Offtopic › Vývojový diagram
31. 3. 2019   #383391

Jo, z toho Pascalovského zdrojáku je jasné o co jde. Je to přesně to, co jsem myslel.

Čítač je tam jeden (i) a ty cykly nejsou vnořené. Když máš zdroják, tak zvládně i diagram.

gna
Offtopic › Vývojový diagram
31. 3. 2019   #383387

Pro skalární součin, jak mě napadá, nejsou potřeba 2 čítače. Můžeš více rozpsat o co jde?

gna
PHP › Nelze načíst rozšíření mysql…
27. 3. 2019   #383360

File not found při načítání existující knihovny znamená, že chybí další knihovny z jejích závislostí. Můžeš se na to podívat programem ldd, nebo v nouzi strings|grep. Mysql-server máš nainstalovaný?

gna
C / C++ › Seřazení spojíteho seznamu
25. 3. 2019   #383354

Místo Node dáš ListItem, místo data dáš Value a místo next dáš Next.

Tam kde se data/Value porovnává přidáš stoi.

Co z toho není naprosto zřejmé?

gna
Visual Basic › Tanková hra pomoc s příkazi
25. 3. 2019   #383352

Jinak teda tam můžeš dát tzv. breakpoint. Když na něj program narazí, tak se zastaví a můžeš ho krokovat a prohlížet proměnné. Tím bys měl najít, co je špatně.

gna
Visual Basic › Tanková hra pomoc s příkazi
25. 3. 2019   #383351

Nevím, co myslíš tím, že se sekne a co má být vidět na tom obrázku. Je tam střela a výbuch. Takže ta střela exploduje když nemá a na špatné pozici, nebo se zastaví při jiné explozi, nebo to spolu nijak nesouvisí?

V kódu nic okatého nevidím a nechce se mi takovou složitost detailně studovat.

Proč tam máš 16x stejnou věc? Napiš to obecně a nebudeš muset řešit, že jeden směr záhadně nefunguje.

if doleva then x -= krok
if doprava then x += krok
if nahoru then y -= krok
if dolu then y += krok

tank.location = (x, y)
... ' proc to vsechno psat 4x

Podobně ty kolizní podmínky. Rectangle ma metodu Contains a IntersectsWith. Jestli ti nevyhovují, tak si napiš vlastní, ale psát tohle pořád dokola, to by mi jeblo.

gna
C / C++ › Seřazení spojíteho seznamu
25. 3. 2019   #383350
gna
C / C++ › Const/non-const metoda s vyu…
22. 3. 2019   #383339

Aha. Takhle v podstatě chceš, aby ti to vygenerovalo: 

& _top(&);
const& _top(const&) const/* <-- */;

Což netuším, jestli vůbec jde.

Takže první nejde použít, protože parametr je const a druhou protože metoda není const.

Když ji uděláš static (nebo const), tak to vygeneruje použitelné metody pro oba případy.

gna
C / C++ › Const/non-const metoda s vyu…
22. 3. 2019   #383334

To je zase bomba.

Když si zbytek domyslím tak, aby to dávalo smysl, tak mě nenapadá, co by se na tom nezkompilovalo. Takže to ukaž celé.

gna
CSS › Jak mít stejně dlouhé alementy
19. 3. 2019   #383323

Já tomu nerozumím, ale intuitivně bych řekl, že ty vnitřní elementy musí být nastylované tak, aby vyplnily ten vnější, který je ohraničuje.

Zkusil jsem, jak radil peter, table-cell a přesně to to udělalo.

gna
Python › Nefunguje assert spojené s f…
18. 3. 2019   #383305

Nemáš nainstalovaných víc verzí Pythonu? Tak se chovají starší verze, které f-stringy neznají.

gna
Visual Basic › Tanková hra pomoc s příkazi
14. 3. 2019   #383291

Co se týče toho ovládání, tak by to mělo být vidět i v jiných programech. Zkus v nějakém editoru držet jednu klávesu a ťuknout do jiné. Ta první se ti přestane opakovat. Navíc je ta rychlost opakování nastavitelná atd.

Takže potřebuješ chytat KeyDown a KeyUp a fungovat bez ohledu na události mezi tím.

ProcessCmdKey bohužel KeyUp nechytá. Pokud vyhodíš nebo disabluješ kontrolky na formu (které ti ten vstup žerou a proto asi používáš ProcessCmdKey), tak by měly tyhle události fungovat přímo na Formu, jinak můžeš třeba použít Application.AddMessageFilter a implementovat IMessageFilter.PreFilterMessage.

Tím budeš jen nastavovat proměnné, jestli jedeš nebo ne. Aby ti ta hra mezi tím běžela můžeš, podobně jako pro tu střelu, zase použít timer. A nakonec pro tebe asi bude nejjednodušší se na KeyUp/Down vykašlat a v tom timeru přímo zjišťovat stav kláves (Keyboard.IsKeyDown).

Ke kolizím není moc co říct. Prostě když něčím pohneš, tak otestuj, jestli je to na pozici něčeho jiného.

A hlavně, prosím tě, máš to dlouhý jako kráva, nepiš pořád stejný kód :) Do podmínek dej jen to, co se mění.

gna
JavaScript, AJAX, jQuery › Jak vypisovat hodnoty s text…
12. 3. 2019   #383268

Tak ještě jednou. AJAX se dělá v JavaScriptu. To, co jsem napsal s pomocí jQuery (JavaScriptové knihovny), dělá to samé jako to řešení v čistém JS, na které jsem odkázal (a které vysvětluje, co je AJAX).

Obě řešení potřebují URL, protože prostě nic jiného nemůžou číst. Takže AJAXem načteš teplota.php, který načte ten finální texťák.

Původně jsem napsal tohle a nechám to tady:

Já jsem to pochopil tak, že máš stránku, která vypisuje tu teplotu. Teď tam chceš přidat její dynamickou aktualizaci. Tak jsi vyzkoušel AJAX na skript s jednoduchým echem, který funguje. A nenapadne tě prostě tam dát výpis té teploty podobně, jako to děláš u té hlavní stránky?

gna
JavaScript, AJAX, jQuery › Jak vypisovat hodnoty s text…
11. 3. 2019   #383266

#5 Borisek
Už jsem psal, že JS nemůže ten soubor číst přímo. Musíš ho nějak vystavit na web serveru. Nejjednodušeji tak, že jeho obsah bude vracet ten PHP skript. Za předpokladu, že má práva ho číst.

<?php
readfile('/dev/shm/teplota_kotel.txt');
gna
C / C++ › std::launder , alignas
11. 3. 2019   #383263

Don’t ask. If you’re not one of the 5 or so people in the world who already know what this is, you don’t want or need to know.

gna
JavaScript, AJAX, jQuery › Jak vypisovat hodnoty s text…
10. 3. 2019   #383254

JavaScript se provádí u klienta v prohlížeči, takže pochopitelně nemůže číst libovolné soubory na serveru a musí to pro něj udělat ten PHP skript.

Příkladu AJAXu v JS bez knihoven je třeba tady.

gna
Visual Basic › Jak vyhledat znak v textu?
10. 3. 2019   #383253

Pokud se ptáš, jestli to musíš dělat cykly a podmínkami, tak nemusíš. VB na to má funkce InStr a InStrRev. Ve VB.NET mají stringy metody IndexOf a LastIndexOf.

Pokud jsi tím myslel, že to chceš dělat cykly a podmínkami, tak můžeš použít 2 cykly pro průchod z obou stran s předčasným ukončením při nalezení toho znaku.

prvni = -1
for ...
    if znak = hledanyznak then
        prvni = pozice
        exit for
    end if

 Nebo udělat obojí jedním průchodem a pak jen potřebuješ pohlídat, jestli už jsi pozici prvního nastavil.

prvni = -1
posledni = -1
for ...
    if znak = hledanyznak then
        if prvni = -1 then
            prvni = pozice
        posledni = pozice
    end if
gna
JavaScript, AJAX, jQuery › Jak vypisovat hodnoty s text…
10. 3. 2019   #383247

Tomu stažení dat v JS se říká AJAX. Šlo by to i v čistém JS, ale já jsem tady použil knihovnu jQuery 1. Takže třeba takhle funkcí setInterval naplánuješ opakované provádění funkce, která ajaxem načte data z teplota.php a vloží výsledek do dokumentu.

<head>
<script type="text/javascript" src="//code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
setInterval(function() {
    $.ajax({
        url:'teplota.php',
        cache: false,
        success: function(data) {
            $('#teplota').html(data);
        },
        error: function() {
            $('#teplota').html('Chyba!');
        },
    });
}, 10000);
</script>
</head>
<body>
...
<div id="teplota">Ještě nevím...</div>
gna
C / C++ › friend operator+
7. 3. 2019   #383233

Nevracíš, protože se to nezkompiluje, ale pokoušíš se o to :) 

Můžeš návratovku změnit na konstatní referenci (což asi nechceš), nebo hodnotu.

gna
C / C++ › Generovanie náhodných známok…
7. 3. 2019   #383224

Nejjednodušší metoda je použití rand a rozdělení rozsahu vrácených hodnot. Takže kdyby vracel 0..99, tak 0..14 bude 1, 15..39 bude 2, atd. Samozřejmě limity přepočítat podle hodnoty RAND_MAX.

Ale náhoda je "blbec" a ve tvém případě možná půjde o to, aby to procentuální zastoupení přesně sedělo v každé sadě. Zase primitivní řešení, pokud celkový počet není moc velký, je naplnit pole tak, aby 15% byly jedničky, atd. a pak ho náhodně zamíchat.

Od C++11 je standardizovaná knihovna random, která by tyhle věci měla umět, takže cokoliv složitějšího psát sám nemá moc smysl. Ale nemám s ní zkušenosti a nechce se mi to číst.

Jako každé cvičení to asi staví na něčem, co bys měl znát. Těžko říct, co to je.

gna
PHP › jak uložit hodnotu <span cla…
6. 3. 2019   #383222

Tady se nastavují proměnné. 

[prestashop_1.6.1.20_0/modules/blockcart/blockcart.php]

$total_free_shipping = 0;
if ($free_shipping = Tools::convertPrice(floatval(Configuration::get('PS_SHIPPING_FREE_PRICE')), $currency))
{
...

$this->smarty->assign(array(
	...
	'free_shipping' => $total_free_shipping
	...

Tady je HTML šablona.

[prestashop_1.6.1.20_0/themes/default-bootstrap/modules/blockcart/blockcart.tpl]

co chceš
...

Tady je JSON šablona pro AJAX.

[prestashop_1.6.1.20_0/themes/default-bootstrap/modules/blockcart/blockcart-json.tpl]


"freeShipping": {displayWtPrice|json_encode p=$free_shipping},
"freeShippingFloat": {$free_shipping|json_encode},
...

A tady se to dynamicky aktualizuje.

[prestashop_1.6.1.20_0/themes/default-bootstrap/js/modules/blockcart/ajax-cart.js]

if (parseFloat(jsonData.freeShippingFloat) > 0)
{
	$('.ajax_cart_free_shipping').html(jsonData.freeShipping);
	$('.freeshipping').fadeIn(0);
	...

To stačí na to, abys tam doplnil cokoliv. Ve tvém případě bude stačit upravit výpočet $total_free_shipping (samozřejmě podle nastavení a ne natvrdo) a doplnit to do šablony.

20 minut včetně večeře a pohádky s neteří.

 

 

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