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

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

 

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

angna
Python › Čítanie znakov z klávesnice
5. 2. 2024   #391736

#5 Mates
Dostaneš odpověď, jak udělat přesně to na co se ptáš a vyvodíš z toho, že to nejde...

Buď ty funkce nefungují, mně fungují, nebo vracejí něco jiného než čekáš, tak si tam přidej výpis návratové hodnoty.

Možná jsi ten kód napsal špatně, možná mačkáš špatnou klávesu, možná to spouštíš v IDE, kde přímé čtení kláves nefunguje. Těžko hádat.

angna
Python › Čítanie znakov z klávesnice
4. 2. 2024   #391732

Buď nekonečný cyklus nebo pád, těžko obojí. Na pád bych to neviděl a nekonečný cyklus je možný, pokud ukončovací podmínka nikdy nebude splněna. Tak bych se podíval, co máš v `x` po getch. Zdá se, že by to mohl být bajt a ne znak a pak by ta podmínka teda byla třeba `while x != b"p"`. Nevím, přidej tam print a podívej se.

angna
Python › Čítanie znakov z klávesnice
4. 2. 2024   #391730

Na to ve standardním Pythonu není úplně univerzální řešení.

Pokud jsi na Windows, tak bys měl mít dostupný modul "msvcrt", který tyto funkce má.

import msvcrt
...
if msvcrt.kbhit():
    ch = msvcrt.getch()
angna
Pascal › Lazarus na raspberry - migr…
4. 2. 2024   #391729

Není mi jasné, co na tom obrázku má být vidět. Ty červené obdélníky? To neznamená chybu.

angna
PHP › Htaccess úprava
18. 1. 2024   #391719

Aha, ty ses ptal na ten index :) To by taky šlo řešit v rewritech, ale můžeš prostě nastavit DirectoryIndex (ale je zvláštní, že to v něm teď nemáš)

DirectoryIndex index.php index.html ...
angna
PHP › Htaccess úprava
16. 1. 2024   #391718

To co ti zachytil ten pattern je v $1 a na zachování parametrů je [QSA].

RewriteRule ^(.*)$ loxo/$1 [QSA,L]
angna
Vzdělání › Umělá intelignce a nový jazyk
11. 1. 2024   #391716

#2 JerryM
  

gna
Offtopic › Jaké jsou Vaše zkušenosti s…
7. 12. 2023   #391682

Já to vidím stejně jako Jerry.

A na survey klikat nebudu.

gna
Python › RSA blokový převod
26. 11. 2023   #391677

Ty konverze na binární stringy jsou k ničemu, ale budiž...

Kóduj to po bajtech, ne po znacích, aby se ti to vešlo do těch 8 bitů.

Místo rjust dej ljust, protože s tím pak pracuješ jako big-endian intem, tak ať to zarovnání máš na konci.

Použij kratší bloky, nebo uprav generovaní klíčů pro větší.

def text_to_numeric_binary_blocks(self, text, block_size=8):
    text = text.encode()
    binary_blocks = [
        ''.join(format(byte, '08b') for byte in text[i:i + block_size]).ljust(block_size * 8, '0')
        for i in range(0, len(text), block_size)
    ]
    return binary_blocks

def numeric_to_text_binary_blocks(self, binary_blocks, block_size=8):
    bytes_list = [int(block, 2).to_bytes(block_size, 'big') for block in binary_blocks]
    text = b''.join(bytes_list).decode(errors='replace').rstrip("\x00")
    return text
gna
Python › RSA blokový převod
25. 11. 2023   #391674

Před spojováním těch bloků musíš zajistit, aby všechny měly stejnou délku, jinak se ti je nepodaří správně rozdělit.

Ty konverze na inty a stringy jsou všechny blbě. Na implementaci samotného RSA můžeš použít inty, ale do ničeho jiného je nemíchej a zpracovávej to jako binární bloky.

gna
Python › Nelze dešifrovat ADFGVX šifr…
13. 11. 2023   #391670

Ten ".index" vrací pozici prvního výskytu. Musíš do toho zakomponovat to, že chceš další od posledního nalezeného.

gna
Java › Odosielanie gps drona do apl…
12. 10. 2023   #391659

Pravděpodobně k tomu dronu bude SDK přímo od výrobce. Tak projdi dokumentaci nebo jejich web.

gna
Software › co zvolit - aplikace pro mob…
28. 9. 2023   #391652

Nemám ponětí.

gna
Software › co zvolit - aplikace pro mob…
28. 9. 2023   #391650

Ionic poskytuje plný přístup k té databázi, takže si s ní můžeš dělat co chceš a v tom kurzu můžeš pokračovat.

Kdybys chtěl přejít na C# tak možnost je Xamarin (Forms nebo MAUI, nebo co všechno ještě mají).

Ale když úplně začínáš, tak si asi neber moc velké sousto a nejdřív se rozkoukej na něčem menším.

gna
Python › Převod jpg do csv
27. 9. 2023   #391648

#51 Michal77
To je vpoho, nic za to nechci.

gna
Python › Převod jpg do csv
27. 9. 2023   #391646

#43 Michal77
Jde, ale pak je potřeba hlídat, jestli to hlásí to Nb of scores and players doesnt match. Protože v tom případě tam ty špatně rozpoznané screenshoty budou chybět https://pastebin.com/hFcpNhAa

gna
Python › Převod jpg do csv
27. 9. 2023   #391638

Jo, jsem tydýt, na zkoušení jsem si to omezil na jeden obrázek, ať to netrvá tak dlouho a zapomněl jsem to vyhodit. Tak tady https://pastebin.com/5Deny4Mc

gna
Python › Převod jpg do csv
26. 9. 2023   #391635
gna
Python › Převod jpg do csv
26. 9. 2023   #391634

To by šlo. Ten blok s "parsed_screenshot ... for ... nahraď takhle:

    parsed_screenshot = []
    for score, user in zip(scores, pl_s):
        name1, name2 = "enemy", find_user(user[0]).name
        if scores[i][1] > user[1]:
            name1, name2 = name2, name1
        parsed_screenshot.append([name1, score[0], name2])

Akorát to nemíchej. Buď všechna jména s původní verzí, nebo jen jeden team s touhle verzí.

gna
Python › Převod jpg do csv
26. 9. 2023   #391632

https://pastebin.com/CT5t5UM3

V "processed_images" to vedle .png vytvoří ještě odpovídající .csv. A nejdřív bude samozřejmě potřeba doplnit obrázky pro jména všech zúčastněných.

gna
Python › Jak uložit data do 2D pole t…
26. 9. 2023   #391630

JJ, pochopil jsi to správně. Já jsem tím vysvětlením myslel jestli chceš rozbor proč ti to nefunguje. K tomu bych jen řekl, že není potřeba vytvářet ten pár index-td, protože ten název už je v tom td.

Takže takhle třeba: 

for td in mytds:
    print(td.attrs["data-title"], td.text)

Jinak ta myšlenka není špatná, ale pak nebudeš procházet seznam, ale to mytds, který odkazuje na seznam:

for i, td in mytds:
    print(seznam[i], td.text)

A pak ještě raději použití soup.find místo find_all a tím i list.append místo extend. (Když to td má být jen jedno, tak ať je to v tom kódu explicitně)

gna
Python › Jak uložit data do 2D pole t…
26. 9. 2023   #391627

Chceš to vysvětlit, nebo jen rozchodit? :)

from bs4 import BeautifulSoup
import requests

url = 'https://www.in-pocasi.cz/aktualni-pocasi/olomouc/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'lxml')

seznam = ["Čas měření", "Teplota", "Vítr", "Vlhkost", "Tlak", "Srážky dnes", "Změna teploty (30 min)", "Teplota před 24 hodinami", "Rosný bod"]
data = {}

for title in seznam:
    node = soup.find("td", {"data-title": title})
    text = node.text if node else None
    data[title] = text

print(data["Teplota"])  # přístup ke konkrétní hodnotě
for key, val in data.items():  # nebo průchod všech
    print(f"{key}: {val}")
gna
Python › Převod jpg do csv
25. 9. 2023   #391587

Nejspíš bude stačit někde vyhodit to sčítání :) Ukaž co máš  a já na to mrknu.

gna
C / C++ › Cim nahradit Watcom C ? Prac…
21. 9. 2023   #391582

Bavil jsem se s par kamarady co maji vice zkusenosti s programovanim. Vysledkem bylo, ze vsichni nenavidi jak tohle  (ne)funguje a naprosty chaos kolem inicializaci.

To jste zajímavá parta důchodců :)

gna
C / C++ › Cim nahradit Watcom C ? Prac…
15. 9. 2023   #391567

Kreslení na Form by mělo fungovat, ale neuchovává se a když se z nějakého důvodu překreslí, tak ty tvoje kresby zmizí. Teď kreslíš ještě před zobrazením formuláře a jeho zobrazení pak proběhne "normálně".

Hoď tam ještě PictureBox, jak psal Jerry, a kresli do jeho Image. To by mělo fungovat podle očekávání.

gna
C / C++ › Cim nahradit Watcom C ? Prac…
10. 9. 2023   #391543

Používat na jednoduché kreslení přímo OpenGL, Direct3D nebo Vulkan je nesmysl. GLFW zjednoduše použití OpenGL, ale pořád je to OpenGL, z bláta do louže

SDL podobně, hodně low-level a samo o sobě nic moc neumí. Můžeš v něm přímo použít OpenGL nebo Direct3D, nebo všechno matlat "ručně" (nebo k tomu přidat ještě další knihovnu). Jestli chceš jen "hýbat texturama", tak bych asi taky doporučil SDL.

Použitelnější ve stylu té Watcomácké knihovny mi přijde Raylib. V tom smyslu, že vedle pokročilých funkcí, má i primitivní funkce pro kreslení čáry a kruhu a tak.

gna
Visual Basic › převod obrázků formátu webp…
7. 9. 2023   #391535

Když už spouštíš externí program, tak můžeš použít nějaký, který se na to hodí lépe. Třeba ImageMagick.

Jestli to chceš řešit posíláním kláves mspaintu, tak bych tam ještě přidal poslání příkazu k ukončení a pak neukončoval ten proces násilně, ale počkal až skončí sám (WaitForSingleObject nebo ten GetExitCodeProcess v cyklu).

gna
Java › Prostředí pro programování
27. 8. 2023   #391517

Pravděpodobně to neděláš pro čísla s neomezeným rozsahem a používáš standardní typy C a pak maximální délku přece znáš.

gna
PHP › Přihlášení pře heslo
14. 8. 2023   #391507

Stylová výhrada - ověření toho hesla udělej hned na začátku. Takhle vždycky "vykresluješ" ten přihlašovací formulář a při správném hesle ho pak "zahodíš".

A to je nejspíš i důvod proč to nefunguje. V odpovědi od serveru jsou takzvané hlavičky a za nimi pak tělo dokumentu. Ty vypíšeš ten přihlašovací formulář (dokument) a potom už je pozdě přidávat hlavičky (funkce header). Server může být nastavený tak, že data neodesílá hned a můžeš hlavičký nastavovat "dodatečně", ale pokud tak nastavený není, tak to nebude fungovat.

Jiný problém tam nevidím.

gna
Java › Java + OOP - konzolová apli…
30. 7. 2023   #391481

  1. Je to tady potřetí
  2. Opět jen zadání bez konkrétního problému
  3. Když to někdo udělá za tebe, tak je ti to k ničemu
  4. Nazdar

gna
Java › Prostředí pro programování
18. 7. 2023   #391432

Ano, v Javě (možná bych v dnešní době zkusil spíš C#) by to šlo bez nutnosti čehokoliv dalšího. Jako editor můžeš zkusit třeba NetBeans, kde si to okno můžeš vizálně naklikat.

gna
Photoshop › potřebuji JPG převést na kři…
14. 7. 2023   #391418

   

gna
Python › Python chyba v instalaci
26. 6. 2023   #391377

Předpokládám, že jsi ten systém měl funkční a až instalací python3-tk se něco rozbilo. Tak ten rozhodně odinstaluj (apt remove). Z hlavy nevím na co s to ptá, ale vyber tak ať potvrdíš odstranění.

Celkově je problém v tom, že ten systém máš poměrně starý. Takže třeba máš nějaký balíček ve verzi 0.1 a pokouší se aktualizovat na 0.2, ale v repozitářích už je jen 0.3. Kouknul jsem na některé ty chyby a požadované verze jsou pořád na old.kali.org.

Takže v souboru /etc/apt/sources.list teď máš řádek s http.kali.org. To změň na old.kali.org. A pak dej zase apt update/dist-upgrade (nebo celý ten odstavec příkazů, jak jsem ho napsal předtím). Klidně několikrát, dokud to něco instaluje. Težko říct v jakém stavu to teď máš, ale měl by ses tak dostat na starší, ale funkční verzi.

Pak můžeš zkusit zase přepsat old.kali.org na http.kali.org a znova aktualizovat, ale asi pořád budeš tak pozadu, že to neprojde. Takže tam asi rovnou nech old. Doinstaluj ten Tkinter a pokračuj v tom, co jsi chtěl dělat.

A pak někdy až budeš mít chuť, tak to úplně přeinstaluj. A celkově když jsi na "rolling" verzi nějakého systému, tak je potřeba často aktualizovat.

gna
Python › Python chyba v instalaci
24. 6. 2023   #391375

To vypadá, že se ti Tkinter nainstaloval, ale jen nějak částečně kvůli tomu problému se závislostmi.

Pokud používáš snapshoty, tak se nejdříve ujisti, že máš správně datum/čas (a ne třeba týden starý snapshot).

A pak zkus tohle, něco z toho by se mělo chytnout. Nevím, jestli se v Kali ten balíček jmenuje python3-tk, kdyžtak to změň. 

sudo apt-get remove --purge python3-tk

sudo apt-get clean
sudo apt-get update
sudo apt-get --fix-missing update
sudo apt-get --fix-broken install
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade
# pokud to ^^ pořád hlásí chyby, tak celý ten odstavec projeď ještě jednou

sudo apt-get install python3-tk
gna
MS SQL › SQL Select ... Case ... chyb…
17. 5. 2023   #391290

Access asi neumí CASE-WHEN. Můžeš použít IIF nebo Switch.

gna
.NET › C# problém s převodem /odkaz…
8. 5. 2023   #391272

Ta metoda je statická, takže nemá přístup k instanci toho formuláře s tím editem.

Težko říct, jak to používáš, ale pravděpodobně ji nepotřebuješ mít statickou. A pokud jo, tak jí tu MAC předej třeba parametrem.

gna
.NET › Aktivace ctecky SC karet
7. 4. 2023   #391219

Driver psát nemusíš. Obzvlášť když Widle to zařízení vidí.

Pracovat s těmi kartami pak můžeš přes SC API.

Konkrétně pro .NET nevím, ale existuje Windows.Devices.SmartCards a živý je i projekt pcsc-sharp. Nebo můžeš použít SC API přes P/Invoke.

gna
Python › Python - Vypnutí CMD kodu ka…
3. 4. 2023   #391213

Těžko takhle hádat. Buď řádně doběhne nebo spadne, kvůli nějaké chybě.

Ukaž kód a/nebo chybový výpis.

gna
Pascal › Identifier not found ARCOSH…
29. 3. 2023   #391205

Na začátek přidej uses math; tim se ti zpřístupní ty matematické funkce. A Pascal asi nemá operátor ^. Místo x^2 můžeš zkusit x**2 nebo prostě x*x.

gna
Python › Jak rozdělit metody tříd do…
18. 3. 2023   #391166

Tak popiš, jak si představuješ ten rozložený výsledek a já ti napíšu, jak ho složit dohromady.

gna
Python › Jak rozdělit metody tříd do…
17. 3. 2023   #391164

#7 marek9
To je nejjednodušší způsob, jak docílit toho, co jsi popsal. Samozřejmě to ještě rozhodíš do samostatných souborů a propojíš importama, ale to bys musel aspoň trochu vědět, co děláš...

gna
Python › Jak rozdělit metody tříd do…
17. 3. 2023   #391162

   

class AA:
    ...

class AB:
    ...

class AC:
    ...

class A(AA, AB, AC):
    ...
gna
Python › Jak rozdělit metody tříd do…
17. 3. 2023   #391160

#3 marek9
Vím, ale je extrémně nepravděpodobné, že bys to opravdu potřeboval.

gna
Python › Jak rozdělit metody tříd do…
17. 3. 2023   #391158

Napiš, co je původní záměr a vymyslíme řešení, které není takový nesmysl.

gna
C / C++ › Infinite loop v OpenCL
11. 3. 2023   #391142

V první řadě u všech funkcí, které mohou vrátit chybu, přidej kontrolu chyb.

V tom kernelu se mi nějak nepozdává to result++, jakože ++ na floatu. Tipuju, že se to ani nezkompiluje, ale jistý si nejsem.

Netuším proč máš global dvouhodnotový, ale když to tak máš, tak obě hodnoty inicializuj.

A a B nejdřív inicializuješ mallocem, ale pak je nastavíš na adresu lokálních proměnných, takže free na konci nejspíš sletí.

Nekonečný cyklus tam nevidím, ale zjevně je to dvouminutová matlanina a osobně nemám chuť to zkoumat.

gna
Pascal › Načtení obsahu txt souboru d…
5. 3. 2023   #391135

Vývoj Windows vůbec nesleduju a možná už jsou lepší způsoby, ale v principu, když se ten tvůj program spustí, tak můžeš detekovat, jestli jiná instance už běží a jen jí poslat požadavek o provedení té akce.

Používá(-val) se na to Mailslot, Named Pipe, Socket... (viz MSDN) Takže něco z toho vytvoříš a čekáš na zprávy. Když se to vytvořit nepodaří, tak nejsi první a jen pošleš zprávu a skončíš.

Nebo okenní zprávy. Vylistuješ seznam oken a podle titulku nebo souvisejícího exáče detekuješ, jestli patří tvému programu. A když jo, tak tomu oknu pošleš zprávu (PostMessage). To bude možná jednodušší.

gna
PHP › PHP & MySQL ochrana databaze
28. 2. 2023   #391113

Samořejmě by nebylo od věci dělat ptákoviny mimo transakci, ale jo, to je její pointa - začneš transakci, pak uděláš X příkazů a nakonec změny uložíš nebo zrušíš.

gna
PHP › PHP & MySQL ochrana databaze
28. 2. 2023   #391111
gna
Python › Projekt "pixelpick"
15. 2. 2023   #391090

Myslím, že to trénování nemusíš dělat a můžeš použít předtrénovaný model (nejspíš proto na ten problém ostatní nenarazili).

Ale pokud chceš, tak můžeš upravit ten if v args.py. 

-        if args.p_dataset_config is not None:
+        if hasattr(args, "p_dataset_config"):
gna
JavaScript, AJAX, jQuery › Nahrazení textu bez třídy
4. 2. 2023   #391050

#9 weroro
Ono by to celkově chtělo inteligentnější filtr než index natvrdo. Ale máš pravdu, teď když jsem to zkusil, tak jsem si všiml, že před tím inputem je ještě mezera, takže jeden node navíc.

gna
JavaScript, AJAX, jQuery › Nahrazení textu bez třídy
4. 2. 2023   #391048

   

$('label[for="sendNewsletter"]').contents()[1].textContent = 'nazdar';
gna
Assembler › Assembler 8086
1. 2. 2023   #391019

#54 Martin
To je zase pecka. Já jsem jen podpořil Jerryho radu s DOSBoxem a ty na to odpovíš kokotinou s boomearama a dalšíma výblitkama. Chováš se jako debil a není to poprvé a určitě ani naposledy. Takže jsi lempl a ještě zmrd. Jdi se s tím léčit.

gna
Assembler › Assembler 8086
1. 2. 2023   #391001

Ech, když ti jiný kód na stejné adrese funguje, tak to nebude mono režimem. Čtu strašně nepozorně :) Takže asi ty indexy.

gna
Assembler › Assembler 8086
1. 2. 2023   #391000

#47 JerryM
Aha, já jsem nedočetl tu poslední větu, podle které se ti to zjevně zkompiluje a jen to nefunguje. Nevím, co je v DI a tipuju, že jsi chtěl použít SI. Jinak další střela od boku byla, jestli třeba nejsi v mono řežimu (0xb000).

gna
Assembler › Assembler 8086
1. 2. 2023   #390998

#43 JerryM
Ta posloupnost je daná: 97531. A má se postupně vypisovat v té oblasti 4,1 – 20,78.

gna
Assembler › Assembler 8086
1. 2. 2023   #390997

#40 JerryM
V nasm se to celé píše do závorek. [DS:SI]

gna
Assembler › Assembler 8086
1. 2. 2023   #390996

#34 Martin
Jejda, ty jsi ale drsňák.

To vidím jak to dokázali napsat, když neví ani příkaz na vymazání prostředí

U všech tvých dotazů je jasné, že všichni zúčastnění by to měli za pár minut. Konkrétní kód ti do teď nikdo nenapsal, protože na to dlabeš a "udělejte za mě" moc nefunguje.

DOSbox nešel spustit, protože nebyl povolený virtuál v biosu a ani ve windowsu, není můj problém, že tomu nerozumíš, nebo nechápeš, ale je to bohužel tak, nefungovalo mi to předtím a teďka jo.

DOSBox virtualizaci nepoužívá a nepotřebuje, tudíž ji není potřeba zapínat. To by ses ale musel obtěžovat to zkusit a nevymýšlet si.

Jde vidět, že nic moc nevíš jak tady vidím hnedka co píšeš za nesmysly. Musel jsem aji vysvětlovat zadání, jde vidět že si jen tady hraješ na borce, přitom vůbec nic nevíš no. Vtipní tito lidé :)

Zadání jsi musel vysvětlovat, protože jsi ho napsal debilně. Já jsem tě prokoukl rychle, ale Jerry s tebou ztrácí čas a dokonce ti fotí knížku, tak se chovej uctivě, zmrde.

gna
Assembler › Assembler 8086
31. 1. 2023   #390985

#32 Martin
DOSBox nepotřebuje žádné povolování virtualizace. Tečka! A boomeři, co zvládnou ten tvůj program napsat, by se taky mohli na upovídaného lempla vykašlat, tak se klidni, mladej.

gna
Assembler › Assembler 8086
31. 1. 2023   #390982

Virtuál nepotřebuješ. Rozchodit DOSBox je záležitost minuty, jak už psal Jerry.

gna
PHP › Pocuvanie UDP a spracovanie…
30. 1. 2023   #390957

A jestli to použiješ, tak do té sekce Service asi ještě přidej User=... a Group=... pod kterými to má běžet.

gna
PHP › Pocuvanie UDP a spracovanie…
30. 1. 2023   #390956

Od PHP jako takového bych problém nečekal a ta knihovna pro MQTT vypadá dobře, takže když preferuješ PHP, tak bych se nebál to zkusit. Kdyžtak můžeš třeba pro jistotu po každých 1000 zprávách ten skript ukončit.

Na tom Debianu ti pravděpodobně beží systemd, tak [re]start můžeš řešit přes něj.

/etc/systemd/system/zigbeemqtt.service

[Unit]
Description=zigbeemqtt
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
ExecStart=/foo/bar baz
Restart=on-failure
RestartSec=1s

[Install]
WantedBy=multi-user.target
gna
Python › AI analýza textu, gramatika…
27. 1. 2023   #390943

Jestli tou analýzou myslíš kontrolu nebo doplňování interpunkce, tak češtinu prostě nejde strojově analyzovat pro jednoznačné pochopení významu a bez toho nejde (stoprocentně) opravovat interpunkci. Link nemám, ale když nad tím budeš koumat, tak tě určitě pár přikladů napadne.

Natrénování toho, čemu se dneska říká AI (která neví, ale dost dobře hádá) taky nevidím nadějně.

gna
Assembler › Pomoc- Assembler
18. 1. 2023   #390839

#6 JerryM
Provokatér jsi ty. Já jsem taky držka nevymáchaná, ale to, jak ty každého zjebeš dementní sáhodlouhou rozpravou k ničemu je fakt síla.

gna
Assembler › Pomoc- Assembler
18. 1. 2023   #390835

RLC/RRC rotuje přes carry flag. Tzn. že jak se ty bity posunují, tak se ten jeden krajní vyšoupne do carry a ten na druhé straně zase doplní z předchozí hodnoty carry. To nechceš.

Zkrátka místo RLC/RRC použij RL/RR.

Jinak tam nic vyloženě špatně nevidím. Kromě toho, že to není dokončené.

gna
Java › náhodná velikost pole
15. 1. 2023   #390818

   

rd.nextInt(limit);
gna
Python › súčtová pyramída
15. 1. 2023   #390816

A co nevíš?

gna
Assembler › x86 NASM čtení z terminálu a…
11. 1. 2023   #390801

#8 JerryM
Ty vole, ty seš takovej vůl.

gna
Assembler › x86 NASM čtení z terminálu a…
11. 1. 2023   #390799

Tak mě napadá, že už při načítání můžeš ukládat jen půlku řádku a rovnou s tím ukončovačem. Tím se to dost zjednoduší.

gna
Assembler › x86 NASM čtení z terminálu a…
11. 1. 2023   #390798

OK, u té funkce 0x0A je v tom bufferu 1 byte určující kapacitu, pak 1 byte určující délku načtených dat, a pak X byte těch dat.

Nevím, jak s touhle funkcí zjistit konec vstupu. Asi ji používáte tak budeš vědět, jak to děláte.

To, že rovnou máš v paměti [delka, data...] se hodí a použil bych to pro uložení všech řádků. Takže nakonec můžeš mít kompletní data ve formátu:

3, 'abc', 6, 'nazdar', 5, 'bazar'

Ty řetězce pak projdeš a před výpisem doprostřed vložíš ten ukončovací '$' pro funkci 0x09.

V pseudokódu celý program může vypadat nějak takhle:

max_line_count  equ 600
max_line_len    equ 100

segment code

start:
    ...

read_lines:
    if line_count == max_line_count
        goto print_lines

    ; nacteni radku
    buffer.used = 0
    int21.read(buffer)

    ; nevim jak s touto funkci detekovat konec vstupu
    ; dejme tomu, ze to bude zadani <ctrl-z>, <enter>
    ; tj. v bufferu bude jeden znak s hodnotu 26
    if buffer.used == 1 and buffer.data[0] == 26:
        goto print_lines

    ; ulozeni radku. delka + data
    copy_src = @buffer.used
    copy_dst = save.ptr
    copy_len = buffer.used + 1
    copy(copy_dst, copy_src, copy_len)

    line_count += 1
    save.ptr += copy_len

    goto read_lines

; vypsat prvni polovinu nactenych radku
; a z kazdeho radku jen prvni polovinu nactenych bajtu
print_lines:
    line_count = line_count / 2
    save.ptr = @save.data

next_line:
    if line_count == 0
        goto end
    line_count -= 1

    line_length = save.ptr[0]
    line_data = save.ptr + 1
    save.ptr += 1 + line_length

    line_length = line_length / 2
    if line_length == 0
        goto end_line

    line_data[line_length] = '$'
    int21.print(line_data)

end_line:
    int21.print(crlf)

    goto next_line

end:
    int21.exit(0)


segment data

line_count  dw      0
crlf        db      13, 10, '$'

buffer:
.max        db      max_line_len + 1
.used       db      0
.data       resb    max_line_len + 1

save:
.data       resb    (1 + max_line_len + 1) * max_line_count
.ptr        dw      save.data
gna
Assembler › x86 NASM čtení z terminálu a…
10. 1. 2023   #390793

Pokud to nemusí běžet na DOS 1, tak s funkcemi 0x3F/0x40 to podle mě bude jednodušší.

gna
Assembler › x86 NASM čtení z terminálu a…
10. 1. 2023   #390789

Tak v první řadě pro funkci 0x0a musí být v tom bufferu jeho délka, a pro funkci 0x09 musí být ten řetězec ukončený dolarem.

gna
Python › Pdf a Acro Form
4. 1. 2023   #390768

 To je zvláštní, že to nemá tu definici Fields, ale toto teda (u mě) chodí.

from pdfrw import PdfReader, PdfWriter, PdfDict, PdfName, PdfString

def merge(outfile, seznam):
    writer = PdfWriter()
    merged_acroform = None

    for idx, fname in enumerate(seznam):
        reader = PdfReader(fname)
        assert not reader.Root.AcroForm or not reader.Root.AcroForm.Fields

        if merged_acroform is None and reader.Root.AcroForm:
            merged_acroform = reader.Root.AcroForm

        for page in reader.pages:
            for annot in page.Annots or []:
                name = annot.T[1:-1]
                annot.T = f"{name}_merge{idx}"

        writer.addpages(reader.pages)

    if merged_acroform:
        writer.trailer.Root.AcroForm = merged_acroform
    else:
        writer.trailer.Root.AcroForm = PdfDict({PdfName("NeedAppearances"): PdfString("true")})
    writer.write(outfile)
gna
Python › Pdf a Acro Form
4. 1. 2023   #390766

Jestli můžeš, tak pošli 2 ukázkové soubory. Já na to mrknu.

gna
Python › Pdf a Acro Form
4. 1. 2023   #390764

Mně funguje zopakování a přejmenování definice polí. (Merguju stejné formuláře)

from pdfrw import PdfReader, PdfWriter, PdfName

def merge(outfile, seznam):
    PdfT = PdfName("T")
    PdfFields = PdfName("Fields")

    writer = PdfWriter()
    merged_acroform = None

    for idx, fname in enumerate(seznam):
        reader = PdfReader(fname)
        form = reader.Root.AcroForm
        fields = form[PdfFields]
        for field in fields:
            name = field[PdfT][1:-1]
            field[PdfT] = f"{name}_merge{idx}"

        if merged_acroform is None:
            merged_acroform = form
        else:
            merged_acroform[PdfFields] += fields

        writer.addpages(reader.pages)

    writer.trailer.Root.AcroForm = merged_acroform
    writer.write(outfile)
gna
C / C++ › Typedef v C ?
1. 1. 2023   #390759

Můžeš si napsat pomocnou funkci nebo makro, ale jinak ne, C nemá výchozí hodnoty nebo konstruktory struktur.

#define FRAM(name) Fram name = { .staticS = 0b111 };
...
FRAM(fram);
fram.w1 = ...;
gna
Python › list s využitím if
31. 12. 2022   #390756

Nevím, vypisuješ obsah toho seznamu, tak bys měl vidět, co tam je a není, ale tipl bych, že třeba zadáváš ta jména jako "petr, pavel" a pak tam máš tu mezeru navíc ("petr" a " pavel").

gna
JavaScript, AJAX, jQuery › jquery odpočet
29. 12. 2022   #390753

A ty funkce parseTimespan a formatTimespan neexistují. Jde jen o princip.

gna
JavaScript, AJAX, jQuery › jquery odpočet
29. 12. 2022   #390752

Funkcí setInterval můžeš naplánovat periodické spouštění funkce, ve které ty časy upravíš.

function startTimer() {
    setInterval(updateTimes, 1000);
}
function updateTimes() {
    for (const el of document.querySelectorAll('.timer')) {
        el.innerText = formatTimespan(parseTimespan(el.innerText) - 1);;
    }
}

To časování není úplně přesné, takže takový pokus každou sekundu odečíst 1 sekundu se ti při delším běhu trochu rozjede. Ideální by bylo, kdybys tam měl finální čas expirace a vždycky z aktuálního času počítal zbývající dobu.

gna
MS SQL › Moje semetrální práce
26. 12. 2022   #390746

#2 Missu
Máš tam i řešení, co ti nefunguje?

gna
C / C++ › Přepis v souboru na velká pí…
20. 12. 2022   #390742

Tohle je těžké. Jedna věc je se na něčem zaseknout a hodně jiná věc je mít (zkopírovat) 5 funkcí a nechápat ani řádek.

Tak na ten kód chvíli zírej a uvidiš, že se funkcím předávají nějaké hodnoty jako parametry a vracejí jiné hodnoty jako výsledky. A pak stačí stejným způsobem tu konverzní funkci aplikovat na načtený text.

gna
C / C++ › BFS - C++
18. 12. 2022   #390735

Třeba máš ty uzly očíslované, tak začátek a konec zadáš jako číslo.

Při návštěvě každého uzlu si můžeš uložit, odkud jsi na něj přišel a z toho pak zrekonstruovat cestu.

gna
C / C++ › string vypisuje 2x
17. 12. 2022   #390733

Protože příznak konce souboru (nebo chyby) se nastaví až když se pokusíš číst za koncem a protože getline tu výstupní proměnnou nijak nemění když nic nenačte.

  • Čili načteš poslední řádek a vypíšeš ho.
  • Soubor je vpořádku, tak čteš dál. Fakticky jsi na jeho konci, tak teď to selže a do myline se nic nevloží a je tam předchozí hodnota, kterou znova vypíšeš.
  • Až teď detekuješ konec souboru a cyklus končí.

Můžeš dát přímo getline jako podmínku toho cyklu.

while (getline(myfile, myline))
{ 
    cout << myline << '\n';
}
gna
Python › Python unit test
12. 12. 2022   #390719

Nepoužil jsi nic z toho, co jsem ti poradil a máš to ještě blběji než předtím.

gna
Python › Python unit test
11. 12. 2022   #390717

   

# === example.py
def coding(s):
    ...
    return void  # nazev `void` je hodne blby

def decoding(s):
    ...
    return void

def main():
    while ...:
        ...
        if d==1:
            print(coding(vstup))
        else:
            print(decoding(vstup))

if __name__ == "__main__":
    main()

# === test.py
def test_coding():
    assert coding("A") == ".-"
    ...
gna
Python › Python unit test
10. 12. 2022   #390715

Ve funkci `decoding` máš pracovat s parametrem `s`, ne s globální proměnnou `a`.

Tu interaktivní smyčku spouštěj jen při přímém spuštění skriptu, ne při jeho importu odjinud (z testu). Přímé spuštění poznáš tak, že proměnná `__name__` má hodnotu "__main__".

V tom testu ve funkci `test_coding` budeš testovat funkci `coding` (ne test_coding). A `coding` tedy nebude výsledek vypisovat, ale bude ho vracet jako návratovou hodnotu (příkaz return). To samé pro `decoding`.

`pytest.raises` testuje jestli někde (kdekoliv) v tom bloku dojde k uvedené vyjímce. Ty asi chceš testovat, že všechny ty varianty tu vyjímku vyhodí (a tam mi není jasné proč by "r" mělo házet TypeErrror).

gna
PHP › Funkce XOR obecně
8. 12. 2022   #390710

#3 oxidián
XOP a !== přece není jedno a to samé

Když už sis to rozepsal do té tabulky, tak přece musíš vidět, že tě prakticky zajímá rovnost (a potažmo, že test nerovnosti je jako xor).

gna
Pascal › Lazarus - databaze SDF
7. 12. 2022   #390705

Podle Wikipedie SQLCE podporuje OLEDB, takže by to mohlo jít, ale nevím.

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
3. 12. 2022   #390701

Pořád nevím, jestli tomu rozumím správně :-)

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^(.*)$" "clanky/$1.php" [QSA,L]
gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
3. 12. 2022   #390696

Mně není jasné, jak to má fungovat. Možná to spíš rozepiš jako adresy.

index... => index...
foo => clanky/foo.php
??? => ???

Nebo všechno směruj na jeden skript, kde si to url rozparsuješ a naincluduješ soubory jak chceš. Ať už rewritem nebo jako ErrorDocument.

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390693

Nepostřehl jsem ten edit, že už ti to chodí. Asi se ti to stejně chová jinak než mně, ale hlavně, že to šlape :-)

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390692

Aha, to jsem špatně pochopil ten první konfig.

Ale prostě to přepisuje na /clanky/, tak tam buď dej celou cestu, nebo umaž to lomítko a "předponu" dej do rewritebase.

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390690

#12 oxidián
Přitom to tam je. Takže by to měl najít.

Něco tam je, když ti to projde přes cond -f. Ale asi tam není /clanky/ když je to /adresarstranky/clanky/

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390688

Já jsem to zkusil bez toho lomítka a funguje to. Dává to smysl, nevím proč jsem měl zafixováno, že se RewriteBase přidává vždycky.

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390686

Nevím, možná pages bez toho počátečního lomítka, ale myslím si, že by se RewriteBase mělo vždycky předřadit. V dokumentaci taky nic nevidím a instalovat se mi to nechce :-)

Nebo možná prostě napiš do RewriteRule tu cestu celou.

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390684

dev a prod jako "development" a "production" server.

Přidej tam [R] ať vidíš kam to přesměrovává.

gna
Visual Basic › Zkopírování hodnot barev a n…
2. 12. 2022   #390682

Co bys tady do toho komentáře napsal? Že Interior je vnitřek a Color je barva?

gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
2. 12. 2022   #390681

Jj, na tom localhostu potřebuješ zachovat to počáteční /mojestranka. Mělo by stačit upravit RewriteBase.

# dev
RewriteBase /mojestranka
# prod
RewriteBase /
gna
Webové servery (Apache, IIS...), .htaccess › Apache a nastavení mod rewri…
1. 12. 2022   #390671

Jestli správně chápu, o co ti jde, tak to bude fungovat, tak jak chceš.

Ten přepis proběhne jen na serveru. Z pohledu prohlížeče, když budeš mít "/foo" a v něm "něco.css", tak to bude "/něco.css".

To [L] znamená last / konec zpracování. Jestli nechceš dělat nic dalšího, tak to tam můžeš přidat.

A asi bych do toho regexu na konec přidal $, pokud chceš matchovat jen "bar" a ne třeba i "barman".

gna
MySQL › Identifikácia hostu clienta
30. 11. 2022   #390667

MySQL dělá obousměrný překlad ipadresa->hostname->ipadresa a ty adresy musí sedět. Výsledky se cachují, možná ti tam z testování visí negativní záznam.

Takže ověř, že se ti to v obou směrech resolvuje správně a vyprázdni DNS cache pomocí FLUSH HOSTS.  A pro jistotu se podívej jestli jsi tam nezapomněl nějaké testovací účty, které by navzájem kolidovaly.

gna
JavaScript, AJAX, jQuery › Když se obrázek nevejde na š…
29. 11. 2022   #390663

#13 oxidián
Já jsem chytil toho skrolování, protože na mobilech typicky nechytáš a netaháš posuvníky na kraji okna, ale vnitřní obsah toho okna. Takže efekt je stejný.

 

 

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