<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - JavaScript</title>
<link>https://forum.pasja-informatyki.pl/questions/programowanie/javascript</link>
<description>Powered by Question2Answer</description>
<item>
<title>Dwa zdarzenia następujące po sobie na jednej stronie</title>
<link>https://forum.pasja-informatyki.pl/599187/dwa-zdarzenia-nastepujace-po-sobie-na-jednej-stronie</link>
<description>Jak w tytule - istnieje możliwość użycia dwóch zdarzeń myszy następujących po sobie w tym samym pliku .html? Z tego co zauważyłem jedynie pierwszy link z listy jest interpretowany. Istnieje jakiś separator?&lt;br /&gt;
&lt;br /&gt;
Pytanie teoretyczne.</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/599187/dwa-zdarzenia-nastepujace-po-sobie-na-jednej-stronie</guid>
<pubDate>Mon, 22 Sep 2025 20:36:11 +0000</pubDate>
</item>
<item>
<title>addeventlistener czy zamiast funkcja inline js</title>
<link>https://forum.pasja-informatyki.pl/598715/addeventlistener-czy-zamiast-funkcja-inline-js</link>
<description>

&lt;p&gt;Taki offtop, niby funkcja inline jest złą praktyką, ale czy na pewno?&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;AI&lt;/p&gt;



&lt;p&gt;Jeśli dodajesz nasłuchiwacze zdarzeń (addEventListener) do elementów, które później usuwasz poprzez container.innerHTML = &quot;&quot;, event listenery NIE są automatycznie czyszczone. Elementy zostają usunięte z DOM-u, ale ich referencje mogą pozostać w pamięci, co może prowadzić do wycieków pamięci.&lt;/p&gt;



&lt;p&gt;Garbage Collector nie usunie event listenera, dopóki nie przestanie być używany w kodzie. Jeśli jakiś obiekt nadal ma referencję do usuniętego elementu, będzie on &quot;żył&quot; w pamięci.&lt;/p&gt;
&lt;/blockquote&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598715/addeventlistener-czy-zamiast-funkcja-inline-js</guid>
<pubDate>Wed, 21 May 2025 20:48:53 +0000</pubDate>
</item>
<item>
<title>gra do dokończenia</title>
<link>https://forum.pasja-informatyki.pl/598579/gra-do-dokonczenia</link>
<description>dzień dobry&lt;br /&gt;
&lt;br /&gt;
zaczęłem tworzyć gre z wykorzystaniem canvas ale z niej zrezygnowałem bo czuję że nie dam rady jej dokończyć bo dopiero zdobywam doświadczenie związane z tworzeniem gier. po za tym jestem już sfrustrowany bo pracuję już nad tym kilka godzin a efekty są niewielkie. Myślę jednak że sama gra może mieć potencjał więc aby go nie marnować zostawiam ją do dokończenia (lub napisania jej od nowa bo jak pisałem wyżej nie mam w tworzeniu gier, więc kod z punktu widzenia zaawansowanych programistów jest raczej kiepski)&lt;br /&gt;
&lt;br /&gt;
sama gra polegałaby w moim zamyśle ma tym, że na dole ekranu jest gracz który musi bronić się przed zombie nadchodzącymi z góry na 1 z 5 ścieżek. gracz może zmieniać ścieżki (platformy na których stoi) klikając na nie. przegrywa jeśli zombie dotrą do muru osłaniającego gracza i go zniszczą. planowałem dodać też uplepszenia obrażeń gracza, prędkości, broni, itp. z czasem mogły by się pojawiać różne, mocniejsze typy zombie. narazie gra jest na etapie że jest gracz, mur, tło, gracz i zombie mogą się przemieszczać , a zombie traci hp i umiera jeśli gracz w niego trafi. próbowałem teraz dodać system fal, ale gdy odpalam gre po pewnym czasie wszystko się jakoś dziwnie przemieszcza i wogóle jest jakiś haos, podejrzewam że to przez obracanie zombie, ale można to usunąć poprostu obracając fizycznie pliki &amp;nbsp;bez robienia tego w canvas. w każdym razie już poprostu nie chce mi się tego kończyć, nie mam komputera a telefon ma ograniczone możliwości.&lt;br /&gt;
&lt;br /&gt;
jeśli zdecydujesz się ją dokończyć to przepraszam za złe ścieżki do plików - tworzyłem to na telefonie a z niego nie da się (chyba) przesyłać folderów na strony więc poprostu przesłałem pliki bez zmiany ścieżek bo trochę ich było a mi się nie chciało ich zmieniać.&lt;br /&gt;
&lt;br /&gt;
pliki: &lt;a href=&quot;https://gofile.io/d/14dG5h&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://gofile.io/d/14dG5h&lt;/a&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598579/gra-do-dokonczenia</guid>
<pubDate>Sat, 26 Apr 2025 19:08:28 +0000</pubDate>
</item>
<item>
<title>Image component w NextJS 14</title>
<link>https://forum.pasja-informatyki.pl/598033/image-component-w-nextjs-14</link>
<description>Witam, miał ktoś może problem z nextowym komponentem Image, który nie ładował wybiórczych zdjęć dostępnych z api? Mam ExpressAPI na osobnym porcie adresu, które służy do uploadu i downloadu zdjęć, generalnie to działa. Informacje o fotkach mam na mongodb atlas. Problem pojawia się gdy chcę wyświetlić wszystkie zdjęcia z danego albumu. Jak się okazuje optymalizacja obrazów nexta coś świruje i wybiórcze fotki wywalają błąd 404 (zawsze te same - i nie, raczej nie jest to wina uszkodzonych plików ponieważ jak wrzucę samą jedną fotkę, która wcześniej się nie pojawiała to nagle magicznie działa) - pomimo tego że są dostępne jak wkleję w przeglądarkę zoptymalizowany link.&lt;br /&gt;
Gdy wyłączą optymalizację obrazów nexta no to śmiga, natomiast zależy mi żeby ją zachować.&lt;br /&gt;
&lt;br /&gt;
Spotkał się ktoś kiedyś z podobnym problemem?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598033/image-component-w-nextjs-14</guid>
<pubDate>Tue, 11 Feb 2025 08:56:40 +0000</pubDate>
</item>
<item>
<title>Fullscrean w phaser 3</title>
<link>https://forum.pasja-informatyki.pl/597914/fullscrean-w-phaser-3</link>
<description>

&lt;p&gt;W głównej scenie gry próbuje najpierw ustawić okno gry w trybie fullscrean a następnie po 3 sekundach wrócić do pierwotnych ustawień, niestety&amp;nbsp;działa&amp;nbsp;to tylko w jedną stronę i nie mogę wrócić co początkowego&amp;nbsp;rozmiaru&amp;nbsp;okna (okno wciąż zajmuje cały ekran a chciałbym aby znajdowało się w ramce na środku ekranu). kod odpowiedzialny za te funkcje znajduję się poniżej. Bardzo proszę o pomoc&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
this.time.delayedCall(3000,()=&amp;gt;{
            
            this.scale.scaleMode = Phaser.Scale.FIT; 
            this.scale.autoCenter = Phaser.Scale.CENTER_BOTH; 
            this.scale.refresh(); 
        });
        this.time.delayedCall(6000,()=&amp;gt;{
            this.scale.scaleMode = Phaser.Scale.NONE;
            this.scale.resize(1280, 600);
            this.scale.refresh();

        });&lt;/pre&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=2461930972078136916&quot; style=&quot;height:337px; width:600px&quot;&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=11612052274494993150&quot; style=&quot;height:337px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/597914/fullscrean-w-phaser-3</guid>
<pubDate>Mon, 27 Jan 2025 22:01:17 +0000</pubDate>
</item>
<item>
<title>WebSocket połączenie 2 komputerów</title>
<link>https://forum.pasja-informatyki.pl/597890/websocket-polaczenie-2-komputerow</link>
<description>

&lt;p&gt;Skoro już mowa o prawdziwym Janusz sofcie, czy znacie jakieś pozycje książkowe najlepiej po Polsku, by można było napisać własne &lt;a href=&quot;https://www.mathwhiteboard.com/,&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.mathwhiteboard.com/,&lt;/a&gt; bo praktyce Paint i Skype są dużo lepsze, tylko nie można rysować na jednym płótnie. I Paint nie ma svg, i gumka jest do niczego. Z dodaniem funkcjonalności do strony offline nie ma problemu.&lt;/p&gt;



&lt;p&gt;Koncepcje mam i kod szkice strony offline mam. YouTube (po angielsku) przejrzałem(tylko jakiś wirus się wkradł) i wiem co nieco o WebSocket. MDN też odwiedziłem.&lt;/p&gt;



&lt;p&gt;1) Norton lub Eset jako VPN i &lt;a href=&quot;https://gist.github.com/massahud/321a52f153e5d8f571be&quot; rel=&quot;nofollow&quot;&gt;portable&lt;/a&gt; node.js. Czy to dobry pomysł.&lt;/p&gt;



&lt;p&gt;2) Może &lt;a href=&quot;https://firebase.google.com/,&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://firebase.google.com/,&lt;/a&gt; ale pewnie trzeba będzie podać kartę czy coś, a ja nie lubię takich rozwiązań.&lt;/p&gt;



&lt;p&gt;3) Przesyłanie przez blob czy to dobry pomysł?&lt;/p&gt;



&lt;p&gt;4) Ewentualnie inne rozwiązania.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/597890/websocket-polaczenie-2-komputerow</guid>
<pubDate>Fri, 24 Jan 2025 20:56:56 +0000</pubDate>
</item>
<item>
<title>Problem z raycastingiem</title>
<link>https://forum.pasja-informatyki.pl/597496/problem-z-raycastingiem</link>
<description>

&lt;p&gt;Próbuje napisać prostą grę w stylu dooma w Phaser, jednak mam pewien problem z raycastingiem. Dla linii poniżej postaci wszystko działa prawidłowo, jednak dla tych których przecięcie znajduje się nad postacią wyświetlane są błędne pozycje przecięć co można zobaczyć na obrazku poniżej (zielone punkty oznaczają zarejestrowane przecięcia). Poniżej zamieszczam także algorytm który ustala te punkty. Bardzo proszę o pomoc&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
createHits(){
        for(let i=0;i&amp;lt;80;i++){

            this.hits[i].distance=0;
            this.hits[i].x=0;
            this.hits[i].y=0;
            this.hits[i].id=0;
            const hits=this.layer.getTilesWithinShape(this.rays[i]);
            let closerTile=null;
            let distance=0;
            let first=true;
            let tempDistance=0
            hits.forEach(tile=&amp;gt;{
                if(tile.index!=-1){
                    tempDistance=Phaser.Math.Distance.Between(tile.pixelX+300,tile.pixelY+300,this.player.x,this.player.y);
                    if(first||(tempDistance&amp;lt;distance)){
                        distance=tempDistance;
                        closerTile=tile;
                        first=false;
                    }
                }
            })
            if(first){
                
                continue;
            
            }
            let temp=[];
            temp.push({x:closerTile.pixelX,y:closerTile.pixelY})
            temp.push({x:closerTile.pixelX+600,y:closerTile.pixelY})
            temp.push({x:closerTile.pixelX+600,y:closerTile.pixelY+600})
            temp.push({x:closerTile.pixelX,y:closerTile.pixelY+600})
            
            let searchPoint;
            if(!(searchPoint=this.findLine(temp,this.rays[i],this.player)))
                continue;
            
            this.hits[i].distance=Math.sqrt((searchPoint.x-this.player.x)**2+(searchPoint.y-this.player.y)**2);
            this.hits[i].x=searchPoint.x;
            this.hits[i].y=searchPoint.y;
            this.hits[i].id=3;
            
        }
    }

    findLine(corners,ray,player){
        const edges = [
            { x1: corners[0].x, y1: corners[0].y, x2: corners[1].x, y2: corners[1].y }, // Górna krawędź
            { x1: corners[1].x, y1: corners[1].y, x2: corners[2].x, y2: corners[2].y }, // Prawa krawędź
            { x1: corners[2].x, y1: corners[2].y, x2: corners[3].x, y2: corners[3].y }, // Dolna krawędź
            { x1: corners[3].x, y1: corners[3].y, x2: corners[0].x, y2: corners[0].y }  // Lewa krawędź
        ];
    
        let closestPoint = null;
        let closestDistance = Infinity;
    
        edges.forEach(edge =&amp;gt; {
            const intersection = new Phaser.Geom.Point();
            if (Phaser.Geom.Intersects.LineToLine(ray, edge, intersection)) {
                const dist = Phaser.Math.Distance.Between(player.x, player.y, intersection.x, intersection.y);
                if (dist &amp;lt; closestDistance) {
                    closestDistance = dist;
                    closestPoint = intersection;
                }
            }
        });
    
        return closestPoint;
    }
    &lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=7305834022504725046&quot; style=&quot;height:558px; width:600px&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=11263461196026931900&quot; style=&quot;height:548px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/597496/problem-z-raycastingiem</guid>
<pubDate>Wed, 25 Dec 2024 23:33:26 +0000</pubDate>
</item>
<item>
<title>Skrypt w formie shortcode - problem z ładowaniem</title>
<link>https://forum.pasja-informatyki.pl/597425/skrypt-w-formie-shortcode-problem-z-ladowaniem</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;dodałem sobie na Wordpressie kod z Trading View i przerobiłem go na shortcode. Zarówno Firefox jak i Chrome mają problem. Co ciekawe chrome działał i nagle przestał, firefox od początku nie wyświetlał. W konsoli widzę takie błędy:&lt;/p&gt;



&lt;p&gt;Firefox:
&lt;br&gt;
&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=1614184324339228608&quot; style=&quot;height:392px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Chrome:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6195645907749408650&quot; style=&quot;height:363px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
// Funkcja obsługująca shortcode
function tv_shortcode( $atts ) {
 
    $atts = shortcode_atts(
        array(
            'chart' =&amp;gt; '', // Domyślnie pusty, jeśli nie podany
			'width' =&amp;gt; '640',
			'height' =&amp;gt; '400'
        ),
        $atts,
        'chart_shortcode'
    );

    if ( !empty( $atts['chart'] ) ) {
        $chart_html = '
            &amp;lt;!-- TradingView Chart BEGIN --&amp;gt;
            &amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://s3.tradingview.com/tv.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
            &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
                var tradingview_embed_options = {};
                tradingview_embed_options.width = &quot;' . esc_js( $atts['width'] ) . '&quot;;
                tradingview_embed_options.height = &quot;' . esc_js( $atts['height'] ) . '&quot;;
                tradingview_embed_options.chart = &quot;' . esc_js( $atts['chart'] ) . '&quot;;
                new TradingView.chart(tradingview_embed_options);
            &amp;lt;/script&amp;gt;
            &amp;lt;p&amp;gt;&amp;lt;a href=&quot;https://pl.tradingview.com/chart/' . esc_js( $atts['chart'] ) . '/&quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
            &amp;lt;!-- TradingView Chart END --&amp;gt;
        ';
        return $chart_html;
    } else {
        return 'Proszę podać adres wykresu w atrybucie chart.';
    }
}

add_shortcode( 'tv_chart', 'tv_shortcode' );&lt;/pre&gt;



&lt;p&gt;I w ten sposób dodaje sobie wykresy na jakiejś tam stronie: [tv_chart chart='tutaj adres wykresu']. Nawet jak testuje dodanie tylko jednego to jest ten sam problem.&lt;/p&gt;



&lt;p&gt;Żaden ze mnie ekspert programowania więc proszę o pomoc z czym problem i jak go rozwiązać.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/597425/skrypt-w-formie-shortcode-problem-z-ladowaniem</guid>
<pubDate>Thu, 19 Dec 2024 12:45:04 +0000</pubDate>
</item>
<item>
<title>Symulowanie kliknięcia klawisza w JS</title>
<link>https://forum.pasja-informatyki.pl/596829/symulowanie-klikniecia-klawisza-w-js</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
piszę skrypt do strony i natrafiłem na problem. Muszę zasymulować kliknięcie przycisku na klawiaturze. Powinna się wtedy wykonać operacja, która wykonałaby się przez normalne kliknięcie tj.: jeśli był zaznaczony input i JS &amp;quot;kliknie&amp;quot; literę s to w inpucie pojawi się s, jeśli na stronie jest jakaś funkcja przypisana pod klawisz 'E' to jeśli JS &amp;quot;kliknie&amp;quot; E to wykona się ta funkcja itd...&lt;br /&gt;
&lt;br /&gt;
Szukałem rozwiązań, jednak w większości są to poradniki jak rozpoznać, który klawisz ZOSTAŁ KLIKNIĘTY, a nie jak KLIKNĄĆ ten przycisk. Podejrzewam, że jest jakieś zdarzenie dotyczące wciśnięcia klawisza, ale jeśli to prawda to nie wiem jak wywołać zdarzenie.&lt;br /&gt;
&lt;br /&gt;
Z góry dzięki,&lt;br /&gt;
&lt;br /&gt;
Pozdrawiam.</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/596829/symulowanie-klikniecia-klawisza-w-js</guid>
<pubDate>Sat, 16 Nov 2024 10:46:24 +0000</pubDate>
</item>
<item>
<title>NuxtJS renderowanie SSR  a odpowiedzi JSON</title>
<link>https://forum.pasja-informatyki.pl/595948/nuxtjs-renderowanie-ssr-a-odpowiedzi-json</link>
<description>

&lt;p&gt;Witajcie, mam problem ze zrozumieniem SSR, może ktoś mi to rozjaśnić&lt;/p&gt;



&lt;p&gt;wchodzę na stronę główną przekierowuje mnie na /login, która wyświetla się w network jako html&lt;/p&gt;



&lt;p&gt;loguje się a w network widzę zwrócone json ze statusem 200 i tokenem ?!&lt;/p&gt;



&lt;p&gt;po poprawnym logowaniu przekierowuje usera do /about gdzie wykonuje zapytanie o uprawnienia będzie ich może&amp;nbsp;z 20 opcji może więcej, i całość powinna trafić do mnie jako SSR - gotowy html, dobrze to rozumiem ?&lt;/p&gt;



&lt;p&gt;czemu widzę JSON? w network&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
// &lt;a href=&quot;https://nuxt.com/docs/api/configuration/nuxt-config&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://nuxt.com/docs/api/configuration/nuxt-config&lt;/a&gt;
export default defineNuxtConfig({
  css: [
    &quot;@/assets/main.css&quot;,
  ],
  compatibilityDate: &quot;2024-04-03&quot;,
  devtools: { enabled: true },
 &lt;strong&gt; ssr: true,&lt;/strong&gt;
  app: {
    baseURL: &quot;/&quot;,
  },
  runtimeConfig: {
    public: {
      apiUrl: process.env.VITE_API_URL || 'http://localhost:3000',
    },
    private:{
      JWT_SECRET: process.env.JWT_SECRET,
      COOKIE_NAME: process.env.COOKIE_NAME,
      COOKIE_MAX_AGE: process.env.COOKIE_MAX_AGE,
      COOKIE_SECURE: process.env.COOKIE_SECURE
    }
  },
&lt;strong&gt;  routeRules:{
    &quot;/**&quot;:{
      ssr: true,
      appMiddleware: [&quot;auth&quot;],
    }&lt;/strong&gt;
  },
  devServer:{
    port: 3001,
    host: '0'
  }
});
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
&amp;lt;template&amp;gt;
  &amp;lt;div&amp;gt;
    &amp;lt;h1&amp;gt;Strona About&amp;lt;/h1&amp;gt;
    &amp;lt;div v-if=&quot;role === 'HA'&quot;&amp;gt;Treść dla administratora tutaj&amp;lt;/div&amp;gt;
    &amp;lt;div v-else&amp;gt;Treść dla użytkownika tutaj&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;script setup lang=&quot;ts&quot;&amp;gt;
import { useAsyncData } from '#app';

const { data } = await useAsyncData('userRole', async () =&amp;gt; {
  const response = await $fetch(`${useRuntimeConfig().public.apiUrl}/api/userRole`, {
    method: 'POST',
    credentials: 'include',
    headers: {
      'Content-Type': 'application/json',
    },
  });
  return response;
});

const role = data.value.role;
&amp;lt;/script&amp;gt;

&lt;/pre&gt;



&lt;p&gt;a nie działa to jak w php, po zalogowaniu się dostaje gotowy index.php&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://i.ibb.co/3snPKW9/r435634.png&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i.ibb.co/3snPKW9/r435634.png&quot; style=&quot;height:139px; width:608px&quot;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://i.ibb.co/yhyQGDm/213213.png&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i.ibb.co/yhyQGDm/213213.png&quot; style=&quot;height:507px; width:1298px&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://i.ibb.co/L13wp6n/8686.png&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i.ibb.co/L13wp6n/8686.png&quot; style=&quot;height:509px; width:1162px&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595948/nuxtjs-renderowanie-ssr-a-odpowiedzi-json</guid>
<pubDate>Wed, 18 Sep 2024 13:33:43 +0000</pubDate>
</item>
<item>
<title>Dropdown menu JavaScript</title>
<link>https://forum.pasja-informatyki.pl/595601/dropdown-menu-javascript</link>
<description>

&lt;p&gt;Witam, mam pytanie do bardzej doświadczonych kolegów, czy można moj kod napisać lepiej albo go ulepszyć ?&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const dropdowns = document.querySelectorAll('.navbar-item.has-dropdown');

const removeActive = (ignored) =&amp;gt; {
      dropdowns.forEach(drop =&amp;gt; {
            if (drop !== ignored) {
                  drop.classList.remove('is-active');
            }
      });
};

dropdowns.forEach(dropdown =&amp;gt; {
      dropdown.addEventListener('click', () =&amp;gt; {
            removeActive(dropdown);
            dropdown.classList.toggle('is-active');
      });
});&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595601/dropdown-menu-javascript</guid>
<pubDate>Tue, 20 Aug 2024 08:02:35 +0000</pubDate>
</item>
<item>
<title>Ścieżki w webpacku.</title>
<link>https://forum.pasja-informatyki.pl/595445/sciezki-w-webpacku</link>
<description>

&lt;p&gt;Hej wszystkim!
&lt;br&gt;

&lt;br&gt;
Mam taki problem - otóż mam projekt zrobiony przy użyciu Webpacka. Problemem jest to że przy buildowaniu&amp;nbsp;projektu ścieżki nie są poprawnie wczytywane.
&lt;br&gt;

&lt;br&gt;
&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=1233438848821828630&quot; style=&quot;height:89px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Z ciekawości zmieniłem w jednym z plików:
&lt;br&gt;
&amp;lt;link rel=&quot;icon&quot; type=&quot;image/png&quot; href=&quot;/src/assets/img/favicon.png&quot;/&amp;gt;
&lt;br&gt;
na:
&lt;br&gt;
&amp;lt;link rel=&quot;icon&quot; type=&quot;image/png&quot; href=&quot;./src/assets/img/favicon.png&quot;/&amp;gt;
&lt;br&gt;

&lt;br&gt;
Po dodaniu kropki przed /src/ favicona się pojawiła.&lt;/p&gt;



&lt;p&gt;Jeżeli chodzi o mój config webpackowy to wygląda tak:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const path = require(&quot;path&quot;);
const TerserPlugin = require(&quot;terser-webpack-plugin&quot;);
const plugins = require(&quot;./plugins&quot;);
const loaders = require(&quot;./loaders&quot;);
const HtmlWebpackPlugin = require(&quot;html-webpack-plugin&quot;);

const isDev = process.env.NODE_ENV !== 'production';

module.exports = {
  mode: &quot;production&quot;,
  entry: {
    index: &quot;./src/app.js&quot;,
  },
  devtool: isDev ? &quot;inline-source-map&quot; : false,
  stats: { warnings: false, children: true }, // Hide warnings, show children stats
  output: {
    filename: &quot;scripts/[name].js&quot;,
    path: path.resolve(__dirname, &quot;/dist&quot;),
    clean: true,
  },
  devServer: {
    headers: {
      'Cache-Control': 'public, max-age=31536000'
    }
  },
  module: {
    rules: loaders,
  },
  resolve: {
    extensions: [&quot;.js&quot;, &quot;.css&quot;, &quot;.vue&quot;],
    alias: {
      vue$: &quot;vue/dist/vue.esm.js&quot;,
    },
  },
  plugins: [
    ...plugins,
    new HtmlWebpackPlugin({
      title: 'Caching',
    }),
  ],
  optimization: {
    moduleIds: 'deterministic',
    chunkIds: isDev ? &quot;named&quot; : &quot;total-size&quot;,
  },
};&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;
Napomknę tylko że projekt był wcześniej utrzymywany na Linuxie, a teraz korzystam z Windows.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595445/sciezki-w-webpacku</guid>
<pubDate>Fri, 02 Aug 2024 07:53:20 +0000</pubDate>
</item>
<item>
<title>komendy w ifie w funkcji</title>
<link>https://forum.pasja-informatyki.pl/595050/komendy-w-ifie-w-funkcji</link>
<description>

&lt;p&gt;Witam, nie ukrywam, ze miałem duży problem z interpretowaniem, bloków kodu. Jednak udało mi się zrobić na zasadzie:&lt;/p&gt;



&lt;ul&gt;
	

&lt;li&gt;rozdziel ; a w cele funkcji zapisuj komendy bez ; na końcu.&lt;/li&gt;
	

&lt;li&gt;a w samym bloku do interpetowania funckji&amp;nbsp;dodawaj do ciała funkcji na koniec lini ;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;.lecz spotkałem duży problem, gdyż gdy stworze funkcje z ifem w środku, w którym z kolei będą komendy, funkcja zostanie zainterptretowana ale if nie będzię&amp;nbsp;pasować. Czy ktoś ma jakieś&amp;nbsp;rozwiązanie tego? oczywiście wiem ze gdybym napisał prawdziwy interpreter to nie &amp;nbsp;miałbym&amp;nbsp; tego problemu.&lt;/p&gt;



&lt;p&gt;kod:&amp;nbsp;&lt;a href=&quot;https://codepen.io/hist-oria/pen/PovrdQW&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://codepen.io/hist-oria/pen/PovrdQW&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;z góry dziękuje za pomoc&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595050/komendy-w-ifie-w-funkcji</guid>
<pubDate>Sun, 30 Jun 2024 16:58:53 +0000</pubDate>
</item>
<item>
<title>wywoływanie funkcji z obiektu  . ale z dopasowania match</title>
<link>https://forum.pasja-informatyki.pl/594853/wywolywanie-funkcji-z-obiektu-ale-z-dopasowania-match</link>
<description>

&lt;p&gt;problem taki ze chce&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
let text = 'Maths.floor(5.7)';
const Maths = {
    pow: function(w, p) {
        return Math.pow(w, p);
    },
    round: function(x) {
        return Math.round(x);
    },
    floor: function(y) {
        return Math.floor(y);
    }
};

let reg = /(\w+)\.(\w+)\((\d+\.?\d*)\)/;
let match = text.match(reg);&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;próbiwałem z róznymi rzeczmai ale nic nie pomogło wiec&amp;nbsp;&lt;/p&gt;



&lt;p&gt;chce ze&amp;nbsp; by&amp;nbsp;&lt;/p&gt;



&lt;p&gt;załuzmy mamy zmienne&lt;/p&gt;



&lt;p&gt;name = match[1];&lt;/p&gt;



&lt;p&gt;func = match[2]&lt;/p&gt;



&lt;p&gt;arg = match[3]&lt;/p&gt;



&lt;p&gt;a nastepnie chce zrobic tak&amp;nbsp;&lt;/p&gt;



&lt;p&gt;name.func(arg);&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;czyli jesli wpisze Maths.floor(5.3); to powinno zostac wywołane Maths.floor ale to nie działa&amp;nbsp;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;no ktos pomoze&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;moja historia:&lt;/p&gt;



&lt;p&gt;pomysląłem ze w moim pseudo interpreterze zamist uzywac dla kazdej funckji wbudoanej miec dopasowanie mozna zrobci jedno&amp;nbsp; dla kazdej co jest bardzo dla mnie optymalne proste i oszczedne&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594853/wywolywanie-funkcji-z-obiektu-ale-z-dopasowania-match</guid>
<pubDate>Mon, 24 Jun 2024 18:25:38 +0000</pubDate>
</item>
<item>
<title>interpretowanie  operatorów dla komendy takie pytanie</title>
<link>https://forum.pasja-informatyki.pl/594780/interpretowanie-operatorow-dla-komendy-takie-pytanie</link>
<description>takie pytanie co do pewnnych rzeczy w powinno sie w interpreterze &amp;nbsp;uzywac osobnych dopasowan dla operatorów i dla komend bo z tego co widziąłem cos w przykądowym kompilatorze to jest to troche zrobione w sposób łaczenia i to mnie zaciekawiło gdyz w sumie nie wiem czy mój interpreter jest poprawny tez uzywałem w nim dla date i time osobnych wyrazen regularnych .btw zapomniałem napisa co dodaniu tego(ogołnie to gdzie to znikneło przeciez to dodałem ach niewazne ) . wie ktos cos na ten temat?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594780/interpretowanie-operatorow-dla-komendy-takie-pytanie</guid>
<pubDate>Thu, 20 Jun 2024 19:12:24 +0000</pubDate>
</item>
<item>
<title>Wczytywanie grafik w aplikacji React</title>
<link>https://forum.pasja-informatyki.pl/594735/wczytywanie-grafik-w-aplikacji-react</link>
<description>

&lt;p&gt;Witam,
&lt;br&gt;
tworzę aplikację React (typescript) i mam pewien&amp;nbsp;problem z ikonami. Aplikacja posiada wiele ikon, są one przechowywane w plikach svg i wyświetlane w znaczniku img.&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
/* Przykład */

import icon from '../icons/icon.svg'

const Component = () =&amp;gt; {
   return &amp;lt;&amp;gt;
      &amp;lt;img src={icon} alt='Ikona' /&amp;gt;
   &amp;lt;/&amp;gt;
}

export default Component&lt;/pre&gt;



&lt;p&gt;Problem polega na tym, że gdy jakiś komponent jest renderowany, to ikona doczytuje się dopiero po krótkiej chwili.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;W jaki sposób mogę wczytać wszystkie ikony do pamięci przeglądarki na samym początku, aby później nie doczytywały się z opóźnieniem?&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Czy dobrym pomysłem było by utworzenie komponentów dla ikon, które zwracały by kod svg? (Aktualnie aplikacja wykorzystuje ponad 60 ikon, choć ze wzglądu na warianty kolorystyczne liczba potencjalnych komponentów byłaby nieco mniejsza). Chodzi mi o coś w tym stylu:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const IconA = () =&amp;gt; {
   return &amp;lt;svg width=&quot;25&quot; /* [...] */ &amp;gt;
       /* [...] */
   &amp;lt;/svg&amp;gt;
}

export default IconA&lt;/pre&gt;



&lt;p&gt;Dziękuję!&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594735/wczytywanie-grafik-w-aplikacji-react</guid>
<pubDate>Wed, 19 Jun 2024 13:46:21 +0000</pubDate>
</item>
<item>
<title>moja zmora - interpretowanie wielu lini</title>
<link>https://forum.pasja-informatyki.pl/594532/moja-zmora-interpretowanie-wielu-lini</link>
<description>

&lt;p&gt;mecze sie z tym od paru dni ale no&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;

function runCode() {
    const code = document.getElementById('editor').innerText;
    const consol = document.getElementById('console');

    consol.innerHTML = '';
    interpret(code, consol);
}

function interpret(code, consol) {
    let lines = code.split('\n');
    let error = false;
    const Variable = {};

    for (let i = 0; i &amp;lt; lines.length; i++) {
        let line = lines[i].trim();

        let Wrm = /write\s*:\s*(?:&quot;([^&quot;]*)&quot;|(\w+))/;
        let sRm = /sum:\s*((\d+)(?:\s*,\s*\d+)*)\s*;/;
        let Erm = /equal:\s*(\d+)\s*,\s*(\d+)\s*\[([+\-*\/])\];/;
        let Nrm = /nemo\s+(\w+)\s*=\s*(?:&quot;([^&quot;]*)&quot;|([^;]+));/;
        let Drm = /del:\s+(\w+);/;
        let Frm = /^for\((\d+),\s*(\w+)\):\[(?:&quot;([^&quot;]*)&quot;|([^&quot;\]]*))\];/;
        let NSrm = /nemos\s+(\w+)\s*=\s*\[([^\]]*?)\];/;
        let Crm = /clear:\s+(\w+);/;

////////////////////////////////////////////////////

        const MTrm = /(\w+)\s*=\s*(\w+)\[\]/;

        
///////////////////////////////////////////////////
        
        let matchW = line.match(Wrm);
        let matchS = line.match(sRm);
        let matchE = line.match(Erm);
        let matchN = line.match(Nrm);
        let matchD = line.match(Drm);
        let matchF = line.match(Frm);
        let matchNS = line.match(NSrm);
        let matchC = line.match(Crm);

//////////////////////////////////////////////////

        const MTmatch = line.match(MTrm);
        
//////////////////////////////////////////////////
    
           if (matchW) {
             
                let text = matchW[1];
                let varB = matchW[2];
        
                if (text) {
                    consol.innerHTML += text + '&amp;lt;br&amp;gt;';
                } else if (Variable.hasOwnProperty(varB)) {
                    consol.innerHTML += Variable[varB] + '&amp;lt;br&amp;gt;';
                } else {
                    error = true;
                }
            }
        
        else if (matchS) {
            let numer = matchS[1].split(',').map(Number);
            let sum = 0;

            for (let j = 0; j &amp;lt; numer.length; j++) {
                sum += numer[j];
            }
          
         
            consol.innerHTML += `${sum} &amp;lt;br&amp;gt;`;
        } else if (matchE) {
            let vl1 = parseFloat(matchE[1]);
            let vl2 = parseFloat(matchE[2]);
            let pseudooperator = matchE[3];
            let result;

            switch (pseudooperator) {
                case '+':
                    result = vl1 + vl2;
                    break;
                case '-':
                    result = vl1 - vl2;
                    break;
                case '*':
                    result = vl1 * vl2;
                    break;
                case '/':
                    result = vl1 / vl2;
                    break;
                default:
                    error = true;
                    break;
            }

            consol.innerHTML += `${result}&amp;lt;br&amp;gt;`;
        } else if (matchN) {
            if (MTmatch) {
                let TimeName = MTmatch[1];
                let TimeType = MTmatch[2];
                let DATETIMES = new Date(); 
        
                switch (TimeType) {
                    case 'TimeDate':
                        Variable[TimeName] = `${DATETIMES.getHours()}.${DATETIMES.getMinutes()}.${DATETIMES.getSeconds()}|${DATETIMES.getDate()}.${DATETIMES.getMonth() + 1}.${DATETIMES.getFullYear()}`;
                        break;
                    case 'Time':
                        Variable[TimeName] = `${DATETIMES.getHours()}.${DATETIMES.getMinutes()}.${DATETIMES.getSeconds()}`;
                        break;
                    case 'Date':
                        Variable[TimeName] = `${DATETIMES.getDate()}.${DATETIMES.getMonth() + 1}.${DATETIMES.getFullYear()}`;
                        break;
                    default:
                        error = true;
                        break;
                }
            } else {
                let variableName = matchN[1];
                let variableValue = matchN[2];
                Variable[variableName] = variableValue;
        }
    }      else if (matchD) {
            let varDB = matchD[1];
            if (Variable.hasOwnProperty(varDB)) {
                delete Variable[varDB];
            }
        }
          else if (matchF){
              console.log(matchF);
              let li = matchF[1];
              let opr = matchF[2];
              let warc = matchF[3];
              let warcs = matchF[4];

            for (let i = 1; i &amp;lt;= li; i++) {

                switch (opr) {
                    case 'write':

                        if (warc) {
                            consol.innerHTML += `${warc}&amp;lt;br&amp;gt;`;
                        } else if (Variable.hasOwnProperty(warcs)) {
                            consol.innerHTML += `${Variable[warcs]}&amp;lt;br&amp;gt;`;
                        } else {
                            error = true;
                        }
                        break;
                    default:
                        error = true;
                        break;
                }

            }
        }
          else if (matchNS){
            let arrayname = matchNS[1];
              const elm = matchNS[2].split(',').map(element =&amp;gt; element.trim());


              Variable[arrayname] = elm;
          }
            else if(matchC){
                
            }
          
          else {
            error = true;
        }
    }

    if (error) {
        consol.innerHTML = 'Error!';
    }
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;wiem ten kod jets nie do koncony i nie działa dokładnie jeszce ale no&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
gdy kod jest podzielony na linie a kazda linia interpretowana osobno to co zrobic by interpretowało komendy wieloliniowe&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594532/moja-zmora-interpretowanie-wielu-lini</guid>
<pubDate>Tue, 11 Jun 2024 20:43:26 +0000</pubDate>
</item>
<item>
<title>regaxy dla wieku lini - interpreter</title>
<link>https://forum.pasja-informatyki.pl/594445/regaxy-dla-wieku-lini-interpreter</link>
<description>witam własnie napodkałem problem i &amp;nbsp;to duzy czy ktos wie jak za pomoca regaxa pod czas gdy kod jest podzielony na linie interpretowac to &lt;br /&gt;
&lt;br /&gt;
.funckt hej(){&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
mi nie działa bo to jakby pojedyncza linia jets interpretowana nie te wszytskie i jak to rozwiązac</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594445/regaxy-dla-wieku-lini-interpreter</guid>
<pubDate>Sat, 08 Jun 2024 14:39:16 +0000</pubDate>
</item>
<item>
<title>zmienne - interpreter</title>
<link>https://forum.pasja-informatyki.pl/594430/zmienne-interpreter</link>
<description>

&lt;p&gt;witam zacząłem tworzyc zmienne i same zmienne udało mi sie stworzyc tylko mam problem z uzyciem write do wypisania zmiennej udało mi sie podzielic na 2 1 to z &quot;&quot;&amp;nbsp; a 2 to bez &quot;&quot; ale ogólnie gdy wypisuje zawartosc obiektu&amp;nbsp; to undefined choc wszystko niby sie zgadza&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
        if (matchW) {
            console.log(Variable);
            console.log(matchW);
            let text = matchW[1];
            let varB = matchW[2];

            if (text){
                consol.innerHTML += text + '&amp;lt;br&amp;gt;';
            }
            else if (varB){
                console.log(varB)
                consol.innerHTML += Variable[varB] + '&amp;lt;br&amp;gt;';
            }
    }&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;czy ktos pomoze ?&amp;nbsp;&lt;/p&gt;



&lt;p&gt;dodatkowe dane:&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;ol&gt;
	

&lt;li&gt;Object
	

&lt;ol&gt;
		

&lt;li&gt;&quot;hej&amp;nbsp;&quot;: &quot;hello&quot;&lt;/li&gt;
		

&lt;li&gt;[[Prototype]]: Object&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;SCRIPT.js:86&lt;/p&gt;



&lt;ol&gt;
	

&lt;li&gt;Array(3)
	

&lt;ol&gt;
		

&lt;li&gt;0: &quot;write: hej&quot;&lt;/li&gt;
		

&lt;li&gt;1: undefined&lt;/li&gt;
		

&lt;li&gt;2: &quot;hej&quot;&lt;/li&gt;
		

&lt;li&gt;groups: undefined&lt;/li&gt;
		

&lt;li&gt;index: 0&lt;/li&gt;
		

&lt;li&gt;input: &quot;write: hej;&quot;&lt;/li&gt;
		

&lt;li&gt;length: 3&lt;/li&gt;
		

&lt;li&gt;[[Prototype]]: Array(0)&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;SCRIPT.js:94hej&lt;/p&gt;



&lt;p&gt;SCRIPT.js:96undefined&lt;/p&gt;



&lt;p&gt;﻿&lt;/p&gt;



&lt;p&gt;a w edytor wpisuje&amp;nbsp;&amp;nbsp;nemo hej = &quot;hello&quot;;&lt;/p&gt;



&lt;p&gt;write: hej;&amp;nbsp; a to cały kod oprócz funkcji jak show menu import i export&amp;nbsp;
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
function runCode() {
    const code = document.getElementById('editor').innerText;
    const consol = document.getElementById('console');

    consol.innerHTML=' ';
    interpret(code, consol);
}

function interpret(code, consol) {
    let lines = code.split('\n');
    let error = false;
    const Variable = {};

    for (let i = 0; i &amp;lt; lines.length; i++) {
        let line = lines[i].trim();

        let Wrm = /write\s*:\s*(?:&quot;([^&quot;]*)&quot;|(\w+))/;
        let sRm = /sum:\s*((\d+)(?:\s*,\s*\d+)*)\s*;/;
        let Erm = /equal:\s*(\d+)\s*,\s*(\d+)\s*\[([+\-*\/])\];/;
        let Nrm = /nemo\s+([\w\s]+)\s*=\s*&quot;(.*?)&quot;;/;

        let matchW = line.match(Wrm);
        let matchS = line.match(sRm);
        let matchE = line.match(Erm);
        let matchN = line.match(Nrm);

        if (matchW) {
            console.log(Variable);
            console.log(matchW);
            let text = matchW[1];
            let varB = matchW[2];

            if (text){
                consol.innerHTML += text + '&amp;lt;br&amp;gt;';
            }
            else if (varB){
                console.log(varB);
                consol.innerHTML += Variable[varB] + '&amp;lt;br&amp;gt;';
            }
    }   else if (matchS) {
            let numer = matchS[1].split(',').map(Number);
            let sum = 0;

            for (let j = 0; j &amp;lt; numer.length; j++) {
                sum += numer[j];
            }

            consol.innerHTML += `${sum} &amp;lt;br&amp;gt;`;
        } else if (matchE) {
            let vl1 = parseFloat(matchE[1]);
            let vl2 = parseFloat(matchE[2]);
            let pseudooperator = matchE[3];
            let result;

            switch (pseudooperator) {
                case '+':
                    result = vl1 + vl2;
                    break;
                case '-':
                    result = vl1 - vl2;
                    break;
                case '*':
                    result = vl1 * vl2;
                    break;
                case '/':
                    result = vl1 / vl2;
                    break;
                default:
                    error = true;
                    break;
            }

            consol.innerHTML += `${result}&amp;lt;br&amp;gt;`;
        }  else if (matchN) {
            
                let variableName = matchN[1];
                let variableValue = matchN[2];
                Variable[variableName] = variableValue;
            }
            
        else {
            error = true;
        }
    }

    if (error) {
        consol.innerHTML = 'Error!';
    }
}&lt;/pre&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594430/zmienne-interpreter</guid>
<pubDate>Fri, 07 Jun 2024 18:29:56 +0000</pubDate>
</item>
<item>
<title>jak ustawic  key alt + m zeby obsługiwac te zdarzenie</title>
<link>https://forum.pasja-informatyki.pl/594360/jak-ustawic-key-alt-m-zeby-obslugiwac-te-zdarzenie</link>
<description>

&lt;p&gt;witam chce do nighttree dodac skróty klawiszowe do pokazywania menu&amp;nbsp; ale stanąłem na tym&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const key = {
alt + m
}
&lt;/pre&gt;



&lt;p&gt;i tak sie zastanawiam czy to dobry sposób połaczenia i jak ogolnie to zrobic&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594360/jak-ustawic-key-alt-m-zeby-obslugiwac-te-zdarzenie</guid>
<pubDate>Tue, 04 Jun 2024 14:59:18 +0000</pubDate>
</item>
<item>
<title>Czy linki które są otwierane za pomocą onclick=&quot;window.open('https://www.example.com/.html','_blank')&quot; są nofollow?</title>
<link>https://forum.pasja-informatyki.pl/594332/linki-ktore-otwierane-pomoca-onclick-window-open-https-example-html-_blank-nofollow</link>
<description>Hej,&lt;br /&gt;
&lt;br /&gt;
Mam pytanie czy takie linki, które są tworzone za pomocą javascript np. onclick=&amp;quot;window.open('&lt;a href=&quot;https://www.example.com/.html','_blank')&amp;quot;&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.example.com/.html','_blank')&amp;quot;&lt;/a&gt; są nofollow czy dofollow dla przeglądarki. Jeśli są dofollow to jakim sposobem mogę zrobić aby były nofollow przy założeniach, że nie mogę zmienić generowania tego kodu tylko mogę modyfikować taki jaki już jest wygenerowany?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594332/linki-ktore-otwierane-pomoca-onclick-window-open-https-example-html-_blank-nofollow</guid>
<pubDate>Mon, 03 Jun 2024 10:13:04 +0000</pubDate>
</item>
<item>
<title>javascript komunikat o błędzie (funkcja anonimowa)</title>
<link>https://forum.pasja-informatyki.pl/594323/javascript-komunikat-o-bledzie-funkcja-anonimowa</link>
<description>

&lt;p&gt;Witam, mam pewien problem którego nie do końca rozumiem, mam dwa pliki js w jednym znajduje się tablica:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
var __config_name {
'zmienna1' : `m_1234`,
'zmienna2' : `m_5678`,
}&lt;/pre&gt;



&lt;p&gt;i w drugim pliku też mam tablicę:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
var update = {
__config_name['zmienna1'] : &quot;GHz&quot;,
}&lt;/pre&gt;



&lt;p&gt;i w konsoli otrzymuje komunikat:&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
Uncaught SyntaxError: Unexpected token '['&lt;/pre&gt;



&lt;p&gt;Nie znam się na JS i nie bardzo rozumiem co jest przyczyną takiego błędu, próbowałem zmieniać typ tablicy __config_name z var na&amp;nbsp;const, let ale nic to nie dało&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594323/javascript-komunikat-o-bledzie-funkcja-anonimowa</guid>
<pubDate>Mon, 03 Jun 2024 07:36:08 +0000</pubDate>
</item>
<item>
<title>Pobieranie danych z checkboxa</title>
<link>https://forum.pasja-informatyki.pl/594252/pobieranie-danych-z-checkboxa</link>
<description>

&lt;p&gt;Dzień dobry!
&lt;br&gt;

&lt;br&gt;
Chciałbym, aby użytkownik wybrał jedną lub więcej rybek, a jego wybór się zapisał. Zrobiłem to:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
// elementy sekcji fish
const fish__type_1 = document.querySelector(&quot;#daniomargaritatus&quot;);
const fish__type_2 = document.querySelector(&quot;#aphyosemionaustrale&quot;);
const fish__type_3 = document.querySelector(&quot;#corydorashabrosus&quot;);
const fish__type_4 = document.querySelector(&quot;#corydorasaeneus&quot;);
const fish__type_5 = document.querySelector(&quot;#pseudomugilgertrudy&quot;);
const fish__type_6 = document.querySelector(&quot;#poeciliasphenops&quot;);
const fish__type_7 = document.querySelector(&quot;#bettasplendens&quot;);
const fish__type_8 = document.querySelector(&quot;#trichopodusleerii&quot;);
const fish_list = [fish__type_1, fish__type_2, fish__type_3, fish__type_4, fish__type_5, fish__type_6, fish__type_7, fish__type_8];&lt;/pre&gt;



&lt;p&gt;Elementy HTML pobrane, lista zrobiona. (linie 19-28)
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
let selected_fish_type;
let selected_fish_type_list = [];&lt;/pre&gt;



&lt;p&gt;Zmienne przygotowane. (linie 55-56)
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const get_fish_type = () =&amp;gt; {
    for (let element of fish_list) {
        if (element.checked) {
            selected_fish_type = element.value;
            selected_fish_type_list.push(selected_fish_type);
        }
    };
};&lt;/pre&gt;



&lt;p&gt;Funkcja zrobiona. (linie 162-169)
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
    get_fish_type();   &lt;/pre&gt;



&lt;p&gt;... i wywołana. (linia 231)
&lt;br&gt;

&lt;br&gt;
I nie wyświetla listy rybek. Gdzie jest błąd? Proszę o pomoc.
&lt;br&gt;

&lt;br&gt;
Jakby co, to załączam całość JS:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const start = document.querySelector(&quot;.start&quot;);
const dimensions = document.querySelector(&quot;.dimensions&quot;);
const subsoil = document.querySelector(&quot;.subsoil&quot;);
const fish = document.querySelector(&quot;.fish&quot;);
const summary = document.querySelector(&quot;.summary&quot;);

// elementy sekcji dimensions
const dimensions__lenght = document.querySelector(&quot;.dimensions__lenght__input&quot;);
const dimensions__width = document.querySelector(&quot;.dimensions__width__input&quot;);
const dimensions__height = document.querySelector(&quot;.dimensions__height__input&quot;);

// elementy sekcji subsoil
const subsoil__height = document.querySelector(&quot;.subsoil__height__input&quot;);
const subsoil__type_1 = document.querySelector(&quot;#sand&quot;);
const subsoil__type_2 = document.querySelector(&quot;#finegravel&quot;);
const subsoil__type_3 = document.querySelector(&quot;#coarsegravel&quot;);
const subsoil_list = [subsoil__type_1, subsoil__type_2, subsoil__type_3];

// elementy sekcji fish
const fish__type_1 = document.querySelector(&quot;#daniomargaritatus&quot;);
const fish__type_2 = document.querySelector(&quot;#aphyosemionaustrale&quot;);
const fish__type_3 = document.querySelector(&quot;#corydorashabrosus&quot;);
const fish__type_4 = document.querySelector(&quot;#corydorasaeneus&quot;);
const fish__type_5 = document.querySelector(&quot;#pseudomugilgertrudy&quot;);
const fish__type_6 = document.querySelector(&quot;#poeciliasphenops&quot;);
const fish__type_7 = document.querySelector(&quot;#bettasplendens&quot;);
const fish__type_8 = document.querySelector(&quot;#trichopodusleerii&quot;);
const fish_list = [fish__type_1, fish__type_2, fish__type_3, fish__type_4, fish__type_5, fish__type_6, fish__type_7, fish__type_8];

// elementy sekcji summary
const p1 = document.querySelector(&quot;.p1&quot;);
const p2 = document.querySelector(&quot;.p2&quot;);
const p3 = document.querySelector(&quot;.p3&quot;);

const p4 = document.querySelector(&quot;.p4&quot;); //tymczasowe
const p5 = document.querySelector(&quot;.p5&quot;); //tymczasowe
const p6 = document.querySelector(&quot;.p6&quot;); //tymczasowe
const p7 = document.querySelector(&quot;.p7&quot;); //tymczasowe
const p8 = document.querySelector(&quot;.p8&quot;); //tymczasowe
const p9 = document.querySelector(&quot;.p9&quot;); //tymczasowe
const p10 = document.querySelector(&quot;.p10&quot;); //tymczasowe

// przyciski
const btn1 = document.querySelector(&quot;.start__button&quot;);
const btn2 = document.querySelector(&quot;.dimensions__button&quot;);
const btn3 = document.querySelector(&quot;.subsoil__button&quot;);
const btn4 = document.querySelector(&quot;.fish__button&quot;);
const btn5 = document.querySelector(&quot;.summary__button&quot;);

let aqua_lenght;
let aqua_width;
let aqua_height;
let soil_height;
let selected_soil_type;
let selected_fish_type;
let selected_fish_type_list = [];


const get_dimensions_lenght = () =&amp;gt; {
    aqua_lenght = dimensions__lenght.value;
};

const get_dimensions_width = () =&amp;gt; {
    aqua_width = dimensions__width.value;
};

const get_dimensions_height = () =&amp;gt; {
    aqua_height = dimensions__height.value;
};

const get_subsoil_height = () =&amp;gt; {
    soil_height = subsoil__height.value;
};

//Obliczenia i ich wyniki (B-E) v v v

let glass_thickness_mm;
let glass_volume;
let glass_weight;
let aqua_netto_volume;
let subsoil_volume;
let subsoil_density;
let subsoil_weight_kg;
let total_weight_kg;

const get_subsoil_type = () =&amp;gt; {
    for (let element of subsoil_list) {
        if (element.checked) {
            selected_soil_type = element.value;
            break;}
        else {
            selected_soil_type = &quot;default&quot;;
        }
    };
};

const calculate_subsoil_density = () =&amp;gt; {
    if (selected_soil_type == &quot;sand&quot;) {
        subsoil_density = 2.6;
    }
    else if (selected_soil_type == &quot;finegravel&quot;) {
        subsoil_density = 2.2;
    }
    else if (selected_soil_type == &quot;coarsegravel&quot;) {
        subsoil_density = 1.8;
    }
    else {
        subsoil_density = 2;
    }
};

const calculate_glass_thickness = () =&amp;gt; {
    let lh = (aqua_lenght * 1) + (aqua_height * 1);
    if (lh &amp;gt; 170) {
        glass_thickness_mm = 12;
    }
    else if (lh &amp;gt; 140) {
        glass_thickness_mm = 1;
    }
    else if (lh &amp;gt; 120) {
        glass_thickness_mm = 8;
    }
    else if (lh &amp;gt; 90) {
        glass_thickness_mm = 6;
    }
    else if (lh &amp;gt; 70) {
        glass_thickness_mm = 5;
    }
    else {
        glass_thickness_mm = 4;
    }
};

const calculate_glass_volume = () =&amp;gt; {
    let glass_bottom = aqua_lenght * aqua_width * glass_thickness_mm / 10;
    let glass_front_back = aqua_lenght * aqua_height * glass_thickness_mm / 10 * 2;
    let glass_left_right = aqua_width * aqua_height * glass_thickness_mm / 10 * 2;
    glass_volume = glass_bottom + glass_front_back + glass_left_right;
};
 
const calculate_glass_weight = () =&amp;gt; {
    glass_weight = glass_volume * 2.5;
};

const calculate_aqua_netto_volume = () =&amp;gt; {
    let aqua_brutto_volume = aqua_lenght * aqua_width * aqua_height;
    aqua_netto_volume = aqua_brutto_volume - glass_volume;
};

const calculate_subsoil_volume = () =&amp;gt; {
    subsoil_volume = (aqua_lenght - 2 * glass_thickness_mm / 10) * (aqua_width - 2 * glass_thickness_mm / 10) * soil_height;
};

const calculate_subsoil_weight_kg = () =&amp;gt; {
    subsoil_weight_kg = subsoil_volume * subsoil_density / 1000;
};

const calculate_total_weight_kg = () =&amp;gt; {
    total_weight_kg = ((glass_weight + aqua_netto_volume) / 1000) + subsoil_weight_kg;
};

const get_fish_type = () =&amp;gt; {
    for (let element of fish_list) {
        if (element.checked) {
            selected_fish_type = element.value;
            selected_fish_type_list.push(selected_fish_type);
        }
    };
};

//Obliczenia i ich wyniki (B-E) ^ ^ ^

const refresh_data = () =&amp;gt; {
    glass_thickness_mm = 0;
    glass_volume = 0;
    glass_weight = 0;
    aqua_netto_volume = 0;
    subsoil_density = &quot;&quot;;
    subsoil_density = 0;
    subsoil_volume = 0;
    subsoil_weight_kg = 0;
    total_weight_kg = 0;
    selected_fish_type = &quot;&quot;;
    selected_fish_type_list = [];
}

const display_summary = () =&amp;gt; {
    calculate_glass_thickness();
    calculate_glass_volume();
    calculate_glass_weight();
    calculate_aqua_netto_volume();
    calculate_subsoil_density();
    calculate_subsoil_volume();
    calculate_subsoil_weight_kg();
    calculate_total_weight_kg();

    p1.textContent = glass_thickness_mm;
    p2.textContent = subsoil_weight_kg;
    p3.textContent = total_weight_kg;
    
    p4.textContent = glass_volume; //tymczasowe
    p5.textContent = glass_weight; //tymczasowe
    p6.textContent = aqua_lenght; //tymczasowe
    p7.textContent = aqua_width; //tymczasowe
    p8.textContent = aqua_height; //tymczasowe
    p9.textContent = subsoil_density //tymczasowe
    p10.textContent = selected_fish_type_list //tymczasowe
};

const go_to_dimensions = () =&amp;gt; {
    dimensions.style.display = &quot;flex&quot;;
    start.style.display = &quot;none&quot;;
};

const go_to_subsoil = () =&amp;gt; {
    get_dimensions_lenght();
    get_dimensions_width();
    get_dimensions_height();
    subsoil.style.display = &quot;flex&quot;;
    dimensions.style.display = &quot;none&quot;;
};

const go_to_fish = () =&amp;gt; {
    get_subsoil_height();
    get_subsoil_type();
    fish.style.display = &quot;flex&quot;;
    subsoil.style.display = &quot;none&quot;;
};

const go_to_summary = () =&amp;gt; {
    get_fish_type();   
    summary.style.display = &quot;flex&quot;;
    fish.style.display = &quot;none&quot;;  
    display_summary();              
};                                  

const go_to_start = () =&amp;gt; {
    refresh_data();
    start.style.display = &quot;flex&quot;;
    summary.style.display = &quot;none&quot;;
};

btn1.addEventListener(&quot;click&quot;, go_to_dimensions);
btn2.addEventListener(&quot;click&quot;, go_to_subsoil);
btn3.addEventListener(&quot;click&quot;, go_to_fish);
btn4.addEventListener(&quot;click&quot;, go_to_summary);
btn5.addEventListener(&quot;click&quot;, go_to_start);&lt;/pre&gt;



&lt;p&gt;:)&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594252/pobieranie-danych-z-checkboxa</guid>
<pubDate>Thu, 30 May 2024 19:48:32 +0000</pubDate>
</item>
<item>
<title>Nieprawidłowe ścieżki do czcionek w pliku css w wersji produkcyjnej (Electron, Vue, Webpack)</title>
<link>https://forum.pasja-informatyki.pl/594088/nieprawidlowe-sciezki-czcionek-pliku-css-wersji-produkcyjnej-electron-vue-webpack</link>
<description>

&lt;p&gt;Po zbudowaniu aplikacji, czcionki się nie wczytują z powodu nieprawidłowych ścieżek: np. w pliku css url do czcionki wygląda ''app:///fonts/Saira-Regular.579c1ad5.ttf&quot; a powinno być &quot;app://./fonts/Saira-Regular.579c1ad5.ttf&quot; ( jest &quot;///&quot; zamiast &quot;//./&quot;). Co ciekawe problem nie występuje w pliku html, pliki css i js mają prawidłowe ścieżki, tylko w css podczas używania url() ścieżka się psuje.&lt;/p&gt;



&lt;p&gt;Na&amp;nbsp;dev problem nie występuje..&lt;/p&gt;



&lt;p&gt;Załączam link do commita w którym występował ten problem:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/vxidfunctixn/Diary/tree/c6d80cfa59490f19500d72758080cdcf13656af6&quot;&gt;https://github.com/vxidfunctixn/Diary/tree/c6d80cfa59490f19500d72758080cdcf13656af6&lt;/a&gt;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/594088/nieprawidlowe-sciezki-czcionek-pliku-css-wersji-produkcyjnej-electron-vue-webpack</guid>
<pubDate>Sat, 25 May 2024 16:09:18 +0000</pubDate>
</item>
<item>
<title>canvas-wypisywanie wzoru struktury zwiążku chemicnego</title>
<link>https://forum.pasja-informatyki.pl/593551/canvas-wypisywanie-wzoru-struktury-zwiazku-chemicnego</link>
<description>

&lt;p&gt;witam mam problem którego nie mogłem rozwiązac wiec postanowiłem sie zapytac chce wypisac wzór&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp; &amp;nbsp;O&lt;/p&gt;



&lt;p&gt;|&lt;/p&gt;



&lt;p&gt;/ \&lt;/p&gt;



&lt;p&gt;H H&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;troche tu sie psuje jednak nie moge poprawnie ustworzyc tego bo pozycje nie są odpowiednie i sie psuje znaczy pozycje ze np ctx.filltext(&quot;&amp;nbsp; o&quot;, 50, 100); to te spacje znikają&amp;nbsp; a nie powinny i czy ktos mi pomoze z groy dziekuje&amp;nbsp; kod:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang=&quot;pl&quot;&amp;gt;
&amp;lt;head&amp;gt;


&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;chemia&amp;lt;/title&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;style&amp;gt;


&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body{

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: grey;



}
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #obraz{

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border: 3px solid #2E8B57;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: black;





}


&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;lt;/style&amp;gt;

&amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;


&amp;nbsp; &amp;nbsp; &amp;lt;input type=&quot;text&quot; id=&quot;nazwa&quot; placeholder=&quot;skrót pierwiastka&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;input type=&quot;submit&quot; onclick=&quot;zrob()&quot; value=&quot;zobacz&quot;&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;lt;canvas id=&quot;obraz&quot; width=&quot;500&quot; height=&quot;500&quot;&amp;gt;&amp;lt;/canvas&amp;gt;


&amp;nbsp; &amp;nbsp; &amp;lt;script&amp;gt;

const canvas = document.getElementById(&quot;obraz&quot;);
const ctx = canvas.getContext(&quot;2d&quot;);

function zrob() {
&amp;nbsp; &amp;nbsp; let pier = document.getElementById(&quot;nazwa&quot;).value;

&amp;nbsp; &amp;nbsp; ctx.clearRect(0, 0, canvas.width, canvas.height);

&amp;nbsp; &amp;nbsp; if (pier === &quot;H&quot;) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.font = &quot;50px Arial&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillStyle = &quot;white&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(&quot;Wodór &amp;nbsp;[h]&quot;, 50, 70);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.font = &quot;10px Arial&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.textAlign = &quot;left&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.textBaseline = &quot;top&quot;;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillStyle = &quot;white&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let tekst = &quot;Wodór jest najlżejszym pierwiastkiem chemicznym, posiadającym atomową liczbę protonów równą jeden. Jest to gaz bezbarwny, bez smaku i zapachu. Jego najczęstsze izotopy to prot (jedyny stabilny izotop) oraz deuter (z jedenastką neutronów) i tryt (z dwunastką neutronów), stanowiące izotopy promieniotwórcze. Występuje w wielu związkach chemicznych, w tym w wodzie oraz związkach organicznych, takich jak węglowodory. Wodór jest niezbędny do życia, występując w postaci wody, składnika większości substancji organicznych i odgrywając kluczową rolę w procesach biochemicznych. Ponadto, wodór jest powszechnie wykorzystywany w przemyśle, zwłaszcza w produkcji amoniaku do nawożenia roślin oraz w produkcji wodoru i wodorowęglanu sodu.&quot;;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let maxWidth = canvas.width - 100;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let x = 50; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let y = 250; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let words = tekst.split(' '); 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let line = ''; 


&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (let i = 0; i &amp;lt; words.length; i++) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let testLine = line + words[i] + ' ';
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let metrics = ctx.measureText(testLine);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let testWidth = metrics.width;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (testWidth &amp;gt; maxWidth &amp;amp;&amp;amp; i &amp;gt; 0) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(line, x, y);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; line = words[i] + ' ';
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y += 25; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; line = testLine;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(line, x, y);
&amp;nbsp; &amp;nbsp; }


&amp;nbsp; &amp;nbsp; if (pier === &quot;H20&quot;) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.font = &quot;50px Arial&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillStyle = &quot;white&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(&quot;woda [H20]&quot;, 50, 70);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.font = &quot;10px Arial&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.textAlign = &quot;left&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.textBaseline = &quot;top&quot;;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillStyle = &quot;white&quot;;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let tekst = &quot;&quot;;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let maxWidth = canvas.width - 100;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let x = 50;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let y = 250;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let words = tekst.split(' ');&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let line = '';

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (let i = 0; i &amp;lt; words.length; i++) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let testLine = line + words[i] + ' ';
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let metrics = ctx.measureText(testLine);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let testWidth = metrics.width;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (testWidth &amp;gt; maxWidth &amp;amp;&amp;amp; i &amp;gt; 0) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(line, x, y);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; line = words[i] + ' ';
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y += 25;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; line = testLine;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.fillText(line, x, y);
&amp;nbsp; &amp;nbsp; }




&amp;nbsp; &amp;nbsp;&amp;nbsp;
}





&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;lt;/script&amp;gt;




&amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593551/canvas-wypisywanie-wzoru-struktury-zwiazku-chemicnego</guid>
<pubDate>Mon, 06 May 2024 22:00:54 +0000</pubDate>
</item>
<item>
<title>drzewo danych</title>
<link>https://forum.pasja-informatyki.pl/593442/drzewo-danych</link>
<description>witam chciałem zrobic drzewo danych z uzyciem zmiennych tablic obiektów itp ale nie wiem jaki sposób najlepszy a takze &amp;nbsp;&amp;nbsp;&amp;nbsp;jak by to zrobic</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593442/drzewo-danych</guid>
<pubDate>Wed, 01 May 2024 12:54:09 +0000</pubDate>
</item>
<item>
<title>własny jezyk programowania-pozycje dwóch operatorów</title>
<link>https://forum.pasja-informatyki.pl/593341/wlasny-jezyk-programowania-pozycje-dwoch-operatorow</link>
<description>

&lt;p&gt;witam razem z chatem gbt mamy problem z pewną rzeczxą&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Interpreter języka&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Interpreter języka&amp;lt;/h1&amp;gt;

    &amp;lt;script&amp;gt;
        // Tworzenie obiektu reprezentującego interpreter języka
     let interpreter = {
            parse: function(code) {
                let tokens = code.split(' ');
                let opr2 = parseFloat(tokens[2]); 
                let opr1 = parseFloat(tokens[0]); 
                let opr = tokens[1];
                let oprText = tokens.slice(1).join(' ');
                return { opr1, opr2, opr, oprText };
            },
        
            // Funkcja wykonująca operację na podstawie sparsowanego kodu
            execute: function(parsedCode) {
                switch (parsedCode.opr) {
                    case '+':
                        return parsedCode.opr1 + parsedCode.opr2;
                    case '++':
                        return (parsedCode.opr1 + parsedCode.opr2) * 2;
                    case 'write':
                        return parsedCode.oprText;
                    default:
                        throw new Error('Nieznany operator: ' + parsedCode.opr);
                }
            }
        };

        let code = 'write hello';
        
        let parsedCode = interpreter.parse(code);
        let result = interpreter.execute(parsedCode);
        console.log('Wynik:', result); // Oczekiwany wynik: 8
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;


&lt;/pre&gt;



&lt;p&gt;jak widac albo i nie nie moge z chatem gbt rozwiązac problemu bo jak działa write to plus nie działa ze wzgledu na pozycje tokenów z ifami itp próbowalismy ale nic a jak plus działa to nie działa write&amp;nbsp;bo nie istnieje operator hello&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593341/wlasny-jezyk-programowania-pozycje-dwoch-operatorow</guid>
<pubDate>Thu, 25 Apr 2024 18:53:36 +0000</pubDate>
</item>
<item>
<title>JavaScript + TIA Portal</title>
<link>https://forum.pasja-informatyki.pl/593332/javascript-tia-portal</link>
<description>

&lt;p&gt;Cześć,
&lt;br&gt;

&lt;br&gt;
Chciałbym odczytać ze sterownika różne zmienne z poziomu web serwera&amp;nbsp;za pomocą JavaScript.
&lt;br&gt;
Obecnie mam takie coś:&lt;/p&gt;



&lt;p&gt;Fragment pliku .js:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
let test_value;

$(document).ready(function(){
    $.ajaxSetup({ cache: false });

    setInterval(actuall_time, 1000)
    setInterval(function() {

        $.get(&quot;PLC_com_state.htm&quot;, function(result){
            test_value = result;
        });

    },2000);
});&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Plik &quot;PLC_com_state.htm&quot;:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
:=&quot;test&quot;:&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Tag na sterowniku:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=3372202822806815208&quot; style=&quot;height:52px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Teraz tak, jak wezmę w komentarz fragment:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
$.get(&quot;PLC_com_state.htm&quot;, function(result){
            test_value = result;
        });&lt;/pre&gt;



&lt;p&gt;.. to strona użytkownika działa ok ale jak usunę komentarz (fragment jest aktywny) zrywa mi połączenie z PLC, nie można go znaleźć w sieci i jedyne co zostaje to restart sterownika.&lt;/p&gt;



&lt;p&gt;Nie wiem co może być przyczyną ani jakie dodatkowe informacje są potrzebne, sterownik na jakim pracuję:&amp;nbsp;&lt;strong&gt;6es7510-1sk03-0ab0 [CPU 1510SP F-1&amp;nbsp;PN].&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Czy ktoś wie o co chodzi, jest w stanie pomóc, Jeśli są potrzebne dodatkowe informację to chętnie udzielę.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593332/javascript-tia-portal</guid>
<pubDate>Thu, 25 Apr 2024 07:19:11 +0000</pubDate>
</item>
<item>
<title>Przechwytywanie zmian klas ze slidera</title>
<link>https://forum.pasja-informatyki.pl/593242/przechwytywanie-zmian-klas-ze-slidera</link>
<description>

&lt;p&gt;Witam wszystkich bardzo serdecznie. Jestem dość początkujący i utknąłem z jednym problemem. Niestety nie mogę dodać pełnego kodu, jednak objaśnię tutaj strukturę oraz zastosowane rozwiązania.&lt;/p&gt;



&lt;p&gt;Korzystam ze slidera SplideJS.&lt;/p&gt;



&lt;p&gt;Struktura wygląda mniej więcej tak:&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;section&amp;gt;
&amp;lt;div class='city__table'&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class='city__table'&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;a href=&quot;#&quot; data-city-link=&quot;miasto&quot; &amp;gt; Nazwa miasta&amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
&amp;lt;ul class='SplideJS'&amp;gt;
&amp;lt;li data-city-name&amp;gt; Tutaj zdjęcie miasta &amp;lt;/li&amp;gt;
&amp;lt;li data-city-name&amp;gt; Tutaj zdjęcie miasta &amp;lt;/li&amp;gt;
&amp;lt;li data-city-name&amp;gt; Tutaj zdjęcie miasta &amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/section&amp;gt;&lt;/pre&gt;



&lt;p&gt;Dwa pierwsze divy generowane są przez PHP (lista 40 miast podzielona na dwa divy po równo)
&lt;br&gt;
atrybut data-city-link posiada nazwę miasta pobraną z tablicy owych miast&lt;/p&gt;



&lt;p&gt;Trzeci div zawiera slider (SplideJS) i zawiera zmieniające się zdjęcia co 4 sekundy, każdy element listy ma dopisany atrybut data-city-name, który jest identyczny z atrybutem data-city-link&lt;/p&gt;



&lt;p&gt;Aktualnie widoczny slide otrzymuje ze SplideJS klasę &quot;is-active&quot;.&lt;/p&gt;



&lt;p&gt;Teraz mój problem:&lt;/p&gt;



&lt;p&gt;Chciałbym w JS przechwycić aktualnie wyświetlony slajd, odczytać z niego atrybut data, odnaleźć w jednym z poprzednich divów ten sam atrybut data oraz nadać na czas widoczności slajdu inną klasę dla &amp;lt;a&amp;gt; o odpowiednim atrybucie data.&lt;/p&gt;



&lt;p&gt;Próbowałem to wykonać za pomocą:&lt;/p&gt;



&lt;p&gt;1. Pobrania wszystkich elementów poprzez querySelectorAll( poprzez klasę ). W pętli for spróbowałem ustawić MutationObserver korzystając stąd:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver&quot;&gt;Developer Mozilla&lt;/a&gt;
&lt;br&gt;
Niestety nic to nie dało - jest ogromne prawdopodobieństwo, że coś robiłem źle lub kompletnie nie zrozumiałem działania MutationObserver. Chciałem tutaj wkleić kod, jednak nerwy wygrały i usunąłem cały kod, pozostawiając jedynie pobranie elementów...&lt;/p&gt;



&lt;p&gt;2. Nie znalazłem także żadnego eventu w addEventListener aby mógł pasować do mojego problemu.&lt;/p&gt;



&lt;p&gt;Prosiłbym chociaż o nakierowanie mnie, abym mógł w jakiś sposób to rozwiązać.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593242/przechwytywanie-zmian-klas-ze-slidera</guid>
<pubDate>Mon, 22 Apr 2024 14:36:00 +0000</pubDate>
</item>
<item>
<title>Sweetalert nie wyświetla komunikatu</title>
<link>https://forum.pasja-informatyki.pl/593115/sweetalert-nie-wyswietla-komunikatu</link>
<description>Cześć,&lt;br /&gt;
&lt;br /&gt;
wróciłem do tego kodu po jakimś czasie. Zapamiętałem, że działał, ale może czegoś nie zapisałem. Wydaje mi się, że wszystko jest ok, ale może widzicie więcej. Nie wyświetla się komunikat o wygranej i remisie w grze w kółko i krzyżyk, mimo, że trzy pola otrzymują taką samą klasę.. Od razu zaznaczam. Załączyłem skrypt SweetAlerta ;)&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://codepen.io/Skulak13/pen/XWQxyjy&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://codepen.io/Skulak13/pen/XWQxyjy&lt;/a&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/593115/sweetalert-nie-wyswietla-komunikatu</guid>
<pubDate>Thu, 18 Apr 2024 16:52:35 +0000</pubDate>
</item>
<item>
<title>speechSynthesis</title>
<link>https://forum.pasja-informatyki.pl/592697/speechsynthesis</link>
<description>

&lt;p&gt;witam, dlaczego mi to w .join nie wchodzi? za duże?&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const arr = [];
window.speechSynthesis.onvoiceschanged = function()&amp;nbsp;
{
&amp;nbsp;&amp;nbsp; &amp;nbsp;for (let i = 0; i &amp;lt; 322; i++)&amp;nbsp;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var name = window.speechSynthesis.getVoices()[i].name;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arr.push(name);
&amp;nbsp;&amp;nbsp; &amp;nbsp;}
&amp;nbsp;&amp;nbsp; &amp;nbsp;return arr;
}&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;
function get_arry()&amp;nbsp;
{
&amp;nbsp;&amp;nbsp; &amp;nbsp;return arr;
}
const viovcer = get_arry();
const viovcer_join = viovcer.join(&quot;&quot;);
const btoa_viovcer = btoa(viovcer_join);
//window.location= &quot;?voices=&quot; + encodedArray;
console.log(btoa_viovcer);
&lt;/pre&gt;



&lt;p&gt;druga funkcja niepotrzebna ale już kombinuje z tym join&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592697/speechsynthesis</guid>
<pubDate>Mon, 08 Apr 2024 21:50:56 +0000</pubDate>
</item>
<item>
<title>Canvas animacja bloków</title>
<link>https://forum.pasja-informatyki.pl/592663/canvas-animacja-blokow</link>
<description>

&lt;p&gt;Witam ,mam taki problem bo muszę się dowiedzieć jak tworzyć w pętlach np 4 obiekty bo myślę że dodać kilka obiektów lae wolę być pewnym i potrzebuje pomocy z animacją w canvas'ie oto kod :&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
// pamiec                                                                 
const animacja = document.getElementById(&quot;ekran&quot;).value;

const magazyn = [];

// pamiec

// tworzenie 
  
  function nowy ()
{

  for (let i = 0; i &amp;lt; 4; i++) {
    const blok = {
    }
}
// tworzenie 

// animacja

// animacja &lt;/pre&gt;



&lt;p&gt;&amp;nbsp;Postanowiłem sobie Tak posortować&amp;nbsp; komentarzami&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;Zderzac hadronów!&amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;wyglad.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;zrodło.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  
  &amp;lt;div id=&quot;com&quot;&amp;gt;
  
   &amp;lt;canvas width=&quot;400&quot; height=&quot;300&quot; id=&quot;ekran&quot;&amp;gt;&amp;lt;/canvas&amp;gt;
    
    
  
    
  &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592663/canvas-animacja-blokow</guid>
<pubDate>Mon, 08 Apr 2024 11:12:22 +0000</pubDate>
</item>
<item>
<title>czytanie tekstu js</title>
<link>https://forum.pasja-informatyki.pl/592638/czytanie-tekstu-js</link>
<description>

&lt;p&gt;dubluje? i zmieniają się pozycje głosów, czy to naturalna procedura? np&amp;nbsp;głos z 271 przeskakuje na pozycję 222 ?&lt;/p&gt;



&lt;p&gt;pytam bo jeżeli to normalne to będzie trzeba wywoływać całą listę przed za każdym razem&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
window.speechSynthesis.onvoiceschanged = function() 
{
	const utterance = new SpeechSynthesisUtterance();
	utterance.text = &quot;test czytania window wywołania - głos działa sprawdzone - ale dubluje -dlaczego? pomóż koleżanko i kolego&quot;;
	utterance.voice = window.speechSynthesis.getVoices()[222];
	utterance.pitch = 1.4; 
	utterance.rate = 1.0;
	window.speechSynthesis.speak(utterance);
	console.log(window.speechSynthesis.getVoices());
};
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592638/czytanie-tekstu-js</guid>
<pubDate>Sun, 07 Apr 2024 18:27:56 +0000</pubDate>
</item>
<item>
<title>jak resetować timer js za każdym razem gdy odświeżam stronę</title>
<link>https://forum.pasja-informatyki.pl/592612/jak-resetowac-timer-js-za-kazdym-razem-gdy-odswiezam-strone</link>
<description>

&lt;pre class=&quot;brush:jscript;&quot;&gt;
&amp;lt;div id=&quot;timer&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const Interval = setInterval(setTimer, 1000);
function setTimer() 
{
	const d = new Date();
	const seconds = d.getMinutes() * 60 + d.getSeconds();
	const fseconds = 480;
	const timeleft = fseconds - (seconds % fseconds);
	const result = parseInt(timeleft / 60) + &quot;:&quot; + (timeleft % 60);
	if(timeleft==1)
	{
		window.location = &quot;&quot;;
	}
	document.getElementById(&quot;timer&quot;).innerHTML = result;
	//console.log(seconds);
};&lt;/pre&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592612/jak-resetowac-timer-js-za-kazdym-razem-gdy-odswiezam-strone</guid>
<pubDate>Sat, 06 Apr 2024 09:55:21 +0000</pubDate>
</item>
<item>
<title>Pytanie o Elektronika.push();</title>
<link>https://forum.pasja-informatyki.pl/592520/pytanie-o-elektronika-push</link>
<description>Witam bo mam pytanie jak zrobić żeby dodawać metodą push zmieną</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592520/pytanie-o-elektronika-push</guid>
<pubDate>Mon, 01 Apr 2024 19:40:39 +0000</pubDate>
</item>
<item>
<title>Dodawanie i usuwanie z tablicy elementów</title>
<link>https://forum.pasja-informatyki.pl/592504/dodawanie-i-usuwanie-z-tablicy-elementow</link>
<description>

&lt;p&gt;Witam potrzebuje się dowiedzieć dwóch a nawet 3 rzeczy 1.jak zweryfikować jaką opcje wybrałem w tagach &amp;lt;option&amp;gt; i 2.jak dodawać elementy do tablicy ? I 3.jak usuwać elementy z tablicy bo wpadłem na pomysł sortowania kod:&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const Elektronika = [&quot;&quot;];

const  jedzienie = [&quot;&quot;];

const Meble = [&quot;&quot;];

function posortuj()
{
    
    
    
    
}&lt;/pre&gt;



&lt;p&gt;I dalej nie wiem co zrobić&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;srotownik!&amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;scena.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;kulisy.js&quot;&amp;gt;
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  
  &amp;lt;div id=&quot;dodawanie&quot;&amp;gt; DODAJ NOWY PRZEDMIOT !
    &amp;lt;br&amp;gt;
    &amp;lt;br&amp;gt;
    &amp;lt;select id=&quot;kategoria&quot;&amp;gt;
      &amp;lt;option&amp;gt;Elektronika&amp;lt;/option&amp;gt;
      &amp;lt;option&amp;gt;jedzienie&amp;lt;/option&amp;gt;
      &amp;lt;option&amp;gt;Meble&amp;lt;/option&amp;gt;
      
      
    &amp;lt;/select&amp;gt;
    
  &amp;lt;input type=&quot;text&quot; id=&quot;nowy&quot; &amp;gt; 
   
    &amp;lt;input type=&quot;button&quot; value=&quot;dodaj&quot; onclick=&quot;posortuj()&quot;&amp;gt;
  
    
    
    
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Oczywiście jeszcze później dodam opcje wypisywania z tablicy elementów ale to później .pomoże ktoś z góry dziękuję?&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592504/dodawanie-i-usuwanie-z-tablicy-elementow</guid>
<pubDate>Mon, 01 Apr 2024 14:59:21 +0000</pubDate>
</item>
<item>
<title>Jak wypisać całą tablice jednym if w przypadku np populacja: drugi rząd .PKB:?</title>
<link>https://forum.pasja-informatyki.pl/592446/jak-wypisac-cala-tablice-jednym-if-w-przypadku-np-populacja-drugi-rzad-pkb</link>
<description>

&lt;pre class=&quot;brush:jscript;&quot;&gt;
function pokaz_dane_kraju()
{
  
    const polska = [&quot;populacja:37milionów&quot;,&quot;pkb:679,4 miliarda USD &quot;,&quot;połozenie:Europa sródkowa&quot;,&quot;prezydent:Andziej duda&quot;,&quot;ustrój:Demokracja&quot;,&quot;Sojusz:Unia Europerska/Nato&quot;,&quot;Waluta:Zł&quot;,&quot;Rok:2021&quot;]; 
    const niemcy = [&quot;populacja:83,2 milionów&quot;,&quot;pkb:4,26 tryliardów USD&quot;,&quot;połozenie:sródkowa Europa &quot;,&quot;prezydent:Frank-Walter Steinmeier&quot;,&quot;ustrój:Demokracja &quot;,&quot;sojusz:Unia Europerska/Nato &quot;,&quot;Waluta:Euro&quot;,&quot;rok:2021&quot;];
    const francja = [&quot;populacja:67,75 miliona&quot;,&quot;pkb:2,958 tryliarda USD&quot;,&quot;połozenie:Europa zachodnia&quot;,&quot;prezydent:Emmanuel macron&quot;,&quot;ustrój:Demokracja&quot;,&quot;sojusz:Unia Europejska/nato&quot;,&quot;Waluta:Euro&quot;,&quot;rok:2021&quot;];
    const usa = [&quot;populacja:331,9 miliona&quot;,&quot;pkb:23,32 tryliarda USD,&quot;,&quot;połozenie:Ameryka północna &quot;,&quot;prezydent:Joe Biden&quot;,&quot;ustrój:Demokratyczna republika&quot;,&quot;sojusz:Nato&quot;,&quot;Waluta:dolar&quot;,&quot;rok:2021&quot;];
    const rosja = [&quot;populacja:143,4 miliona&quot;,&quot;pkb:1,779 tryliarda &quot;,&quot;połozenie:północną Azję i północno-wschodnią i wschodnią część Europy,&quot;,&quot;prezydent:putin&quot;,&quot;ustrój:demokratyczny&quot;,&quot;sojusz:Jest członkiem wielu międzynarodowych organizacji, m.in. jednym z pięciu stałych członków Rady Bezpieczeństwa ONZ, G20, Euroazjatyckiej Unii Gospodarczej, Wspólnoty Niepodległych Państw, Szanghajskiej Organizacji Współpracy i odgrywa znaczącą rolę w polityce światowej.&quot;,&quot;Waluta:Ruble&quot;,&quot;rok:2021&quot;];
    
    const Unia_Europejska = [&quot;populacja:448,4 mln&quot;,&quot;pkb:14,5 bln euro.&quot;,&quot;połozenie:Europa&quot;,&quot;prezydent:brak&quot;,&quot;ustrój:Demokracja&quot;,&quot;sojusz:on and czesciowo nato&quot;,&quot;Waluta:Euro&quot;,&quot;rok:2021&quot;];
    const kraj = document.getElementById(&quot;nazwa&quot;).value.trim();
    
   


    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;populacja&quot;).innerText= polska[0];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;pkb&quot;).innerText= polska[1];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;połozenie&quot;).innerText= polska[2];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;prezydent&quot;).innerText= polska[3];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;ustrój&quot;).innerText= polska[4];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;sojusz&quot;).innerText= polska[5];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;waluta&quot;).innerText= polska[6];
    if (kraj == &quot;Polska&quot;) document.getElementById(&quot;rok&quot;).innerText= polska[7];
   
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;populacja&quot;).innerText= niemcy[0];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;pkb&quot;).innerText= niemcy[1];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;połozenie&quot;).innerText= niemcy[2];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;prezydent&quot;).innerText= niemcy[3];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;ustrój&quot;).innerText= niemcy[4];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;sojusz&quot;).innerText= niemcy[5];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;waluta&quot;).innerText= niemcy[6];
    if (kraj == &quot;Niemcy&quot;) document.getElementById(&quot;rok&quot;).innerText= niemcy[7];
    
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;populacja&quot;).innerText= francja[0];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;pkb&quot;).innerText= francja[1];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;połozenie&quot;).innerText= francja[2];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;prezydent&quot;).innerText= francja[3];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;ustrój&quot;).innerText= francja[4];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;sojusz&quot;).innerText= francja[5];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;waluta&quot;).innerText= francja[6];
    if (kraj == &quot;Francja&quot;) document.getElementById(&quot;rok&quot;).innerText= francja[7];
    
    
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;populacja&quot;).innerText= usa[0];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;pkb&quot;).innerText= usa[1];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;połozenie&quot;).innerText= usa[2];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;prezydent&quot;).innerText= usa[3];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;ustrój&quot;).innerText= usa[4];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;sojusz&quot;).innerText= usa[5];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;waluta&quot;).innerText= usa[6];
    if (kraj == &quot;Usa&quot;) document.getElementById(&quot;rok&quot;).innerText= usa[7];
    
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;populacja&quot;).innerText= rosja[0];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;pkb&quot;).innerText= rosja[1];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;połozenie&quot;).innerText= rosja[2];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;prezydent&quot;).innerText= rosja[3];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;ustrój&quot;).innerText= rosja[4];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;sojusz&quot;).innerText= rosja[5];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;waluta&quot;).innerText= rosja[6];
    if (kraj == &quot;Rosja&quot;) document.getElementById(&quot;rok&quot;).innerText= rosja[7];
    
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;populacja&quot;).innerText= Unia_Europejska[0];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;pkb&quot;).innerText= Unia_Europejska[1];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;połozenie&quot;).innerText= Unia_Europejska[2];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;prezydent&quot;).innerText= Unia_Europejska[3];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;ustrój&quot;).innerText= Unia_Europejska[4];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;sojusz&quot;).innerText= Unia_Europejska[5];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;waluta&quot;).innerText= Unia_Europejska[6];
    if (kraj == &quot;Unia Europejska&quot;) document.getElementById(&quot;rok&quot;).innerText= Unia_Europejska[7];
    
    
}    
    
    


[&quot;populacja:&quot;,&quot;pkb:&quot;,&quot;połozenie:&quot;,&quot;prezydent:&quot;,&quot;ustrój&quot;,&quot;sojusz:&quot;,&quot;Waluta:&quot;,&quot;rok:&quot;];&lt;/pre&gt;



&lt;p&gt;Witam chciałbym żeby zamiast tych 7 if używać jednego w tym przypadku żeby wysło jak te 7 if tylko że jeden powie ktoś jak by to zrobić? I HTML&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;inf!&amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;graf.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;wach.js&quot;&amp;gt;
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  
  
    
    &amp;lt;input type=&quot;text&quot; id=&quot;nazwa&quot;&amp;gt;
  &amp;lt;br&amp;gt;
  &amp;lt;br&amp;gt;
  &amp;lt;input type=&quot;submit&quot; value=&quot;pokaz dane&quot; onclick=&quot;pokaz_dane_kraju()&quot;&amp;gt;
    
  

  &amp;lt;div id=&quot;dane&quot;&amp;gt;
    &amp;lt;div id=&quot;populacja&quot;&amp;gt;populacja:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;pkb&quot;&amp;gt;pkb:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;połozenie&quot;&amp;gt;połozenie:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;prezydent&quot;&amp;gt;prezydent:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;ustrój&quot;&amp;gt;ustrój:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;sojusz&quot;&amp;gt;Sojusz:&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;waluta&quot;&amp;gt;Waluta:&amp;lt;/div&amp;gt;
     &amp;lt;div id=&quot;rok&quot;&amp;gt;Rok:&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592446/jak-wypisac-cala-tablice-jednym-if-w-przypadku-np-populacja-drugi-rzad-pkb</guid>
<pubDate>Fri, 29 Mar 2024 08:31:56 +0000</pubDate>
</item>
<item>
<title>Parę pytań js</title>
<link>https://forum.pasja-informatyki.pl/592416/pare-pytan-js</link>
<description>Witam ,mam parę odnośnie js .1.zeby wystylizować rzeczy używając js trzeba użyć np dokument.,,,,,,,,,,,,,,,,,,.style.background k czy na diva też zadziała czy trzeba żeby diva wystylizować użyć czegoś podobnego aż kolwiek innego?.2.potrzebuje wyjaśnienia dokładnego jak tworzyć w js obiekty takie jak div ,INPut itp .i ogólnych rad</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592416/pare-pytan-js</guid>
<pubDate>Tue, 26 Mar 2024 14:20:15 +0000</pubDate>
</item>
<item>
<title>Warunek z tablicą w if i inne</title>
<link>https://forum.pasja-informatyki.pl/592394/warunek-z-tablica-w-if-i-inne</link>
<description>

&lt;p&gt;&amp;nbsp;witam robię takiego coś własne&amp;nbsp; ćwiczenia byle tłumacza liter pomoże ktoś bo coś bo nie dzała np nie wiem jak zrobić w warunku w if'wie takie coś if(textJ == A[1]) żeby to działało pomoże ktoś ? Taki oto kod&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const A = [&quot;a&quot;,&quot;et&quot;]
const S = [&quot;s&quot;,&quot;p&quot;]

function wybierz jezyk()
{
     
    
const = document.getElementById(&quot;jezyk&quot;).value;         
    
    
    if(jezyk == &quot;polski&quot;)  polski();
    
}

function polski()
{
    const textJ = document.getElementById(&quot;text&quot;).value ;                      
    
    if (textJ == A[1] ) document.getElementById(&quot;textTrans&quot;).innerHTML=A[0];
    
    
}
function Francuski()
{
    
    
    
    
}
                                            
&lt;/pre&gt;



&lt;p&gt;Z stringami też nie działa próbowałam więc bez stringów i HTML&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;translate&amp;lt;/title&amp;gt;
  
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;indexink.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;indix.js&quot;&amp;gt;
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
 &amp;lt;select id=&quot;jezyk&quot;&amp;gt;
  &amp;lt;option value=&quot;polski&quot;&amp;gt;Polski&amp;lt;/option&amp;gt;
  &amp;lt;option value=&quot;Francuski&quot;&amp;gt;Francuski&amp;lt;/option&amp;gt;
 &amp;lt;/select&amp;gt;
  &amp;lt;input type=&quot;text&quot; id=&quot;text&quot; &amp;gt;
  &amp;lt;br&amp;gt;
  &amp;lt;/br&amp;gt;
  &amp;lt;input type=&quot;submit&quot; value=&quot;tlumacz&quot; onclick=&quot;wybierz jezyk()&quot;&amp;gt;
  
  
   &amp;lt;div id=&quot;textTrans&quot;&amp;gt;
  
  
   &amp;lt;/div&amp;gt;
  

  
  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592394/warunek-z-tablica-w-if-i-inne</guid>
<pubDate>Mon, 25 Mar 2024 13:49:18 +0000</pubDate>
</item>
<item>
<title>Otwieranie funkcji z if</title>
<link>https://forum.pasja-informatyki.pl/592387/otwieranie-funkcji-z-if</link>
<description>To może durne pytanie ale jak przy użyciu if z funkcji włączyć inną funkcje</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592387/otwieranie-funkcji-z-if</guid>
<pubDate>Mon, 25 Mar 2024 13:22:05 +0000</pubDate>
</item>
<item>
<title>Wybieranie tablic</title>
<link>https://forum.pasja-informatyki.pl/592349/wybieranie-tablic</link>
<description>

&lt;p&gt;Witam cza da się zrobić system wybierania tablic np że jedna tablica ma nazwe psychic a druga fire i wypisywania tego .ps wiem że tablice te są pewnie złe ale za bardzo nie umiem w tablice mam taki kod .&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const = psychic ;
pokemon[1] =&quot;Espurr&quot;;
pokemon[2] =&quot;meowstic&quot;;
pokemon[3] =&quot;abra&quot;;
pokemon[4] =&quot;kadabra&quot;;
pokemon[5] =&quot;alakazam&quot;;

function wypisz()
{
    const numerpokemona = documentGetElementById(&quot;numer&quot;).value
    
    if(numerpokemona)
                                                                      
    
    
}

&lt;/pre&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;STATY &amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;STYLESTAT.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;aray.js&quot; &amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;  
  
  &amp;lt;div id=&quot;strona&quot;&amp;gt;
  
     &amp;lt;div id=&quot;indexdex&quot;&amp;gt;
    
       &amp;lt;input type=&quot;text&quot; id=&quot;typ&quot;   &amp;gt; TYP POKEMONA 
       &amp;lt;br&amp;gt;
       &amp;lt;/br&amp;gt; 
       &amp;lt;input type=&quot;text&quot; id=&quot;numer&quot; &amp;gt; NUMER POKEMONA
    &amp;lt;br&amp;gt;
    &amp;lt;/br&amp;gt;
       &amp;lt;input type=&quot;submit&quot; value=&quot;to?&quot; onclick=&quot;wypisz&quot;&amp;gt;
       
       
    
     &amp;lt;/div&amp;gt;
  
  &amp;lt;/div&amp;gt;
  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;pre class=&quot;brush:css;&quot;&gt;
body
{
  background-color: grey;
}

#strona
{
  height: 1500px;
  width: 900px;
  margin-right: auto;
  margin-left: auto;
  background-color: gray;
  padding: 30px;
}

#indexdex
{
  padding-left: 250px;
  font-size: 35px;
  
}

input 
{
  width: 300px;
  height: 35px;
  font-size: 35px;
  
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592349/wybieranie-tablic</guid>
<pubDate>Sun, 24 Mar 2024 03:26:21 +0000</pubDate>
</item>
<item>
<title>Usunięcie diva po wpisaniu słowa</title>
<link>https://forum.pasja-informatyki.pl/592277/usuniecie-diva-po-wpisaniu-slowa</link>
<description>

&lt;p&gt;WITAM,czy powie mi ktoś jak zrobić by po&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const wykonaj_button = document.querySelector('#wykonaj-button');
wykonaj_button.addEventListener('click', utworz);
 
function utworz() {
  const kwadrat = document.querySelector('#kwadrat');
  const ile_kwadraty = kwadrat.querySelectorAll('div').length;
  const MAKSYMALNA_KWADRATY = 15;
   
  if (ile_kwadraty &amp;gt;= MAKSYMALNA_KWADRATY) {
    alert(`Utworzyłeś maksymalną ilość kwadratów (${MAKSYMALNA_KWADRATY})`);
    return;
  }
   
  const value = document.querySelector('#pole-input').value.trim();  
  if (value.toLowerCase() === 'nowy div') {
    kwadrat.innerHTML += '&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;';
  }
}
&lt;/pre&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;input type=&quot;text&quot; id=&quot;pole-input&quot; value=&quot;nowy div&quot;&amp;gt;
&amp;lt;button type=&quot;button&quot; id=&quot;wykonaj-button&quot;&amp;gt;wykonaj&amp;lt;/button&amp;gt;
 
&amp;lt;div id=&quot;kwadrat&quot;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/pre&gt;



&lt;pre class=&quot;brush:css;&quot;&gt;
#kwadrat {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
#kwadrat div {
  width: 100px;
  height: 100px;
  border: 2px solid red;
}
&lt;/pre&gt;



&lt;p&gt;wpisaniu słowa usuń diva div usunął się i mógł to robić tyle i istnieje divów&amp;nbsp;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592277/usuniecie-diva-po-wpisaniu-slowa</guid>
<pubDate>Tue, 19 Mar 2024 21:20:30 +0000</pubDate>
</item>
<item>
<title>Czemu zmiana else if na samo if w tym przypadku zmienia działanie mojego kodu</title>
<link>https://forum.pasja-informatyki.pl/592100/czemu-zmiana-else-if-na-samo-if-w-tym-przypadku-zmienia-dzialanie-mojego-kodu</link>
<description>

&lt;p&gt;Robię w js taką funkcję, która sprawdza, czy podana liczba jest dodatnia, ujemna, czy równa zero.&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const response = document.querySelector('#response');

function chceckNumber(x)
{
    if (typeof x !== &quot;Number&quot;)
    {
        response.textContent = 'Podana wartość jest nieprawidłowa. Wpisz dowolną liczbę';
    }
    if (x == &quot;&quot;)
    {
        response.textContent = 'Nie podano liczby';
    }
    else if (x &amp;gt; 0)
    {
        response.textContent = 'Podana liczba jest dodatnia';
    }
    else if (x &amp;lt; 0)
    {
        response.textContent = 'Podana liczba jest ujemna';
    }
    else if (x == 0)
    {
        response.textContent = 'Podana liczba jest równa zero';
    }
}

window.addEventListener('keydown', (event) =&amp;gt; {
    if (event.key === &quot;Enter&quot;)
    {
        const inputValue = document.querySelector('#number').value;
        chceckNumber(inputValue);
    }
})&lt;/pre&gt;



&lt;p&gt;Podany wyżej kod działa prawidłowo, ale gdy zmienię warunek&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
if (x == &quot;&quot;)
    {
        response.textContent = 'Nie podano liczby';
    }&lt;/pre&gt;



&lt;p&gt;na&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
else if (x == &quot;&quot;)
    {
        response.textContent = 'Nie podano liczby';
    }&lt;/pre&gt;



&lt;p&gt;co w efekcie daje taki kod&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const response = document.querySelector('#response');

function chceckNumber(x)
{
    if (typeof x !== &quot;Number&quot;)
    {
        response.textContent = 'Podana wartość jest nieprawidłowa. Wpisz dowolną liczbę';
    }
    else if (x == &quot;&quot;)
    {
        response.textContent = 'Nie podano liczby';
    }
    else if (x &amp;gt; 0)
    {
        response.textContent = 'Podana liczba jest dodatnia';
    }
    else if (x &amp;lt; 0)
    {
        response.textContent = 'Podana liczba jest ujemna';
    }
    else if (x == 0)
    {
        response.textContent = 'Podana liczba jest równa zero';
    }
}

window.addEventListener('keydown', (event) =&amp;gt; {
    if (event.key === &quot;Enter&quot;)
    {
        const inputValue = document.querySelector('#number').value;
        chceckNumber(inputValue);
    }
})&lt;/pre&gt;



&lt;p&gt;sprawia, że bez względu na wartość w polu tekstowym wyświetla się odpowiedź, że podana wartość jest nieprawidłowa.&lt;/p&gt;



&lt;p&gt;Czy ktoś wie dlaczego tak się dzieje? Jestem bardzo ciekwawy, czemu to tak działa&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592100/czemu-zmiana-else-if-na-samo-if-w-tym-przypadku-zmienia-dzialanie-mojego-kodu</guid>
<pubDate>Wed, 13 Mar 2024 15:09:34 +0000</pubDate>
</item>
<item>
<title>koło fortuny - jak zawsze trafić środek ćwiartki</title>
<link>https://forum.pasja-informatyki.pl/591955/kolo-fortuny-jak-zawsze-trafic-srodek-cwiartki</link>
<description>

&lt;p&gt;hej, czy w takim kole po zakręceniu da się zrobić aby zawsze wypadało na środek danej ćwiartki czyli:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6879925165426964168&quot; style=&quot;height:214px; width:280px&quot;&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;

&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;style&amp;gt;
    * {
        margin: 0;
        padding: 0;
    }

    a {
        color: #34495e;
    }

    /*WRAPPER*/
    #wrapper {
        margin: 40px auto 0;
        width: 266px;
        position: relative;
    }

    #txt {
        color: red;
    }

    #inner-wheel-sec {
        width: 250px;
        height: 250px;
        transform: rotate(-13deg);
    }

    /*WHEEL*/
    #wheel {
        width: 250px;
        height: 250px;
        border-radius: 50%;
        position: relative;
        overflow: hidden;
        transform: rotate(0deg);
    }

    #wheel:before {
        content: '';
        position: absolute;
        border: 4px solid rgba(0, 0, 0, 0.1);
        width: 242px;
        height: 242px;
        border-radius: 50%;
        z-index: 1000;
    }

    #inner-wheel {
        width: 100%;
        height: 100%;

        -webkit-transition: all 6s cubic-bezier(0, .99, .44, .99);
        -moz-transition: all 6 cubic-bezier(0, .99, .44, .99);
        -o-transition: all 6s cubic-bezier(0, .99, .44, .99);
        -ms-transition: all 6s cubic-bezier(0, .99, .44, .99);
        transition: all 6s cubic-bezier(0, .99, .44, .99);
    }

    #wheel div.sec {
        position: absolute;
        width: 50%;
        height: 50%;
        transform-origin: bottom right;
        transform: rotate(calc(60deg * var(--i)));
        clip-path: polygon(0 0, 75% 0, 100% 100%, 0 75%);
    }



    #spin {
        width: 68px;
        height: 68px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin: -34px 0 0 -34px;
        border-radius: 50%;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 3px 0px;
        z-index: 1000;
        cursor: pointer;
    }
&amp;lt;/style&amp;gt;

&amp;lt;body&amp;gt;


    &amp;lt;div id=&quot;wheel&quot;&amp;gt;
        &amp;lt;div id=&quot;inner-wheel&quot;&amp;gt;
            &amp;lt;div id=&quot;inner-wheel-sec&quot;&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:1; background-color: red;&quot;&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:2; background-color: green;&quot;&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:3; background-color: red;&quot;&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:4; background-color: green;&quot;&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:5; background-color: red;&quot;&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;div class=&quot;sec&quot; style=&quot;--i:6; background-color: green;&quot;&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div id=&quot;spin&quot;&amp;gt;
            &amp;lt;div id=&quot;inner-spin&quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

    &amp;lt;/div&amp;gt;


&amp;lt;/body&amp;gt;
&amp;lt;script src=&quot;https://code.jquery.com/jquery-3.7.1.js&quot; integrity=&quot;sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=&quot;
    crossorigin=&quot;anonymous&quot;&amp;gt;&amp;lt;/script&amp;gt;

&amp;lt;script&amp;gt;
    var degree = 1800;
    var clicks = 0;

    $(document).ready(function () {

        $('#spin').click(function () {

            clicks++;

            var newDegree = degree * clicks;
            var extraDegree = Math.floor(Math.random() * (360 - 1 + 1)) + 1;
            totalDegree = newDegree + extraDegree;


            $('#wheel .sec').each(function () {
                var t = $(this);
                var noY = 0;

                var c = 0;
                var n = 700;
                var interval = setInterval(function () {
                    c++;
                    if (c === n) {
                        clearInterval(interval);
                    }

                    var aoY = t.offset().top;
                    $(&quot;#txt&quot;).html(aoY);
                    console.log(aoY);

                    if (aoY &amp;lt; 23.89) {
                        console.log('&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;');
                        $('#spin').addClass('spin');
                        setTimeout(function () {
                            $('#spin').removeClass('spin');
                        }, 100);
                    }
                }, 10);

                $('#inner-wheel').css({
                    'transform': 'rotate(' + totalDegree + 'deg)'
                });

                noY = t.offset().top;

            });
        });



    });

&amp;lt;/script&amp;gt;


&amp;lt;/html&amp;gt;&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591955/kolo-fortuny-jak-zawsze-trafic-srodek-cwiartki</guid>
<pubDate>Thu, 07 Mar 2024 11:06:11 +0000</pubDate>
</item>
<item>
<title>konfigurator produktu</title>
<link>https://forum.pasja-informatyki.pl/591918/konfigurator-produktu</link>
<description>hej, na takiej stronie &lt;a href=&quot;https://www.irsap.com/pl/products/radiator/soul-s&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.irsap.com/pl/products/radiator/soul-s&lt;/a&gt; u dołu jest konfigurator czy istnieją programy tworzące takie cuda czy w jaki sposób sie do tego zabrać odpowiedni? jakieś podpowiedzi</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591918/konfigurator-produktu</guid>
<pubDate>Tue, 05 Mar 2024 15:03:52 +0000</pubDate>
</item>
<item>
<title>Jak można dokładnie wykorzystać tablice</title>
<link>https://forum.pasja-informatyki.pl/591879/jak-mozna-dokladnie-wykorzystac-tablice</link>
<description>Jak dokładnie wykorzystać tablice w js do czego użyć można jakie ma zastosowania jak ją używać ktoś może mi to wytłumaczyć?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591879/jak-mozna-dokladnie-wykorzystac-tablice</guid>
<pubDate>Mon, 04 Mar 2024 15:28:21 +0000</pubDate>
</item>
<item>
<title>Utworzenie diva po wpisaniu słowa</title>
<link>https://forum.pasja-informatyki.pl/591830/utworzenie-diva-po-wpisaniu-slowa</link>
<description>

&lt;p&gt;WITAM chciałbym żeby po wpisaniu do INPUTU np slowa nowy div .w divie kwadrat powstał nowy div o ustalonych wymiarach i innych i tak za każdym razem jak to wpisze jednak żeby miało to ograniczoną ilość divów które można stworzyć&amp;nbsp;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
function utworz()
{
    
   if 
    
    
}
&lt;/pre&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&quot;CONTENT-TYPE&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
  &amp;lt;title&amp;gt;TWORZENIE DIVÓW&amp;lt;/title&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;divy.css&quot; type=&quot;text/css&quot;&amp;gt;
  &amp;lt;script src=&quot;mechanika.js&quot; &amp;gt;&amp;lt;/script&amp;gt;
  
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  
  &amp;lt;input type=&quot;text&quot; id=&quot;poleinput&quot;/&amp;gt;
  
  &amp;lt;input type=&quot;button&quot; value=&quot;wyslij&quot; onlick=&quot;utworz()&quot;/&amp;gt;
  
  &amp;lt;div id=&quot;kwadrat&quot;&amp;gt;
    
    
  &amp;lt;/div&amp;gt;
  
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;



&lt;p&gt;Czy ktos mógłby mi wytłumaczyć jak to zrobić ? Z góry dziękuję&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591830/utworzenie-diva-po-wpisaniu-slowa</guid>
<pubDate>Sun, 03 Mar 2024 13:45:37 +0000</pubDate>
</item>
<item>
<title>JAK ZMIENIC CZĄNKE DIVA PO WPISANIU TEXT W JS</title>
<link>https://forum.pasja-informatyki.pl/591818/jak-zmienic-czanke-diva-po-wpisaniu-text-w-js</link>
<description>Czy jest jakaś możliwość żeby po wpisaniu w INPut czegoś została zmieniona czcionka w divie na inną? Nie daje kodu bo chyba nie potrzebny</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591818/jak-zmienic-czanke-diva-po-wpisaniu-text-w-js</guid>
<pubDate>Sat, 02 Mar 2024 22:46:51 +0000</pubDate>
</item>
<item>
<title>Aplikacje webowe a przetwarzanie danych statystycznych</title>
<link>https://forum.pasja-informatyki.pl/591816/aplikacje-webowe-a-przetwarzanie-danych-statystycznych</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;Jestem na VI semestrze Informatyki i Ekonometrii, co za tym idzie zbliża się czas pisania inżynierki. Wymóg uczelni co do pracy inżynierskiej na tym kierunku jest taki, że musi być w niej zawarta część informatyczna oraz statystyczna/modelowanie danych itp. Z racji na to, że na co dzień siedzę w webówce(głównie laravel i vue) to przez lenistwo chciałbym dostosować to co umiem pod inżynierkę.&lt;/p&gt;



&lt;p&gt;Do głowy przyszły mi dwa pomysły:&lt;/p&gt;



&lt;p&gt;Pierwszy z nich to napisane&amp;nbsp;aplikacji pokroju e-wizyta, np umawianie wizyt online do przychodni(webówka - część informatyczna), gdzie zbieramy dane od pacjentów i na ich podstawie generujemy raporty(statystyki). Przykładowe dane do gromadzenia:&lt;/p&gt;



&lt;p&gt;Wiek pacjenta&lt;/p&gt;



&lt;ul&gt;
	

&lt;li&gt;Płeć&lt;/li&gt;
	

&lt;li&gt;Miejsce zamieszkania (wieś, miasto do 10 000 mieszkańców, miasto do 100 000 mieszkańców, miasto do 250 000 mieszkańców, większe miasto)&lt;/li&gt;
	

&lt;li&gt;Rodzaj wizyty (konsultacja, badanie, szczepienie, itp.)&lt;/li&gt;
	

&lt;li&gt;Rodzaj ubezpieczenia zdrowotnego (publiczne, prywatne)&lt;/li&gt;
	

&lt;li&gt;Występowanie chorób przewlekłych&lt;/li&gt;
	

&lt;li&gt;Typ lekarza/specjalisty, do którego umawiana jest wizyta&lt;/li&gt;
	

&lt;li&gt;Liczba osób w gospodarstwie domowym pacjenta&lt;/li&gt;
	

&lt;li&gt;Liczba wcześniejszych wizyt w przychodni w ciągu roku&lt;/li&gt;
	

&lt;li&gt;Czy pacjent korzysta z usług opieki zdrowotnej w innych placówkach&lt;/li&gt;
	

&lt;li&gt;Preferowany sposób płatności za wizytę&lt;/li&gt;
	

&lt;li&gt;Liczba zarejestrowanych przypadków danej choroby w określonym obszarze geograficznym&lt;/li&gt;
	

&lt;li&gt;Częstość występowania określonych objawów lub dolegliwości wśród pacjentów&lt;/li&gt;
	

&lt;li&gt;Wybór kanałów komunikacji przez pacjentów (telefon, e-mail, aplikacja mobilna)&lt;/li&gt;
	

&lt;li&gt;Częstotliwość korzystania z recept papierowych vs. elektronicznych&lt;/li&gt;
	

&lt;li&gt;Liczba przypadków nagłych wizyt medycznych vs. umówionych wizyt planowych&lt;/li&gt;
	

&lt;li&gt;Preferowany sposób odbioru wyników badań (osobiście, online)&lt;/li&gt;
	

&lt;li&gt;Pytanie o ocenę nawyków żywieniowych&lt;/li&gt;
	

&lt;li&gt;Wpływ czynników środowiskowych na zdrowie pacjentów&lt;/li&gt;
	

&lt;li&gt;Stopień dostępności usług medycznych w różnych obszarach geograficznych&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Martwi mnie trochę obliczanie&amp;nbsp;danych statystycznych, znalazłem &lt;a href=&quot;https://packagist.org/packages/hi-folks/statistics&quot; rel=&quot;nofollow&quot;&gt;libke&lt;/a&gt;&amp;nbsp;która ma kilka funkcji związanych ze statystyką, jednak przez to, że nigdy nie miałem do czynienia z pisaniem tego typu rozwiązań to nie jestem pewien czy w ogóle sam zamysł takiej aplikacji jest realny.&lt;/p&gt;



&lt;p&gt;Moim drugim pomysłem jest porównanie&amp;nbsp;Reacta i Vue pod względem performance'u. Zamysł byłby taki, aby stworzyć np forum internetowe, jako backend wykorzystać Laravela + Inertie, dzięki czemu tworzenie frontu odpowiednio w Vue i Reactie&amp;nbsp;będzie bazowało na dokładnie tym samym backendzie i systemie routingu, różnica będzie tylko na froncie - czyli to na czym de facto mi zależy. Pytanie które miałbym w tym przypadku to jakie dokładne parametry tych frameworków można mierzyć i przy pomocy jakich narzędzi? Czy zwykłe devtoolsy + react/vue tools zapewniają wszystkie dane które warto byłoby uwzględnić w takiej analizie?&lt;/p&gt;



&lt;p&gt;Oczywiście zadając to pytanie nie mam na celu wyciągnięcia&amp;nbsp;gotowego przepisu na temat pracy, jest to bardziej rozeznanie w temacie, żeby potem nie obudzić się z ręką w nocniku. Chętnie również wysłucham innych pomysłów na połączenie webówki i statystyki.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591816/aplikacje-webowe-a-przetwarzanie-danych-statystycznych</guid>
<pubDate>Sat, 02 Mar 2024 22:11:28 +0000</pubDate>
</item>
<item>
<title>Rozpoznawanie textu</title>
<link>https://forum.pasja-informatyki.pl/591802/rozpoznawanie-textu</link>
<description>

&lt;p&gt;JAK ZROBIC Żeby PO WPISANIU PO WPISANIU DO INPUTU NP HEJ W DIV&amp;nbsp; POJAWIŁ SIE TEXT : WITAM A Jeżeli BY SIE WPISAŁO PA TO POJAWIŁ SIE TEXT DO WIDZENIA WIENKSZĄSZC ROZUMIEM ALE NIE Wiem TO Zrobić&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
function sprawdz()
{
    var text = document.getElementById(&quot;liczba&quot;).value;
   
    if (text == hej) document.getElementById(&quot;odp&quot;).innerHTML=&quot;witam&quot;;
    else if (text == pa) document.getElementById(&quot;odp&quot;).innerHTML=&quot;do widzenia&quot;;

}&lt;/pre&gt;



&lt;p&gt;I próbowałem też z TEXT.value&amp;nbsp; ==&quot;Hej&quot; ale nie dzała&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/591802/rozpoznawanie-textu</guid>
<pubDate>Sat, 02 Mar 2024 17:35:21 +0000</pubDate>
</item>
</channel>
</rss>