Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.
Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou
… více »Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po
… více »Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 161 (pdf).
Po delší době vývoje vyšla nativní linuxová verze virtuálního bubeníka MT-PowerDrumKit 2 ve formátu VST3. Mezi testovanými hosty jsou Reaper, Ardour, Bitwig a Carla.
Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.
OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.
Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.
mám proměnné
pole=array['0položka','1položka','2položka','3položka','4položka','5položka','6položka','7položka','8položka','9položka']
$aktualni_ID=0
$max_polozek_na_stranku=3
$celkem_polozek=10
for(i=$aktualni_ID;i=$max_polozek_na_stranku; i++ )
if($aktualni_ID==i)
echo pole[i].'<<<'
else
echo pole[i]
Kroky směrem dolů
0položka<<<
1položka
2položka
0položka
1položka<<<
2položka
0položka
1položka
2položka<<<
1položka
2položka
3položka<<<
2položka
3položka
4položka<<<
3položka
4položka
5položka<<<
4položka
5položka
6položka<<<
5položka
6položka
7položka<<<
6položka
7položka
8položka<<<
7položka
8položka
9položka<<<
Kroky zpět (směrem nahoru)
7položka
8položka
9položka<<<
7položka
8položka<<<
9položka
7položka<<<
8položka
9položka
6položka<<<
7položka
8položka
5položka<<<
6položka
7položka
4položka<<<
5položka
6položka
3položka<<<
4položka
5položka
2položka<<<
3položka
4položka
1položka<<<
2položka
3položka
0položka<<<
1položka
2položka
<?php
// (C) 2022, Dušan Kreheľ
// Licence: MIT
class MenuBox
{
private $items=array();
private $items_count=array();
private $max_items=10;
private $position=0; /* index */
private $box_first=0; /* index */
function __construct($items, $draw_max_items)
{
$this->items=$items;
$this->max_items=$draw_max_items;
$this->items_count=count($items);
}
function down()
{
if($this->position == ($this->items_count-1))
return;
$this->position++;
if(abs($this->position-$this->box_first) == $this->max_items)
$this->box_first++;
}
function up()
{
if($this->position == 0)
return;
if($this->position == $this->box_first)
$this->box_first--;
$this->position--;
}
function draw()
{
$count_steps=$this->max_items + $this->box_first;
for($i=$this->box_first;$i<$count_steps;$i++)
if($i == $this->position)
echo " \033[35m".$this->items[$i]."\033[0m\n";
else
echo " ".$this->items[$i]."\n";
echo "\n";
}
}
$items=array("A","B","C","D","E","F","G");
$box= new MenuBox($items, 4);
$box->draw();
$box->down();
$box->draw();
$box->down();
$box->draw();
$box->down();
$box->draw();
$box->down();
$box->draw();
$box->down();
$box->draw();
$box->down();
$box->draw();
echo "hore dalej\n";
$box->up();
$box->draw();
$box->up();
$box->draw();
$box->up();
$box->draw();
$box->up();
$box->draw();
$box->up();
$box->draw();
$box->up();
$box->draw();
<?php
// (C) 2022, Dušan Kreheľ
// Licence: MIT
class MenuBox
{
private $items=array();
private $items_count=-1;
private $max_items=10;
private $position=0;
private $box_first=0;
function __construct($items, $draw_max_items)
{
$this->items=$items;
$this->max_items=$draw_max_items;
$this->items_count=count($items);
}
function down()
{
if($this->position == ($this->items_count-1))
return;
$this->position++;
if(abs($this->position-$this->box_first) == $this->max_items)
$this->box_first++;
}
function up()
{
if($this->position == 0)
return;
if($this->position == $this->box_first)
$this->box_first--;
$this->position--;
}
function draw()
{
$count_steps=$this->max_items + $this->box_first;
for($i=$this->box_first;$i<$count_steps;$i++)
if($i == $this->position)
echo " \033[35m".$this->items[$i]."\033[0m\n";
else
echo " ".$this->items[$i]."\n";
echo "\n";
}
function set_position($index_position, $index_box_first_line)
{
$this->position=$index_position;
$this->box_first=$index_box_first_line;
}
}
$items=array("A","B","C","D","E","F","G");
$box= new MenuBox($items, 4);
$box->set_position(2, 1);
$box->draw();
$box->down();
$box->draw();
$box->set_position(2, 1);tak tu hodnotu 1 musíš vypočítat ručně, ne? Myslel jsem spíš volat jen s jednou hodnotou a tu druhou by si vypočítal sám.
$box->set_position(2);Omlouvám se, ale nevím jestli se vyjadřuji k pochopení.
first = count - lines
if sel < first:
first = sel - (lines // 2)
if first < 0:
first = 0
kde first je index první položky menu, count je počet položek menu, lines je počet řádek menu
#!/usr/bin/env python3
def draw(sel, lines):
menu = ('a', 'b', 'c', 'd', 'e', 'f')
count = len(menu)
first = count - lines
if sel < first:
first = sel - (lines // 2)
if first < 0:
first = 0
print('-------------')
for line in range(lines):
item = line + first
print(menu[item], '<<<' if item == sel else '')
for sel in range(7):
draw(sel, 3)
výstup je:
$ python3 menu.py ------------- a <<< b c ------------- a b <<< c ------------- b c <<< d ------------- d <<< e f ------------- d e <<< f ------------- d e f <<< ------------- d e f
Tiskni
Sdílej: