דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
א

א.מ.

@א.מ.
מדריכים
אודות
פוסטים
447
נושאים
21
שיתופים
0
קבוצות
1
עוקבים
4
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • דיסק הצלה בעברית גרסת 2020
    א א.מ.

    בס"ד

    דיסק הצלה נועד למקרים בהם לא ניתן להשתמש במערכת ההפעלה המותקנת במחשב מחמת היותה פגומה, נעולה בסיסמה או נגועה בוירוסים וכדומה, דרך הדיסק הצלה ניתן להעלות מערכת הפעלה חיצונית באמצעות דיסק או דיסק און-קי ולתקן באמצעות תוכנות מתקדמות את המערכת הפעלה בה נמצאת התקלה, בדיסק הצלה זה המערכת הפעלה היא ווינדוס 10 מינימאלי בעברית ואף חלק מהתוכנות שבו (כגון: Windows Wordpad, VLC media player, UltraISO Premium, Total Commander, Rufus, Recuva, Defraggler, CCleaner, BurnAware, Aero Admin) תומכות בשפה העברית.

    לשימוש בדיסק יש לחלץ את הקבצים מהארכיון להתקן חיצוני ולעלות אותו דרך הביוס של המחשב, כשהדיסק יעלה יפתח תפריט ה-"PStart" ורשימת התוכנות שבדיסק תופיע.

    מדריך להעלאת התקן חיצוני מהביוס

    להורדת תוכנה לחילוץ קבצים ל-32 סיביות, ל-64 סיביות, או מכאן.
    להורדת הדיסק הצלה || לחץ כאן || [גודל הקובץ כ-1.4 GB]

    הערות:

    • בחילוץ הדיסק הצלה לדיסק און-קי יש לאתחל אותו למערכת קבצים FAT32 קודם החילוץ (יש לחלץ את הקבצים לספריה הראשית של ההתקן).
    • אם תוכנה מסויימת לא נפתחת, יש ללחוץ דרך המקש הימני בעכבר על סמל התוכנה ולבחור ב"Open containing folder", בחלון החדש שייפתח יש ללחוץ דרך המקש הימני בעכבר על "Run with Runscanner".
    • התוכנה "BurnAware" משום מה אינה פועלת כראוי לפעמים, במקרה כזה יש ללחוץ דרך המקש הימני בעכבר על סמל התוכנה ולבחור ב"Open containing folder", בחלון החדש שייפתח ימצאו כל יישומי התוכנה עם השמות שלהם בעברית ודרך יישומים אלו ניתן להשתמש בתוכנה.
    • לחלק מתיקיות השורש של התוכנות נוסף כיתוב בעברית עם הייעוד של כל תוכנה ולתוכנות "M3 Partition Recovery" ו"Active@ Partition Recovery" יש בנוסף גם מדריך בסיסי בעברית.
    • יש תוכנות שאינן מופיעות בתפריט של ה-PStart אך ניתן להפעילן דרך הנתיב: PStart\PETools\PETools\Programs שבדיסק.
    • דיסק הצלה זה לא עובד במולטי בוט.

    תמונות לדוגמא:

    דיסק הצלה בעברית 1.jpg
    דיסק הצלה בעברית 2.jpg
    דיסק הצלה בעברית 3.jpg

    בהצלחה!

    שים לב! הדיסק עודכן לגרסה חדשה כאן.

    מערכות הפעלה

  • דיסק הצלה בעברית 2021
    א א.מ.

    בס"ד

    דיסק הצלה נועד למקרים בהם לא ניתן לגשת למערכת ההפעלה המותקנת במחשב מחמת היותה פגומה, נעולה בסיסמה או נגועה בוירוסים וכדומה, דרך הדיסק הצלה ניתן להעלות מערכת הפעלה חיצונית באמצעות דיסק DVD או דיסק און-קי ולתקן באמצעות התוכנות שבה את המערכת הפעלה בה נמצאת התקלה, בדיסק הצלה זה המערכת הפעלה היא ווינדוס 10 מינימאלי בעברית ואף חלק מהתוכנות שבה תומכות בשפה העברית (כגון: Aero Admin, Mozilla Firefox, Revo Uninstaller Pro, AOMEI Partition Assistant, Defraggler, FileLocatorPro, DiskInfo, Speccy, SumatraPDF ועוד).

    מדריך להעלאת התקן חיצוני מהביוס
    הורדת התוכנה לצריבת הדיסק: לדיסק DVD, לדיסק און-קי.
    להורדת הדיסק הצלה לחץ כאן (גודל הקובץ כ-2.5 GB).

    הערות:

    • כל התוכנות ניתנות להפעלה גם ישירות דרך קובץ ה-ISO בלא צורך העלאה מהבוט.
    • בתפריט ה-PStart מופיעות רק התוכנות העיקריות, ישנן הרבה תוכנות נוספות שאינן מופיעות בו, ניתן להפעילן דרך התיקיות "Programs" ו-"PStart" שבדיסק.

    תמונות לדוגמא:
    דיסק הצלה בעברית 2021 (1).png
    דיסק הצלה בעברית 2021 (2).png
    דיסק הצלה בעברית 2021 (3).png
    דיסק הצלה בעברית 2021 (4).png
    בהצלחה!

    • קרדיט ליוצר הדיסק: @MilleR
    עזרה הדדית - מחשבים וטכנולוגיה

  • המלצה | כלי הציור החדש של GPT מוצלח מהצפוי
    א א.מ.

    @תותחוביץ זה בגלל שאתה ציירת יפה, לא כי הוא יצירתי יותר 😉 ...

    עזרה הדדית - בינה מלאכותית

  • מדריך | תחילת השימוש במערכת Home Assistant לבית חכם
    א א.מ.

    תחילת השימוש במערכת Home Assistant לבית חכם

    בס"ד

    מכיוון שהרבה אנשים רוצים להפוך את ביתם ל"בית חכם" ולא מכירים מקרוב את הנושא ולא יודעים מהיכן להתחיל, מוגש כאן מדריך לתחילת ההיכרות עם מערכת בית חכם.
    המדריך מבוסס על מערכת Home Assistant שהיא מהמומלצות ביותר עבור ניהול בית חכם באופן בטוח ונח.

    מבנה המערכת:

    מערכת-בית-חכם.jpg

    מושגים:

    מערכת הום אסיסטנט: תוכנת Home Assistant היא מערכת חינמית בקוד פתוח מבוססת לינוקס לשליטה במכשירי הבית החכם, התוכנה מופעלת לרוב על מחשב עם מערכת הפעלה של Home Assistant, החומרה הנדרשת היא לפחות אחסון של 32GB וזיכרון של 2GB RAM (מומלץ מאוד שיהיה גם חיבור של USB), ניתן להשתמש ב-Home Assistant Green בו המערכת מותקנת מראש (ניתן לרכוש מכאן), או להתקינה על חומרה אחרת בהתאמה אישית (הכי זול זו 4 Raspberry Pi), או על מכונה וירטואלית במחשב.

    נתב (Router): מאפשר יצירת רשת ביתית מקומית ומקשר בין כל המכשירים בבית החכם, מומלץ לבחור בנתב עם תמיכה במספר רב של מכשירים, טווח קליטה רחב לכל הבית ותמיכה ב-Wi-Fi מהיר עם תדרי 2.4GHz ו-5GHz (רוב מוצרי הבית חכם תומכים רק בתדר 2.4GHz).

    זיגבי (ZigBee): פרוטוקול לתקשורת אלחוטית מקומית עם טווח של כ-50 מטר המתאפיין בצריכת חשמל נמוכה ומשמש הרבה מהמכשירים בבית חכם, כדי לחבר למערכת מכשירים המשדרים בזיגבי יש לוודא שיש לכם את החומרה הנדרשת, או לרכוש מתאם ולחבר אותו לחומרה שלכם (ניתן לרכוש מכאן, או דרך עלי אקספרס).

    בלוטוס (Bluetooth): חלק מהמכשירים בבית החכם משדרים באמצעות בלוטוס, כדי לחבר למערכת מכשירים המשדרים בבלוטוס יש לוודא שיש לכם את החומרה הנדרשת, או לרכוש מתאם ולחבר אותו לחומרה שלכם.

    אינטגרציות: שילוב של התקנים שונים מחברות שונות בהום אסיסטנט.

    e56f07e9-5460-41e7-9126-eb95858b428b-image.png

    התקנים (Devices): מכשירים אלקטרונים עם שידור ווי-פיי / בלוטוס / זיגבי וכדו', לאפליקציה או למערכת בית חכם המאפשר לשלוט עליהם באופן אלחוטי (לדוגמה: חיישנים, מתגים, תאורה, רמקולים וכדו').

    d9bb64cc-ad17-439f-a105-599d56cf3e63-image.png

    ישויות: כל פונקציה במכשיר נקראת 'ישות', מכשירים עם מספר פונקציות יכילו מספר ישויות בהתאם.

    02097504-0358-4531-973f-e2841100c68b-image.png

    אוטומציות: הפעלת פעולות באופן אוטומטי, אוטומציות מורכבות משלושה מרכיבים עיקריים, טריגר: הגורם המפעיל את האוטומציה, תנאים: בדיקות אופציונליות שיש לעמוד בהן לפני פעולה, פעולות: אינטראקציה עם התקנים (לדגמה: חצי שעה לפני השקיעה (טריגר) יכבה החימום מים בגז (פעולה) רק כשהיום יום שישי (תנאי).

    32829266-a902-4c0e-af01-7560ba297cd5-image.png

    סצנות: יצירת הגדרות מותאמות מראש עבור מספר התקנים (לדוגמה: הדלקת מספר נורות בבהירות ובצבע מסוימים), ניתן לשמור מספר סצנות ולעבור בקלות בבת אחת מאחת לשנייה.

    5ced877c-d0f8-4991-8e46-903af549299d-image.png

    שטחים: הגדרת שלט מאפשרת למקד פעולה בקבוצה שלמה של מכשירים באותו מקום (לדוגמה: כיבוי כל האורות בסלון).

    b2369e84-393a-4257-9e5f-2e6d4b9d81dd-image.png

    לוח מחוונים: מערכת לוח המחוונים הראשית מציעה כרטיסים שונים להצגת מידע ושליטה במכשירים המחוברים למערכת, ניתן להציגה על מחשב / טאבלט / פלאפון וכדו'.

    לוח מחוונים.jpeg

    מסייע קולי: מאפשר שליטה על המערכת באמצעות דיבור כגון: גוגל אסיסטנט, אמזון אלכסה או עוזר קולי מקומי.

    • ניתן להתנסות במערכת Home Assistant דמו כאן.
    בהצלחה!
    מדריכים - מחשבים וטכנולוגיה

  • להורדה | רקעים יפים מאוד של 'מאושר וועדת הרבנים'!
    א א.מ.

    יש גם לנשים... 😊
    רקע לפלאפון 2.jpg

    כללי - עזרה הדדית

  • הורדת מפות אופליין לווינדוס
    א א.מ.

    בס"ד

    לטובת משתשמשי הפורום, ניתן להוריד מכאן את מפת ישראל של ווינדוס להתקנה במחשב ללא חיבור לרשת.

    ~מעודכן כ"ח אב פ"ב~

    b9a14928-0f1d-4d02-bc16-a00c7b6035e1-image.png

    עזרה הדדית - מחשבים וטכנולוגיה

  • שיתוף | גרפי התרמה בקובץ HTML
    א א.מ.

    גרפים להתקדמות בגיוס כספים בקובץ HTML

    בס"ד

    לאור צורך של ישיבה מסוימת שאוספת כספים 3 ימים לפני פורים, ביקשתי מבינה מלאכותית ליצור קובץ html שיציג גרפים של התקדמות גיוס הכספים (ואם זה יועיל גם למישהו פה, עוד יותר טוב).
    ניסיתי 3 כלי בינה מלאכותית, כולם היו במצב חשיבה וכולם קיבלו את אותן הוראות ולאחר מכן הוראות נוספות לתיקונים ושיפורים בקוד, לא ביצעתי שום שינוי ידני בקוד.
    אלה היו הדרישות העיקריות:

    1. 3 גרפים של 3 ימי גיוס כספים שבכל אחד מהם גרף של הסכום שנאסף מול סכום היעד עם סרגל התקדמות.
    2. גרף רביעי המכיל סכום יעד כולל וסכום שקלול של כל שלושת הגרפים האחרים.
    3. כל ארבעת הגרפים מסודרים במרכז המסך ומצגים באופן מסודר 2 למעלה ו2 למטה בגודל אחיד.
    4. כל גרף סכום משנה את צבעו בהתאמה לגרף סכום היעד שלידו, בין 0% עד 30% צבע אדום, בין 31% ל70% צבע כתום, בין 71% ל100% צבע ירוק, מעל 101% צבע צהוב זורח.
    5. לגרף הסיכום הכולל יש טקסט מתחתיו שמותאם ביחס ליעד הכולל, בין 0% עד 30% לא לחלום, חסר עדיין המון כסף!, בין 31% ל70% מתקדמים יפה, אבל צריך להתאמץ יותר!, בין 71% ל100% המשיכו כך, אתם ממש קרובים ליעד!, מעל 101% אין עליכם, עבדתם מעל למצופה!
    6. לכל גרף יש 3 לחצנים, 1 שינוי כותרת הגרף, 2 שינוי סכום הגרף, 3 שינוי סכום היעד בגרף.
    7. כותרת כללית לעמוד בפונט מודגש עם הצללה ועם לחצן לשינוי טקסט הכותרת ולחצן לשינוי צבע וסלידר לשינוי גודל הטקסט של הכותרת.
    8. לחצן להעלאת תמונת הרקע לעמוד מהמחשב שממורכזת למרכז המסך ומותאמת למילוי המסך.
    9. לחצן הדפסה של העמוד ללא כל הלחצנים שבעמוד אבל עם תמונת הרקע.
    10. לחצן מעבר למסך מלא שמסתיר את כל הלחצנים בעמוד.

    ואלו התוצאות:

    GPT 4o:

    dc0c70c4-c5fa-4d91-8e66-27c919f21135-image.png

    <!DOCTYPE html>
    <html lang="he">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>מגבית ת"ת תשפ"ה</title>
      <style>
        html, body {
          height: 100%;
        }
        /* כיוון טקסט RTL, טקסט מיושר למרכז */
        body {
          margin: 0;
          font-family: Arial, sans-serif;
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          direction: rtl;
          text-align: center;
        }
        /* container בגובה מלא וברוחב 75% מהמסך */
        .container {
          width: 75vw;
          margin: 0 auto;
          padding: 20px;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          min-height: 100vh;
        }
        /* במצב מסך מלא – הגדלת המרווח בין הגרפים */
        .fullscreen-mode .chart-grid {
          gap: 50px;
        }
        /* במצב הדפסה – הגדלת המרווח בין הגרפים */
        @media print {
          .chart-grid {
            gap: 50px;
          }
          .no-print {
            display: none !important;
          }
          body {
            -webkit-print-color-adjust: exact;
          }
        }
        /* כותרת ראשית */
        .main-title {
          font-family: Arial, sans-serif;
          font-weight: bold;
          text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
          margin-bottom: 20px;
          transition: font-size 0.3s;
        }
        /* כפתורים */
        .button {
          margin: 5px;
          padding: 8px 12px;
          border: none;
          border-radius: 4px;
          background-color: #007BFF;
          color: white;
          cursor: pointer;
          transition: background-color 0.3s;
          text-decoration: none;
          display: inline-block;
        }
        .button:hover {
          background-color: #0056b3;
        }
        /* עיצוב לחצן בחירת תמונת רקע */
        #bgUpload {
          display: none;
        }
        label[for="bgUpload"] {
          cursor: pointer;
          margin: 5px;
          padding: 8px 12px;
          border-radius: 4px;
          background-color: #28a745;
          color: white;
          display: inline-block;
          transition: background-color 0.3s;
        }
        label[for="bgUpload"]:hover {
          background-color: #218838;
        }
        /* עיצוב בחירת גופן מתוך רשימת ברירת המחדל */
        .font-selection {
          display: inline-flex;
          align-items: center;
          margin: 5px 10px;
        }
        #fontSelect {
          padding: 6px;
          border-radius: 4px;
          margin-left: 5px;
        }
        /* הגדרת גריד להצגת הגרפים */
        .chart-grid {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 30px;
          width: 100%;
          justify-items: center;
        }
        /* עיצוב הגרף */
        .chart {
          background: rgba(255,255,255,0.6); /* שקיפות 60% */
          padding: 15px;
          border-radius: 8px;
          box-shadow: 0 2px 5px rgba(0,0,0,0.1);
          width: 100%;
          /* הגרף יתפרס על 100% מתא הבית (כלומר, תופס את רוחב תא הגריד) */
        }
        .progress-bar-container {
          width: 100%;
          height: 30px;
          background-color: #e0e0e0;
          border-radius: 15px;
          overflow: hidden;
          margin: 10px 0;
        }
        .progress-bar {
          height: 100%;
          width: 0%;
          background-color: red;
          border-radius: 15px 0 0 15px;
          transition: width 0.5s, background-color 0.5s;
        }
        .hidden {
          display: none !important;
        }
      </style>
    </head>
    <body>
      <div class="container" id="container">
        <!-- כותרת ראשית -->
        <h1 class="main-title" id="mainTitle">מגבית ת"ת תשפ"ה</h1>
        <div class="no-print">
          <button class="button" onclick="changeMainTitleText()">שנה טקסט כותרת</button>
          <label for="mainTitleColorPicker" style="margin: 0 10px;">
            בחר צבע לכותרת:
            <input type="color" id="mainTitleColorPicker" oninput="changeMainTitleColor(this.value)" value="#000000">
          </label>
          <label style="margin: 0 10px;">גודל כותרת:
            <input type="range" min="20" max="80" value="32" id="titleSizeSlider" onchange="changeMainTitleSize(this.value)">
          </label>
          <!-- בחירת תמונת רקע -->
          <input type="file" id="bgUpload" accept="image/*" onchange="uploadBackground(event)">
          <label for="bgUpload">בחר תמונת רקע</label>
          <!-- בחירת גופן מתוך רשימת ברירת המחדל -->
          <div class="font-selection">
            <span>בחר גופן לכותרת:</span>
            <select id="fontSelect" onchange="changeFont(this.value)">
              <option value="Arial">Arial</option>
              <option value="Verdana">Verdana</option>
              <option value="Tahoma">Tahoma</option>
              <option value="'Times New Roman'">Times New Roman</option>
              <option value="Georgia">Georgia</option>
              <option value="'Courier New'">Courier New</option>
              <option value="Impact">Impact</option>
              <option value="'Comic Sans MS'">Comic Sans MS</option>
            </select>
          </div>
          <button class="button" onclick="printPage()">הדפס עמוד</button>
          <button class="button" onclick="toggleFullScreen()">מסך מלא</button>
        </div>
        
        <!-- גריד הגרפים -->
        <div class="chart-grid">
          <!-- גרף יום 1 -->
          <div class="chart" id="chart1">
            <h2 id="chart1Title">יום 1</h2>
            <div>נאסף: <span id="chart1Collected">0</span> / יעד: <span id="chart1Target">45000</span></div>
            <div class="progress-bar-container">
              <div class="progress-bar" id="progress1"></div>
            </div>
            <div class="chart-buttons no-print">
              <button class="button" onclick="changeChartTitle(1)">שנה כותרת</button>
              <button class="button" onclick="changeChartCollected(1)">שנה סכום נאסף</button>
              <button class="button" onclick="changeChartTarget(1)">שנה סכום יעד</button>
            </div>
          </div>
          <!-- גרף יום 2 -->
          <div class="chart" id="chart2">
            <h2 id="chart2Title">יום 2</h2>
            <div>נאסף: <span id="chart2Collected">0</span> / יעד: <span id="chart2Target">50000</span></div>
            <div class="progress-bar-container">
              <div class="progress-bar" id="progress2"></div>
            </div>
            <div class="chart-buttons no-print">
              <button class="button" onclick="changeChartTitle(2)">שנה כותרת</button>
              <button class="button" onclick="changeChartCollected(2)">שנה סכום נאסף</button>
              <button class="button" onclick="changeChartTarget(2)">שנה סכום יעד</button>
            </div>
          </div>
          <!-- גרף יום 3 -->
          <div class="chart" id="chart3">
            <h2 id="chart3Title">יום 3</h2>
            <div>נאסף: <span id="chart3Collected">0</span> / יעד: <span id="chart3Target">60000</span></div>
            <div class="progress-bar-container">
              <div class="progress-bar" id="progress3"></div>
            </div>
            <div class="chart-buttons no-print">
              <button class="button" onclick="changeChartTitle(3)">שנה כותרת</button>
              <button class="button" onclick="changeChartCollected(3)">שנה סכום נאסף</button>
              <button class="button" onclick="changeChartTarget(3)">שנה סכום יעד</button>
            </div>
          </div>
          <!-- גרף סיכום כולל -->
          <div class="chart" id="chart4">
            <h2 id="chart4Title">סיכום כולל</h2>
            <div>סה"כ נאסף: <span id="chart4Collected">0</span> / יעד כולל: <span id="chart4Target">155000</span></div>
            <div class="progress-bar-container">
              <div class="progress-bar" id="progress4"></div>
            </div>
            <div id="overallMessage" style="font-weight: bold; margin-top:10px;"></div>
            <div class="no-print" style="margin-top:10px;">
              <button class="button" onclick="changeChartTitle(4)">שנה כותרת הסיכום</button>
            </div>
          </div>
        </div>
      </div>
      
      <script>
        /* משתנים גלובליים לגרפים עם ערכי יעד מעודכנים */
        let charts = {
          1: { title: "יום 1", collected: 0, target: 45000 },
          2: { title: "יום 2", collected: 0, target: 50000 },
          3: { title: "יום 3", collected: 0, target: 60000 }
        };
    
        function updateProgressBar(chartId, percentage) {
          const progressBar = document.getElementById("progress" + chartId);
          progressBar.style.width = Math.min(percentage, 100) + "%";
          let color = "";
          if (percentage <= 30) { color = "red"; }
          else if (percentage <= 70) { color = "orange"; }
          else if (percentage <= 100) { color = "green"; }
          else { color = "yellow"; }
          progressBar.style.backgroundColor = color;
        }
    
        function updateChartDisplay(chartId) {
          if (chartId === 4) {
            const totalCollected = charts[1].collected + charts[2].collected + charts[3].collected;
            const totalTarget = charts[1].target + charts[2].target + charts[3].target;
            document.getElementById("chart4Collected").innerText = totalCollected;
            document.getElementById("chart4Target").innerText = totalTarget;
            const percentage = totalTarget ? (totalCollected / totalTarget) * 100 : 0;
            updateProgressBar(4, percentage);
            updateOverallMessage(percentage);
          } else {
            const collected = charts[chartId].collected;
            const target = charts[chartId].target;
            document.getElementById("chart" + chartId + "Collected").innerText = collected;
            document.getElementById("chart" + chartId + "Target").innerText = target;
            const percentage = target ? (collected / target) * 100 : 0;
            updateProgressBar(chartId, percentage);
          }
        }
    
        function updateOverallMessage(percentage) {
          const messageEl = document.getElementById("overallMessage");
          let message = "";
          if (percentage <= 30) { message = "לא לחלום, חסר עדיין המון כסף!"; }
          else if (percentage <= 70) { message = "מתקדמים יפה, אבל צריך להתאמץ יותר!"; }
          else if (percentage <= 100) { message = "המשיכו כך, אתם ממש קרובים ליעד!"; }
          else { message = "אין עליכם, עבדתם מעל למצופה!"; }
          messageEl.innerText = message;
        }
    
        function changeChartTitle(chartId) {
          let promptText = chartId === 4 ? "גרף הסיכום" : "גרף " + chartId;
          let newTitle = prompt("הכנס כותרת חדשה ל" + promptText + ":", 
                                 chartId === 4 ? document.getElementById("chart4Title").innerText : charts[chartId].title);
          if (newTitle !== null) {
            if (chartId === 4) {
              document.getElementById("chart4Title").innerText = newTitle;
            } else {
              charts[chartId].title = newTitle;
              document.getElementById("chart" + chartId + "Title").innerText = newTitle;
            }
          }
        }
    
        function changeChartCollected(chartId) {
          let newCollected = prompt("הכנס סכום נאסף חדש לגרף " + chartId + ":", charts[chartId].collected);
          if (newCollected !== null && !isNaN(newCollected)) {
            charts[chartId].collected = parseFloat(newCollected);
            updateChartDisplay(chartId);
            updateChartDisplay(4);
          }
        }
    
        function changeChartTarget(chartId) {
          let newTarget = prompt("הכנס סכום יעד חדש לגרף " + chartId + ":", charts[chartId].target);
          if (newTarget !== null && !isNaN(newTarget)) {
            charts[chartId].target = parseFloat(newTarget);
            updateChartDisplay(chartId);
            updateChartDisplay(4);
          }
        }
    
        updateChartDisplay(1);
        updateChartDisplay(2);
        updateChartDisplay(3);
        updateChartDisplay(4);
    
        function changeMainTitleText() {
          const newText = prompt("הכנס טקסט חדש לכותרת הראשית:", document.getElementById("mainTitle").innerText);
          if (newText !== null) {
            document.getElementById("mainTitle").innerText = newText;
          }
        }
    
        function changeMainTitleColor(newColor) {
          document.getElementById("mainTitle").style.color = newColor;
        }
    
        function changeMainTitleSize(value) {
          document.getElementById("mainTitle").style.fontSize = value + "px";
        }
    
        function uploadBackground(event) {
          const file = event.target.files[0];
          if (file) {
            const reader = new FileReader();
            reader.onload = function(e) {
              document.body.style.backgroundImage = "url('" + e.target.result + "')";
            }
            reader.readAsDataURL(file);
          }
        }
    
        function changeFont(fontName) {
          document.getElementById("mainTitle").style.fontFamily = fontName + ", sans-serif";
        }
    
        function printPage() {
          const noPrintElements = document.querySelectorAll(".no-print");
          noPrintElements.forEach(el => el.classList.add("hidden"));
          window.print();
          noPrintElements.forEach(el => el.classList.remove("hidden"));
        }
    
        let isFullScreen = false;
        function toggleFullScreen() {
          if (!isFullScreen) {
            openFullscreen();
          } else {
            closeFullscreen();
          }
        }
        function openFullscreen() {
          const elem = document.documentElement;
          if (elem.requestFullscreen) { elem.requestFullscreen(); }
          else if (elem.webkitRequestFullscreen) { elem.webkitRequestFullscreen(); }
          else if (elem.msRequestFullscreen) { elem.msRequestFullscreen(); }
          document.querySelectorAll(".no-print").forEach(el => el.classList.add("hidden"));
          // הוספת מחלקת fullscreen-mode ל-container להגדלת המרווחים (50px) במצב מסך מלא
          document.getElementById("container").classList.add("fullscreen-mode");
          isFullScreen = true;
        }
        function closeFullscreen() {
          if (document.exitFullscreen) { document.exitFullscreen(); }
          else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); }
          else if (document.msExitFullscreen) { document.msExitFullscreen(); }
          document.querySelectorAll(".no-print").forEach(el => el.classList.remove("hidden"));
          document.getElementById("container").classList.remove("fullscreen-mode");
          isFullScreen = false;
        }
        document.addEventListener('fullscreenchange', () => {
          if (!document.fullscreenElement) {
            document.querySelectorAll(".no-print").forEach(el => el.classList.remove("hidden"));
            document.getElementById("container").classList.remove("fullscreen-mode");
            isFullScreen = false;
          }
        });
        document.addEventListener('webkitfullscreenchange', () => {
          if (!document.webkitFullscreenElement) {
            document.querySelectorAll(".no-print").forEach(el => el.classList.remove("hidden"));
            document.getElementById("container").classList.remove("fullscreen-mode");
            isFullScreen = false;
          }
        });
        document.addEventListener('msfullscreenchange', () => {
          if (!document.msFullscreenElement) {
            document.querySelectorAll(".no-print").forEach(el => el.classList.remove("hidden"));
            document.getElementById("container").classList.remove("fullscreen-mode");
            isFullScreen = false;
          }
        });
      </script>
    </body>
    </html>
    

    Grok 3:

    ae5e0adf-cbb9-40aa-8890-4c5d538189ef-image.png

    <!DOCTYPE html>
    <html lang="he" dir="rtl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>מגבית ת"ת תשפ"ה</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                background-color: #f5f5f5;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                min-height: 100vh;
                margin: 0;
                transition: background-image 0.3s;
            }
            .header {
                font-size: 2em;
                font-weight: bold;
                text-shadow: 2px 2px 4px #000;
                margin-bottom: 30px;
                color: #1e3a8a;
            }
            .graph-container {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 40px;
                max-width: 800px;
                margin-bottom: 30px;
            }
            .graph {
                width: 350px;
                background-color: rgba(255, 255, 255, 0.8);
                border-radius: 12px;
                padding: 20px;
                box-shadow: 0 4px 12px rgba(0,0,0,0.1);
                text-align: center;
                transition: transform 0.2s;
            }
            .graph:hover {
                transform: translateY(-2px);
            }
            .progress-bar {
                width: 100%;
                height: 20px;
                background-color: #e0e0e0;
                border-radius: 10px;
                overflow: hidden;
                margin: 15px 0;
            }
            .progress {
                height: 100%;
                transition: width 0.3s, background-color 0.3s;
            }
            .summary-text {
                margin-top: 15px;
                font-weight: bold;
                color: #555;
                font-size: 1.3em;
            }
            .buttons {
                display: flex;
                flex-wrap: wrap;
                gap: 15px;
                margin-top: 20px;
                justify-content: center;
            }
            .graph-buttons {
                display: flex;
                justify-content: center;
                gap: 10px;
                margin-top: 15px;
            }
            .button {
                padding: 12px 24px;
                background-color: #4caf50;
                color: #fff;
                border: none;
                border-radius: 8px;
                cursor: pointer;
                font-size: 1em;
                transition: background-color 0.3s, transform 0.2s;
            }
            .button:hover {
                background-color: #45a049;
                transform: scale(1.05);
            }
            .fullscreen-button {
                position: fixed;
                bottom: 20px;
                right: 20px;
                padding: 12px 24px;
                background-color: #4caf50;
                color: #fff;
                border: none;
                border-radius: 8px;
                cursor: pointer;
                font-size: 1em;
                transition: background-color 0.3s, transform 0.2s;
            }
            .fullscreen-button:hover {
                background-color: #45a049;
                transform: scale(1.05);
            }
            input[type="range"], input[type="color"] {
                width: 120px;
                margin: 5px;
            }
            select {
                padding: 8px;
                border-radius: 8px;
                font-size: 1em;
            }
            @media print {
                .button, .fullscreen-button, .buttons, .graph-buttons, input, select { /* הסתרת כל הלחצנים ופקדים */
                    display: none !important;
                }
                .graph, .progress-bar, .progress, .header, .summary-text {
                    print-color-adjust: exact;
                    -webkit-print-color-adjust: exact;
                }
                body {
                    background-image: inherit !important;
                    background-size: cover !important;
                    background-position: center !important;
                    background-repeat: no-repeat !important;
                    background-attachment: fixed !important;
                    background-color: transparent !important;
                    print-background: print; /* תאימות מלאה להדפסת רקע */
                }
            }
            @media (display-mode: fullscreen) {
                .button, .fullscreen-button, .buttons, .graph-buttons, input, select { /* הסתרת פקדים במסך מלא */
                    display: none !important;
                }
            }
        </style>
    </head>
    <body>
        <div class="header" id="header">מגבית ת"ת תשפ"ה</div>
        <div class="graph-container">
            <div class="graph" id="graph1">
                <h3 id="title1">גיוס יום 1</h3>
                <div class="progress-bar">
                    <div class="progress" id="progress1" style="width: 0%;"></div>
                </div>
                <p>סכום שנאסף: <span id="amount1">0</span> ₪ מתוך <span id="target1">40000</span> ₪</p>
                <div class="graph-buttons">
                    <button class="button" onclick="changeTitle(1)">שנה כותרת</button>
                    <button class="button" onclick="changeAmount(1)">שנה סכום</button>
                    <button class="button" onclick="changeTarget(1)">שנה יעד</button>
                </div>
            </div>
            <div class="graph" id="graph2">
                <h3 id="title2">גיוס יום 2</h3>
                <div class="progress-bar">
                    <div class="progress" id="progress2" style="width: 0%;"></div>
                </div>
                <p>סכום שנאסף: <span id="amount2">0</span> ₪ מתוך <span id="target2">45000</span> ₪</p>
                <div class="graph-buttons">
                    <button class="button" onclick="changeTitle(2)">שנה כותרת</button>
                    <button class="button" onclick="changeAmount(2)">שנה סכום</button>
                    <button class="button" onclick="changeTarget(2)">שנה יעד</button>
                </div>
            </div>
            <div class="graph" id="graph3">
                <h3 id="title3">גיוס יום 3</h3>
                <div class="progress-bar">
                    <div class="progress" id="progress3" style="width: 0%;"></div>
                </div>
                <p>סכום שנאסף: <span id="amount3">0</span> ₪ מתוך <span id="target3">50000</span> ₪</p>
                <div class="graph-buttons">
                    <button class="button" onclick="changeTitle(3)">שנה כותרת</button>
                    <button class="button" onclick="changeAmount(3)">שנה סכום</button>
                    <button class="button" onclick="changeTarget(3)">שנה יעד</button>
                </div>
            </div>
            <div class="graph">
                <h3>סיכום כולל</h3>
                <div class="progress-bar">
                    <div class="progress" id="progressTotal" style="width: 0%;"></div>
                </div>
                <p>סכום שנאסף: <span id="amountTotal">0</span> ₪ מתוך <span id="targetTotal">135000</span> ₪</p>
                <p class="summary-text" id="summaryText"></p>
            </div>
        </div>
        <div class="buttons" id="controlButtons">
            <button class="button" onclick="changeHeader()">שנה כותרת</button>
            <label for="colorPicker">בחר צבע כותרת: </label>
            <input type="color" id="colorPicker" onchange="changeColor(this.value)">
            <label for="fontSizeSlider">גודל כותרת: </label>
            <input type="range" min="1" max="5" step="0.1" value="2" id="fontSizeSlider" oninput="changeFontSize(this.value)">
            <label for="fontSelect">בחר גופן: </label>
            <select id="fontSelect" onchange="changeFont(this.value)">
                <option value="Arial">Arial</option>
                <option value="Times New Roman">Times New Roman</option>
                <option value="Courier New">Courier New</option>
                <option value="Georgia">Georgia</option>
                <option value="Verdana">Verdana</option>
            </select>
            <button class="button" onclick="uploadBackground()">העלה תמונת רקע</button>
            <button class="button" onclick="printPage()">הדפס עמוד</button>
        </div>
        <button class="button fullscreen-button" id="fullscreenButton" onclick="toggleFullscreen()">מסך מלא</button>
    
        <script>
            let amounts = [0, 0, 0]; // סכומים שנאספו מתחילים ב-0
            let targets = [40000, 45000, 50000];
            let totalTarget = targets.reduce((a, b) => a + b, 0); // חישוב דינמי של היעד הכולל
    
            function updateProgress() {
                amounts.forEach((amount, index) => {
                    const percentage = (amount / targets[index]) * 100;
                    const progress = document.getElementById(`progress${index + 1}`);
                    progress.style.width = `${percentage}%`;
                    progress.style.backgroundColor = getColor(percentage);
                    document.getElementById(`amount${index + 1}`).textContent = Math.round(amount); // הצגת מספרים שלמים ללא עשרוניות
                    document.getElementById(`target${index + 1}`).textContent = Math.round(targets[index]); // הצגת מספרים שלמים ליעד
                });
    
                const totalAmount = amounts.reduce((a, b) => a + b, 0);
                totalTarget = targets.reduce((a, b) => a + b, 0); // עדכון דינמי של היעד הכולל
                const totalPercentage = (totalAmount / totalTarget) * 100;
                const progressTotal = document.getElementById('progressTotal');
                progressTotal.style.width = `${totalPercentage}%`;
                progressTotal.style.backgroundColor = getColor(totalPercentage);
                document.getElementById('amountTotal').textContent = Math.round(totalAmount); // הצגת מספרים שלמים ללא עשרוניות
                document.getElementById('targetTotal').textContent = Math.round(totalTarget); // הצגת היעד הכולל כמספר שלם
    
                const summaryText = document.getElementById('summaryText');
                if (totalPercentage <= 30) {
                    summaryText.textContent = 'לא לחלום, חסר עדיין המון כסף!';
                } else if (totalPercentage <= 70) {
                    summaryText.textContent = 'מתקדמים יפה, אבל צריך להתאמץ יותר!';
                } else if (totalPercentage <= 100) {
                    summaryText.textContent = 'המשיכו כך, אתם ממש קרובים ליעד!';
                } else {
                    summaryText.textContent = 'אין עליכם, עבדתם מעל למצופה!';
                }
            }
    
            function getColor(percentage) {
                if (percentage <= 30) return 'red';
                if (percentage <= 70) return 'orange';
                if (percentage <= 100) return 'green';
                return 'yellow';
            }
    
            function changeHeader() {
                const newHeader = prompt('הזן כותרת חדשה:');
                if (newHeader) {
                    document.getElementById('header').textContent = newHeader;
                }
            }
    
            function changeColor(color) {
                document.getElementById('header').style.color = color; // עדכון מיידי של צבע הכותרת בזמן אמת
            }
    
            function changeFontSize(value) {
                document.getElementById('header').style.fontSize = `${value}em`;
            }
    
            function changeFont(font) {
                document.getElementById('header').style.fontFamily = font;
            }
    
            function changeTitle(day) {
                const newTitle = prompt(`הזן כותרת חדשה לגיוס יום ${day}:`);
                if (newTitle) {
                    document.getElementById(`title${day}`).textContent = newTitle;
                }
            }
    
            function changeAmount(day) {
                const newAmount = prompt(`הזן סכום חדש (ב₪, רק מספרים שלמים) לגיוס יום ${day}:`);
                if (newAmount && !isNaN(newAmount) && !newAmount.match(/[^0-9]/)) { // בדיקה שרק מספרים שלמים מותרים
                    amounts[day - 1] = Math.round(parseFloat(newAmount)); // עיגול למספר שלם
                    updateProgress();
                } else {
                    alert('אנא הזן מספר תקין (רק ספרות שלמות, ללא נקודות או תווים אחרים).');
                }
            }
    
            function changeTarget(day) {
                const newTarget = prompt(`הזן סכום יעד חדש (ב₪, רק מספרים שלמים) לגיוס יום ${day}:`);
                if (newTarget && !isNaN(newTarget) && !newTarget.match(/[^0-9]/)) { // בדיקה שרק מספרים שלמים מותרים
                    targets[day - 1] = Math.round(parseFloat(newTarget)); // עיגול למספר שלם
                    updateProgress();
                } else {
                    alert('אנא הזן מספר תקין (רק ספרות שלמות, ללא נקודות או תווים אחרים).');
                }
            }
    
            function uploadBackground() {
                const input = document.createElement('input');
                input.type = 'file';
                input.accept = 'image/*';
                input.onchange = function(event) {
                    const file = event.target.files[0];
                    const reader = new FileReader();
                    reader.onload = function(e) {
                        document.body.style.backgroundImage = `url(${e.target.result})`;
                        document.body.style.backgroundSize = 'cover';
                        document.body.style.backgroundPosition = 'center';
                    };
                    reader.readAsDataURL(file);
                };
                input.click();
            }
    
            function printPage() {
                const controls = document.querySelectorAll('.button, .fullscreen-button, input, select'); // הסתרת כל הפקדים
                controls.forEach(control => control.style.display = 'none');
                window.print();
                controls.forEach(control => control.style.display = ''); // החזרת הפקדים לאחר ההדפסה
            }
    
            function toggleFullscreen() {
                const controls = document.querySelectorAll('.button, .fullscreen-button, input, select'); // הסתרת כל הפקדים
                if (!document.fullscreenElement) {
                    document.documentElement.requestFullscreen();
                    controls.forEach(control => control.style.display = 'none');
                } else {
                    document.exitFullscreen();
                    controls.forEach(control => control.style.display = ''); // החזרת הפקדים לאחר יציאה ממסך מלא
                }
            }
    
            // הקשבה ליציאה ממצב מסך מלא והצגת הפקדים מחדש
            document.addEventListener('fullscreenchange', () => {
                const controls = document.querySelectorAll('.button, .fullscreen-button, input, select');
                if (!document.fullscreenElement) {
                    controls.forEach(control => control.style.display = '');
                }
            });
    
            // עדכון ראשוני של הגרפים
            updateProgress();
        </script>
    </body>
    </html>
    

    Copilot:

    011b404f-ee15-49d6-abe5-ebe14b9de4b0-image.png

    <!DOCTYPE html>
    <html lang="he">
    <head>
        <meta charset="UTF-8">
        <title>מגבית ת"ת תשפ"ה</title>
        <!-- שימוש בפונטים מגוגל -->
        <link href="https://fonts.googleapis.com/css?family=Assistant:400,700&display=swap" rel="stylesheet">
        <style>
            body {
                margin: 0;
                padding: 0;
                background-size: cover;
                background-position: center;
                font-family: 'Assistant', sans-serif;
                direction: rtl;
                background-color: #f0f2f5;
            }
            h1 {
                font-size: 60px;
                font-weight: bold;
                text-shadow: 2px 2px rgba(0,0,0,0.1);
                margin: 20px 0;
                color: #333;
                transition: all 0.3s ease;
                text-align: center;
            }
            .controls {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                margin: 10px 0;
            }
            .controls label {
                display: flex;
                flex-direction: column; /* מסדר את הטקסט מעל הלחצן */
                align-items: center;
                margin: 10px;
                font-size: 16px;
                color: #333;
            }
            .controls button,
            .controls select,
            .controls input[type="color"],
            .controls input[type="range"] {
                margin-top: 5px;
                padding: 10px 15px;
                border: none;
                border-radius: 5px;
                cursor: pointer;
                background-color: #17a2b8;
                color: #fff;
                font-size: 16px;
                transition: background-color 0.3s, transform 0.2s;
            }
            .controls button:hover,
            .controls select:hover,
            .controls input[type="color"]:hover,
            .controls input[type="range"]:hover {
                background-color: #138496;
                transform: scale(1.05);
            }
            .graphs {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                grid-gap: 20px;
                max-width: 1200px;
                margin: 20px auto;
                padding: 0 20px;
                box-sizing: border-box;
            }
            .graph {
                background-color: #fff;
                padding: 20px;
                border-radius: 10px;
                box-shadow: 0 4px 6px rgba(0,0,0,0.1);
                transition: transform 0.2s;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                text-align: center;
            }
            .graph:hover {
                transform: translateY(-5px);
            }
            .graph h2 {
                margin: 0 0 10px 0;
            }
            .progress-container {
                background-color: #e0e0e0;
                border-radius: 5px;
                overflow: hidden;
                height: 30px;
                width: 100%;
                max-width: 300px;
            }
            .progress-bar {
                height: 100%;
                width: 0;
                transition: width 0.5s ease-in-out;
            }
            .amounts {
                font-size: 18px;
                color: #555;
                margin: 10px 0;
            }
            .percentage {
                font-size: 16px;
                font-weight: bold;
                color: #555;
                margin: 10px 0;
            }
            .graph-buttons {
                display: flex;
                justify-content: center;
                margin-top: 10px;
            }
            .graph-buttons button {
                margin: 5px;
                padding: 10px 15px;
                border: none;
                border-radius: 5px;
                cursor: pointer;
                background-color: #007BFF;
                color: #fff;
                font-size: 14px;
                transition: background-color 0.3s, transform 0.2s;
            }
            .graph-buttons button:hover {
                background-color: #0056b3;
                transform: scale(1.05);
            }
            .message {
                font-size: 18px;
                font-weight: bold;
                color: #555;
                margin-top: 15px;
            }
            .bottom-controls {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                margin: 20px;
            }
            .bottom-controls button {
                margin-right: 10px;
                padding: 10px 15px;
                border: none;
                border-radius: 5px;
                cursor: pointer;
                background-color: #6c757d;
                color: #fff;
                font-size: 16px;
                transition: background-color 0.3s, transform 0.2s;
            }
            .bottom-controls button:hover {
                background-color: #5a6268;
                transform: scale(1.05);
            }
            .hidden {
                display: none;
            }
            @media screen and (max-width: 800px) {
                .graphs {
                    grid-template-columns: 1fr;
                }
                .bottom-controls {
                    justify-content: center;
                }
            }
            /* סגנונות למצב הדפסה ומסך מלא */
            @media print, (display-mode: fullscreen) {
                body {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    /* מאפשר הדפסת צבעים ותמונות רקע */
                    -webkit-print-color-adjust: exact;
                    print-color-adjust: exact;
                    background-size: cover;
                    background-position: center;
                }
                .graphs {
                    width: 70%;
                    min-height: 70vh;
                    margin: auto;
                }
                .bottom-controls {
                    display: none;
                }
            }
        </style>
    </head>
    <body>
        <h1 id="main-title">מגבית ת"ת תשפ"ה</h1>
        <div class="controls">
            <label>
                שנה טקסט כותרת ראשית
                <button onclick="changeTitleText()">שנה טקסט כותרת ראשית</button>
            </label>
            <label>
                בחר צבע לכותרת
                <input type="color" id="title-color-picker" value="#333333">
            </label>
            <label>
                שינוי גודל הכותרת
                <input type="range" min="30" max="100" value="60" onchange="changeTitleSize(this.value)">
            </label>
            <label>
                בחר גופן לכותרת
                <select onchange="changeTitleFont(this.value)">
                    <option value="'Assistant', sans-serif">Assistant</option>
                    <option value="'Arial', sans-serif">Arial</option>
                    <option value="'David', sans-serif">David</option>
                    <option value="'Courier New', monospace">Courier New</option>
                    <!-- ניתן להוסיף פונטים נוספים -->
                </select>
            </label>
        </div>
        <div class="graphs">
            <!-- גרף יום 1 -->
            <div class="graph" id="graph1">
                <h2 id="title1">יום 1</h2>
                <p class="amounts" id="amounts1"></p>
                <div class="progress-container">
                    <div class="progress-bar" id="progress1"></div>
                </div>
                <p id="percentage1" class="percentage"></p>
                <div class="graph-buttons">
                    <button onclick="changeGraphTitle(1)">שנה כותרת הגרף</button>
                    <button onclick="changeGraphAmount(1)">עדכן סכום שנאסף</button>
                    <button onclick="changeGraphTarget(1)">ערוך סכום יעד</button>
                </div>
            </div>
            <!-- גרף יום 2 -->
            <div class="graph" id="graph2">
                <h2 id="title2">יום 2</h2>
                <p class="amounts" id="amounts2"></p>
                <div class="progress-container">
                    <div class="progress-bar" id="progress2"></div>
                </div>
                <p id="percentage2" class="percentage"></p>
                <div class="graph-buttons">
                    <button onclick="changeGraphTitle(2)">שנה כותרת הגרף</button>
                    <button onclick="changeGraphAmount(2)">עדכן סכום שנאסף</button>
                    <button onclick="changeGraphTarget(2)">ערוך סכום יעד</button>
                </div>
            </div>
            <!-- גרף יום 3 -->
            <div class="graph" id="graph3">
                <h2 id="title3">יום 3</h2>
                <p class="amounts" id="amounts3"></p>
                <div class="progress-container">
                    <div class="progress-bar" id="progress3"></div>
                </div>
                <p id="percentage3" class="percentage"></p>
                <div class="graph-buttons">
                    <button onclick="changeGraphTitle(3)">שנה כותרת הגרף</button>
                    <button onclick="changeGraphAmount(3)">עדכן סכום שנאסף</button>
                    <button onclick="changeGraphTarget(3)">ערוך סכום יעד</button>
                </div>
            </div>
            <!-- גרף סיכום כולל -->
            <div class="graph" id="graph-summary">
                <h2 id="title-summary">סיכום כולל</h2>
                <p class="amounts" id="amounts-summary"></p>
                <div class="progress-container">
                    <div class="progress-bar" id="progress-summary"></div>
                </div>
                <p id="percentage-summary" class="percentage"></p>
                <p class="message" id="summary-message"></p>
                <!-- לחצן שינוי כותרת הסיכום מתחת לטקסט -->
                <div class="graph-buttons">
                    <button onclick="changeSummaryTitle()">שנה כותרת הסיכום</button>
                </div>
            </div>
        </div>
        <div class="bottom-controls">
            <button onclick="toggleFullScreen()">הצג במסך מלא</button>
            <button onclick="uploadBackground()">העלה תמונת רקע</button>
            <button onclick="printPage()">הדפס את העמוד</button>
        </div>
        <script>
            // ערכי ברירת מחדל
            let graphData = [
                { id: 1, title: 'יום 1', amount: 0, target: 40000 },
                { id: 2, title: 'יום 2', amount: 0, target: 45000 },
                { id: 3, title: 'יום 3', amount: 0, target: 50000 },
            ];
            function updateGraphs() {
                let totalAmount = 0;
                let totalTarget = 0;
                graphData.forEach(graph => {
                    document.getElementById('title' + graph.id).innerText = graph.title;
                    let progress = document.getElementById('progress' + graph.id);
                    let percentText = document.getElementById('percentage' + graph.id);
                    let amountsText = document.getElementById('amounts' + graph.id);
                    let percent = (graph.amount / graph.target) * 100;
                    if (percent > 100) percent = 100;
                    progress.style.width = percent + '%';
                    progress.style.backgroundColor = getColor((graph.amount / graph.target) * 100);
                    percentText.innerText = Math.round(percent) + '%';
                    amountsText.innerText = `נאסף: ${graph.amount.toLocaleString()} ש"ח | יעד: ${graph.target.toLocaleString()} ש"ח`;
                    totalAmount += graph.amount;
                    totalTarget += graph.target;
                });
                // עדכון גרף הסיכום
                let totalPercent = (totalAmount / totalTarget) * 100;
                if (totalPercent > 100) totalPercent = 100;
                let progressSummary = document.getElementById('progress-summary');
                let percentSummaryText = document.getElementById('percentage-summary');
                let amountsSummaryText = document.getElementById('amounts-summary');
                progressSummary.style.width = totalPercent + '%';
                progressSummary.style.backgroundColor = getColor((totalAmount / totalTarget) * 100);
                percentSummaryText.innerText = Math.round(totalPercent) + '%';
                amountsSummaryText.innerText = `נאסף: ${totalAmount.toLocaleString()} ש"ח | יעד: ${totalTarget.toLocaleString()} ש"ח`;
                updateSummaryMessage((totalAmount / totalTarget) * 100);
            }
            function getColor(percent) {
                if (percent <= 30) return 'red';
                else if (percent <= 70) return 'orange';
                else if (percent <= 100) return 'green';
                else return '#FFD700'; // זהב
            }
            function updateSummaryMessage(percent) {
                let message = '';
                if (percent <= 30) message = 'לא לחלום, חסר עדיין המון כסף!';
                else if (percent <= 70) message = 'מתקדמים יפה, אבל צריך להתאמץ יותר!';
                else if (percent <= 100) message = 'המשיכו כך, אתם ממש קרובים ליעד!';
                else message = 'אין עליכם, עבדתם מעל למצופה!';
                document.getElementById('summary-message').innerText = message;
            }
            function changeGraphTitle(id) {
                let graph = graphData.find(g => g.id === id);
                let newTitle = prompt('הכנס כותרת חדשה לגרף:', graph.title);
                if (newTitle) {
                    graph.title = newTitle;
                    updateGraphs();
                }
            }
            function changeGraphAmount(id) {
                let graph = graphData.find(g => g.id === id);
                let newAmount = prompt('הכנס סכום שנאסף בש"ח:', graph.amount);
                if (newAmount !== null && newAmount !== '' && !isNaN(newAmount) && Number.isInteger(+newAmount)) {
                    graph.amount = parseInt(newAmount);
                    updateGraphs();
                } else {
                    alert('אנא הכנס מספר שלם תקין.');
                }
            }
            function changeGraphTarget(id) {
                let graph = graphData.find(g => g.id === id);
                let newTarget = prompt('הכנס סכום יעד בש"ח:', graph.target);
                if (newTarget !== null && newTarget !== '' && !isNaN(newTarget) && Number.isInteger(+newTarget)) {
                    graph.target = parseInt(newTarget);
                    updateGraphs();
                } else {
                    alert('אנא הכנס מספר שלם תקין.');
                }
            }
            function changeTitleText() {
                let newTitle = prompt('הכנס טקסט כותרת ראשית חדש:', document.getElementById('main-title').innerText);
                if (newTitle) {
                    document.getElementById('main-title').innerText = newTitle;
                }
            }
            function changeSummaryTitle() {
                let newTitle = prompt('הכנס כותרת חדשה לסיכום:', document.getElementById('title-summary').innerText);
                if (newTitle) {
                    document.getElementById('title-summary').innerText = newTitle;
                }
            }
            function changeTitleColor(color) {
                document.getElementById('main-title').style.color = color;
            }
            document.getElementById('title-color-picker').addEventListener('input', function() {
                changeTitleColor(this.value);
            });
            function changeTitleSize(size) {
                document.getElementById('main-title').style.fontSize = size + 'px';
            }
            function changeTitleFont(font) {
                document.getElementById('main-title').style.fontFamily = font;
            }
            function uploadBackground() {
                let input = document.createElement('input');
                input.type = 'file';
                input.accept = 'image/*';
                input.onchange = e => {
                    let file = e.target.files[0];
                    let reader = new FileReader();
                    reader.onload = function(event) {
                        document.body.style.backgroundImage = 'url(' + event.target.result + ')';
                    };
                    reader.readAsDataURL(file);
                };
                input.click();
            }
            function printPage() {
                document.querySelectorAll('button, .controls, .graph-buttons').forEach(el => el.classList.add('hidden'));
                window.print();
                document.querySelectorAll('button, .controls, .graph-buttons').forEach(el => el.classList.remove('hidden'));
            }
            function toggleFullScreen() {
                let elem = document.documentElement;
                if (!document.fullscreenElement) {
                    if (elem.requestFullscreen) {
                        elem.requestFullscreen();
                    }
                    document.querySelectorAll('button, .controls, .bottom-controls').forEach(el => el.classList.add('hidden'));
                } else {
                    if (document.exitFullscreen) {
                        document.exitFullscreen();
                    }
                    document.querySelectorAll('button, .controls, .bottom-controls').forEach(el => el.classList.remove('hidden'));
                }
            }
            document.addEventListener('fullscreenchange', () => {
                if (!document.fullscreenElement) {
                    document.querySelectorAll('button, .controls, .bottom-controls').forEach(el => el.classList.remove('hidden'));
                }
            });
            // עדכון ראשוני של הגרפים
            updateGraphs();
        </script>
    </body>
    </html>
    

    בהצלחה!
    עזרה הדדית - בינה מלאכותית

  • מדריך | עקיפת דרישות המערכת של ווינדוס 11 ללא תוכנה חיצונית
    א א.מ.

    בס"ד

    כדי לדלג על דרישות המערכת של ווינדוס 11 יש לשנות את ערכי הרישום האחראים על בדיקת הדרישות.

    כאשר נמצאים בשלב הכנסת מפתח המוצר של ווינדוס (או לפני כן) יש ללחוץ על המקשים shift+F10 כדי לפתוח את שורת הפקודה.

    לאחר מכן יש לפתוח את עורך הרישום על ידי הקלדת הפקודה regedit וללחוץ על Enter.
    יש להכנס לקבוצה HKEY_LOCAL_MACHINE ולאחר מכן לקבוצה SYSTEM ולאחר מכן לקבוצה Setup (כמו בתמונה).

    1.png

    לאחר מכן יש ללחוץ על המקש הימני בעכבר וברשימה שנפתחת יש לבחור ב-New, ללחוץ על Key ולקרוא לו בשם LabConfig (כמו בתמונה).

    2.png

    יש להקפיד על כתיבה מדויקת בכל השלבים!

    כדי לדלג על הדרישה של אתחול מאובטח צריך ליצור ערך חדש, יש ללחוץ על המקש הימני בעכבר וברשימה שנפתחת לבחור ב-New, ללחוץ על DWORD (32-bit) Value ולקרוא לו בשם BypassSecureBootCheck, לאחר שהערך נוצר יש ללחוץ עליו לחיצה כפולה ולשנות את הערך מ-0 ל-1 וללחוץ על Ok.

    כדי לדלג על הדרישה של הצפנת TPM 2.0 צריך ליצור עוד ערך חדש, יש ללחוץ על המקש הימני בעכבר וברשימה שנפתחת לבחור ב-New, ללחוץ על DWORD (32-bit) Value ולקרוא לו בשם BypassTPMCheck, לאחר שהערך נוצר יש ללחוץ עליו לחיצה כפולה ולשנות את הערך מ-0 ל-1 וללחוץ על Ok.

    כדי לדלג על הדרישה של דיכרון 4 ג'יגה RAM צריך ליצור עוד ערך חדש, יש ללחוץ על המקש הימני בעכבר וברשימה שנפתחת לבחור ב-New, ללחוץ על DWORD (32-bit) Value ולקרוא לו בשם BypassRAMCheck, לאחר שהערך נוצר יש ללחוץ עליו לחיצה כפולה ולשנות את הערך מ-0 ל-1 וללחוץ על Ok.

    3.png

    לאחר מכן ניתן לסגור את החלון של עורך הרישום ולהמשיך בהתקנה כרגיל.

    בהצלחה!

    נ.ב. כדי לדלג על דרישת החיבור לרשת ניתן לעיין כאן.

    מדריכים - ווינדוס 11

  • מדריך | סביבות עבודה מוכנות ליצירת תמונות ב-ComfyUI
    א א.מ.

    בס"ד

    סביבות עבודה מוכנות עבור ComfyUI

    מצורפות תמונות שמוטמעות בתוכן סביבות עבודה מותאמות אישית למגוון מודלים שימושיים ליצירת תמונות על ידי בינה מלאכותית ב-ComfyUI.

    כדי לקבל את סביבת העבודה יש לגרור את התמונה לתוך ממשק המשתמש של ComfyUI.

    במידה ומופיעים צמתים חסרים, יש לפתוח את ComfyUI Manager וללחוץ על "Install Missing Custom Nodes".

    סביבת עבודה ברירת מחדל עבור flux1 dev fp8:

    מודלים בשימוש: flux1 dev fp8

    סביבת עבודה ברירת מחדל עבור flux1 dev fp8.png

    סביבת עבודה ברירת מחדל עבור flux1 schnell fp8:

    מודלים בשימוש: flux1 schnell fp8, clip_l, t5xxl fp16, ae.

    סביבת עבודה עבור flux1 schnell fp8.png

    סביבת עבודה ברירת מחדל עבור sd3.5 large turbo:

    מודלים בשימוש: sd3.5 large turbo, t5xxl fp16.

    סביבת עבודה ברירת מחדל עבור sd3.5 large turbo.png

    סביבת עבודה ברירת מחדל עבור Juggernaut XL V9 + Run Diffusion Photo 2:

    מודלים בשימוש: Juggernaut XL V9 + Run Diffusion Photo 2.

    סביבת עבודה ברירת מחדל עבור Juggernaut XL V9 + RunDiffusionPhoto 2.png

    סביבת עבודה עבור הגדלת איכות תמונה:

    מודלים בשימוש: DreamShaper 8, 4x_foolhardy_Remacri.

    סביבת עבודה עבור הגדלת איכות תמונה.png

    בהצלחה!

    מדריכים - מחשבים וטכנולוגיה

  • בקשת מידע | איך עושים שיוכלו לראות תמונות שהעברתי במחשב מכרטיס מצלמת קנון לאותו סוג כרטיס
    א א.מ.

    @אברהם-צבי מצלמות קנון יכולות להציג תמונות שצולמו במצלמות אחרות רק באופנים הבאים:

    • השם של הקובץ הוא כמו השמות של שאר התמונות (רק עם מספר שונה בסוף לפי הסדר).
    • המיקום של הקובץ בתוך התיקייה הייעודית של התמונות.
    • התמונה לא יותר איכותית ממה שהמצלמה בה רוצים לראות את התמונה יכולה לצלם.
    • בחלק (!) מהמצלמות אפשר גם להציג תמונות ערוכות בפורמט JPG בתנאי שהן עומדות בתנאים לעיל.
    • וידאו ערוך לא ניתן להציג בשום אופן.

    בהצלחה!

    עזרה הדדית - מחשבים וטכנולוגיה

  • מדריך | הצגת ספירת העומר ב-Home Assistant
    א א.מ.

    בס"ד

    מדריך: הצגת נוסח ספירת העומר ב-Home Assistant

    • דרישות מקדימות:
      עורך קבצים
      לוח שנה יהודי

    • כדי להציג את נוסח הברכה עלינו ליצור חיישן שמקבל את מספר היום בעומר ומחזיר את נוסח הספירה.

    • יש להוסיף בקובץ configuration.yaml את קטע הקוד הבא:

    נוסח עדות המזרח:

    sensor:
      - platform: template
        sensors:
          sefira:
            friendly_name: "ספירת העומר"
            icon_template: "mdi:calendar-clock"
            value_template: >-
              {% set day = states('sensor.jewish_calendar_day_of_the_omer') | int %}
              {% if 1 <= day <= 49 %}
                {% set weeks = day // 7 %}
                {% set extra_days = day % 7 %}
                {% set day_text = [
                  "יום אחד",
                  "שני ימים",
                  "שלושה ימים",
                  "ארבעה ימים",
                  "חמישה ימים",
                  "שישה ימים",
                  "שבעה ימים",
                  "שמונה ימים",
                  "תשעה ימים",
                  "עשרה ימים",
                  "אחד עשר יום",
                  "שניים עשר יום",
                  "שלושה עשר יום",
                  "ארבעה עשר יום",
                  "חמישה עשר יום",
                  "שישה עשר יום",
                  "שבעה עשר יום",
                  "שמונה עשר יום",
                  "תשעה עשר יום",
                  "עשרים יום",
                  "אחד ועשרים יום",
                  "שנים ועשרים יום",
                  "שלושה ועשרים יום",
                  "ארבעה ועשרים יום",
                  "חמישה ועשרים יום",
                  "שישה ועשרים יום",
                  "שבעה ועשרים יום",
                  "שמונה ועשרים יום",
                  "תשעה ועשרים יום",
                  "שלושים יום",
                  "אחד ושלושים יום",
                  "שנים ושלושים יום",
                  "שלושה ושלושים יום",
                  "ארבעה ושלושים יום",
                  "חמישה ושלושים יום",
                  "שישה ושלושים יום",
                  "שבעה ושלושים יום",
                  "שמונה ושלושים יום",
                  "תשעה ושלושים יום",
                  "ארבעים יום",
                  "אחד וארבעים יום",
                  "שניים וארבעים יום",
                  "שלושה וארבעים יום",
                  "ארבעה וארבעים יום",
                  "חמישה וארבעים יום",
                  "שישה וארבעים יום",
                  "שבעה וארבעים יום",
                  "שמונה וארבעים יום",
                  "תשעה וארבעים יום"
                ][day - 1] %}
                {% set week_text = [
                  "שבוע אחד",
                  "שני שבועות",
                  "שלושה שבועות",
                  "ארבעה שבועות",
                  "חמישה שבועות",
                  "שישה שבועות",
                  "שבעה שבועות"
                ][weeks - 1] if weeks > 0 else "" %}
                {% set extra_day_text = [
                  "ויום אחד",
                  "ושני ימים",
                  "ושלושה ימים",
                  "וארבעה ימים",
                  "וחמישה ימים",
                  "ושישה ימים"
                ][extra_days - 1] if extra_days > 0 else "" %}
                {% if weeks == 0 %}
                  היום {{ day_text }} לעומר.
                {% elif extra_days == 0 %}
                  היום {{ day_text }} לעומר, שהם {{ week_text }}.
                {% else %}
                  היום {{ day_text }} לעומר, שהם {{ week_text }} {{ extra_day_text }}.
                {% endif %}
              {% else %}
                לא בתקופת ספירת העומר
              {% endif %}
    

    נוסח אשכנז:

    sensor:
      - platform: template
        sensors:
          sefira:
            friendly_name: "ספירת העומר"
            icon_template: "mdi:calendar-clock"
            value_template: >-
              {% set day = states('sensor.jewish_calendar_day_of_the_omer') | int %}
              {% if 1 <= day <= 49 %}
                {% set weeks = day // 7 %}
                {% set extra_days = day % 7 %}
                {% set day_text = [
                  "יום אחד",
                  "שני ימים",
                  "שלושה ימים",
                  "ארבעה ימים",
                  "חמישה ימים",
                  "שישה ימים",
                  "שבעה ימים",
                  "שמונה ימים",
                  "תשעה ימים",
                  "עשרה ימים",
                  "אחד עשר יום",
                  "שניים עשר יום",
                  "שלושה עשר יום",
                  "ארבעה עשר יום",
                  "חמישה עשר יום",
                  "שישה עשר יום",
                  "שבעה עשר יום",
                  "שמונה עשר יום",
                  "תשעה עשר יום",
                  "עשרים יום",
                  "אחד ועשרים יום",
                  "שנים ועשרים יום",
                  "שלושה ועשרים יום",
                  "ארבעה ועשרים יום",
                  "חמישה ועשרים יום",
                  "שישה ועשרים יום",
                  "שבעה ועשרים יום",
                  "שמונה ועשרים יום",
                  "תשעה ועשרים יום",
                  "שלושים יום",
                  "אחד ושלושים יום",
                  "שנים ושלושים יום",
                  "שלושה ושלושים יום",
                  "ארבעה ושלושים יום",
                  "חמישה ושלושים יום",
                  "שישה ושלושים יום",
                  "שבעה ושלושים יום",
                  "שמונה ושלושים יום",
                  "תשעה ושלושים יום",
                  "ארבעים יום",
                  "אחד וארבעים יום",
                  "שניים וארבעים יום",
                  "שלושה וארבעים יום",
                  "ארבעה וארבעים יום",
                  "חמישה וארבעים יום",
                  "שישה וארבעים יום",
                  "שבעה וארבעים יום",
                  "שמונה וארבעים יום",
                  "תשעה וארבעים יום"
                ][day - 1] %}
                {% set week_text = [
                  "שבוע אחד",
                  "שני שבועות",
                  "שלושה שבועות",
                  "ארבעה שבועות",
                  "חמישה שבועות",
                  "שישה שבועות",
                  "שבעה שבועות"
                ][weeks - 1] if weeks > 0 else "" %}
                {% set extra_day_text = [
                  "ויום אחד",
                  "ושני ימים",
                  "ושלושה ימים",
                  "וארבעה ימים",
                  "וחמישה ימים",
                  "ושישה ימים"
                ][extra_days - 1] if extra_days > 0 else "" %}
                {% if weeks == 0 %}
                  היום {{ day_text }} בעומר.
                {% elif extra_days == 0 %}
                  היום {{ day_text }}, שהם {{ week_text }} בעומר.
                {% else %}
                  היום {{ day_text }}, שהם {{ week_text }} {{ extra_day_text }} בעומר.
                {% endif %}
              {% else %}
                לא בתקופת ספירת העומר
              {% endif %}
    
    • לאחר מכן יש לעבור ל: כלים למפתחים › טעינה מחדש של תצורת YAML › כל תצורת YAML.
    • להוספת כרטיס מתאים בלוח המחוונים יש להוסיף כרטיס markdown ולהעתיק אליו את הקוד הבא:
    type: markdown
    content: |
      <ha-icon icon="mdi:calendar" style="font-size: 40px; display: block; margin: 0 auto;"></ha-icon>
      ### ספירת העומר
      {{ states('sensor.sefira') }}
    card_mod:
      style: |
        ha-card {
          background-color: #f0f0f0;
          color: #333;
          font-size: 18px;
          text-align: center;
          padding: 20px;
          border-radius: 10px;
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
    
    • למי שמותקן התוסף Mushroom יכול להעתיק את הקוד הבא:
    type: custom:mushroom-template-card
    primary: ספירת העומר
    secondary: "{{ states('sensor.sefira') }}"
    icon: mdi:calendar
    icon_color: blue
    card_mod:
      style: |
        ha-card {
          font-size: 1.2em;
          padding: 10px;
        }
    

    וזהו!

    fe1c73b4-8e27-42c6-bce2-c497ab26c03e-image.png

    בהצלחה!

    מדריכים - מחשבים וטכנולוגיה

  • מדריך | קודים לסמסונג
    א א.מ.

    בס"ד

    קודים לסמסונג (בדוקים)

    אין להשתמש בקודים בלי לדעת מה הם עושים!

    בדיקת LCD

    *#0*#
    

    מידע על תוכנה/קושחה

    *#1111#
    

    מציג גרסת חומרה

    *#2222#
    

    מציג מידע על הקושחה

    *#1234#
    

    מציג מידע על תוכנה וחומרה כאחד

    *#12580*369#
    

    מצב סוללה

    *#0228#
    

    מבחן לולאה

    *#0283#
    

    מצב השירות

    *#9090#
    

    מידע על קושחת המצלמה

    *#7412365*
    

    מידע על קושחת המצלמה עם אפשרות לעדכון קושחה

    *#34971539#
    

    הגדרות USB

    *#0808#
    

    היכנס למצב System Dump

    *#9900#
    

    מציג מידע על קושחת מסך מגע

    *#2663#
    

    איפוס זמן השיחה הכולל

    *#22558463#
    

    בהצלחה!

    מדריכים - סמסונג

  • מדריך | קודים ל KINGKONG MINI 3
    א א.מ.

    בס"ד

    קודים למכשיר KINGKONG MINI 3

    • אירועים בלוח שנה: *#*#225#*#*

    • פתיחת ה-FCM Diagnostics (מציג מידע על החיבור לרשת): *#*#426#*#*

    • כניסה למצב בדיקה: *#*#4636#*#*
      בתוך מצב בדיקה יש:
      פרטי טלפון: בתפריט זה תמצאו מידע בסיסי על המכשיר, כגון: IMEI, מספר טלפון, הפעלת בדיקת פינג ועוד...
      סטטיסטיקות שימוש: מציג את הפעם האחרונה בה נעשה שימוש באפליקציה ואת זמן השימוש בה.
      מידע Wi-Fi: מידע על ה- Wi-Fi והרשת.
      מידע סוללה: מידע אודות מצב הסוללה.

    בהצלחה!

    שונות וטיפים - סלולרי

  • מדריך | הגדלת איכות תמונה בקלות באמצעות בינה מלאכותית אופליין
    א א.מ.

    בס"ד

    הגדלת איכות תמונה בקלות באמצעות בינה מלאכותית (במעבדי AMD XDNA) אופליין

    כדי להגדיל רזולוציה של תמונות באיכות נמוכה ניתן להשתמש בתוכנת Amuse AI כדי לבצע שדרוג לתמונה במספר לחיצות קטנות.

    מדריך התקנה:
    • יש להוריד את התוכנה מכאן.

    • יש להוריד את המודל מכאן.

    • בהפעלת התוכנה יפתח המסך הבא, יש ללחוץ למטה על Advanced.

    צילום מסך 2024-12-29 223448.png

    • לאחר מכן יש ללחוץ על Yes.

    צילום מסך 2024-12-29 223525.png

    • בכרטיסייה Model Manager יש לחפש בצד שמאל למעלה את המודל Swin2SR - x4 וללחוץ על Install Model.

    צילום מסך 2024-12-29 223945.png

    • יש ללחוץ על Browse ולבחור את קובץ המודל (שהובא בתחילת המדריך) ולאחר מכן ללחוץ על Save.

    צילום מסך 2024-12-29 224436.png

    • בכרטיסייה Image Generation יש לבחור ב-Upscaler, ולמעלה ב-Select Model יש לבחור את המודל וללחוץ על Load כדי להפעיל אותו.

    צילום מסך 2024-12-29 224652.png

    • יש ללחוץ על Image כדי להעלות תמונה ולאחר מכן ללחוץ על Execute.

    צילום מסך 2024-12-29 225342.png

    • לסיום ניתן ללחוץ על Save כדי לשמור את התמונה.

    צילום מסך 2024-12-29 225504.png

    ההבדלים בין התמונות:

    תמונה1.jpg

    בהצלחה!

    מדריכים - תוכנות גרפיקה ועיצוב

  • מדריך | התקנה מהירה של OpenRecall במחשבי ווינדוס
    א א.מ.

    מדריך: התקנה מהירה של OpenRecall במחשבי ווינדוס

    בס"ד

    OpenRecall הוא פתרון קוד פתוח המאפשר לשחזר את היסטוריית הפעילות במחשב, כך שניתן להתחיל לעקוב ולחפש את הפעילויות שבוצעה במחשב בקלות, בצורה פרטית ובטוחה ללא צורך בחומרה ספציפית או חיבור לענן.

    כידוע Python ו-Windows לא עובדים יחד בצורה הכי אופטימלית שיש, לכן יצרתי (בעזרת בינה מלאכותית) סקריפטים להתקנה מהירה של התוכנית בצורה קלה.
    שים לב! לצורך הפעלה תקינה של OpenRecall הסקריפט מתקין את Python בגרסה מסוימת עם חבילות שונות בגרסאות מסוימות ובמיקום מסוים, במידה וכבר מותקן לכם Python במחשב יש לוודא שלא יתרחשו התנגשויות.

    • להתקנת OpenRecall יש להפעיל את הקובץ הבא כמנהל מערכת: Installing OpenRecall.bat.

    • לאחר מכן OpenRecall תיפתח בדפדפן בכתובת: http://localhost:8082/ (מומלץ לשמור את הכתובת בסרגל המועדפים, כברירת מחדל הצילומי מסך נשמרים בנתיב: %AppData%\openrecall\screenshots, לשמירת הקבצים בכונן מאובטח עיין כאן).

    • להפעלה מחודשת של OpenRecall יש להפעיל את הקובץ הבא: Open OpenRecall.bat.

    OpenRecall.png


    במידה ומופיעה השגיאה הבאה:

    NameError: name 'current_screenshot' is not defined. Did you mean: 'last_screenshot'?
    

    יש לעדכן את הפונקציה בקובץ בנתיב: C:\Python311\Lib\site-packages\openrecall\screenshot.py (משורה 167 עד הסוף).

    def record_screenshots_thread():
        # TODO: fix the error from huggingface tokenizers
        import os
    
        os.environ["TOKENIZERS_PARALLELISM"] = "false"
    
        last_screenshots = take_screenshots()
    
        while True:
            if not is_user_active():
                time.sleep(3)
                continue
    
            screenshots = take_screenshots()
    
            for i, screenshot in enumerate(screenshots):
    
                last_screenshot = last_screenshots[i]
    
                if not is_similar(screenshot, last_screenshot):
                    last_screenshots[i] = screenshot
                    image = Image.fromarray(screenshot)
                    timestamp = int(time.time())
                    image.save(
                        os.path.join(screenshots_path, f"{timestamp}.webp"),
                        format="webp",
                        lossless=True,
                    )
                    text: str = extract_text_from_image(screenshot)
                    # Only proceed if OCR actually extracts text
                    if text.strip():
                        embedding: np.ndarray = get_embedding(text)
                        active_app_name: str = get_active_app_name() or "Unknown App"
                        active_window_title: str = get_active_window_title() or "Unknown Title"
                        insert_entry(
                            text, timestamp, embedding, active_app_name, active_window_title
                        )
    
            time.sleep(3) # Wait before taking the next screenshot
    

    • להפעלת התוכנית באופן אוטומטי בעת הפעלת ווינדוס יש לשמור את הקובץ הבא: Running OpenRecall.bat במקום נגיש (למשל: C:\Running OpenRecall.bat).

    • לאחר מכן יש לפתוח את חלון ההפעלה על ידי לחיצה על מקש ווינדוס + R, להקליד shell:startup וללחוץ על Enter.

    • יש ללחוץ על הלחצן הימני בעכבר בתוך התיקייה ולבחור: חדש > קיצור דרך ולהכניס את נתיב הקובץ, לבחור שם לקיצור דרך וללחוץ על "סיום".

    • יש ללחוץ לחצן ימני בעכבר על קיצור הדרך ולבחור ב"מאפיינים", לאחר מכן בשדה "הפעל" יש לבחור ב"ממוזער".

    • להסרת OpenRecall יש להפעיל את הקובץ הבא: uninstall openrecall.bat (באם הפעלתם את התוכנית בעליית המחשב, יש למחוק את קובץ ההפעלה ואת קיצור הדרך בתיקיית ההפעלה).


    במידה וההסרה לא הושלמה יש להריץ את שתי הפקודות הבאות בנפרד וללחוץ על Y לאחר הרצת כל אחת מהן.

    python -m pip uninstall openrecall
    
    rmdir /s %APPDATA%\openrecall
    

    בהצלחה!

    מדריכים - מחשבים וטכנולוגיה

  • עזרה בוורד - מדריך לפקודות חיפוש והחלפה
    א א.מ.

    בבקשה: חיפוש והחלפה בוורד.pdf

    עזרה הדדית - וורד

  • שיתוף | ChatGPT - הצ'אטבוט החדש של OpenAI ; לכתיבת תסריטים
    א א.מ.

    מאמר על חרדים שהבוט כתב לי: (בתרגום לעברית)

    יהודים חרדים, המכונים גם יהודים חרדים, הם תת-קבוצה מובחנת בתוך הקהילה היהודית. הם ידועים בהקפדה על ההלכה והמנהגים היהודיים המסורתיים, ובלבושם ובאורח חייהם הייחודי.
    יהודים חרדים מאופיינים בדרך כלל במסירותם ללימוד דתי ובמחויבותם לחיות חיים דתיים אדוקים ואדוקים. יהודים חרדים רבים מבלים את רוב ימיהם בלימודים בישיבות, או בבתי ספר דתיים, והם פועלים על פי קוד התנהגות נוקשה שנועד לשמור אותם ממוקדים בלימודי הדת ובחייהם הרוחניים
    בנוסף למסירותם ללימודי דת, יהודים חרדים ידועים גם בהקפדה על תפקידי מגדר מסורתיים. גברים ונשים מנהלים בדרך כלל חיים נפרדים מאוד, כאשר גברים מבלים את רוב זמנם בלימודי דת ונשים מתמקדות במטלות ביתיות ובטיפול בילדים.
    יהודים חרדים מקפידים לעתים קרובות על קוד לבוש נוקשה, כאשר גברים לובשים חליפות וכובעים כהים, ונשים מכסות את שיערן בפאות או בצעיפים. הם גם נמנעים בדרך כלל מטכנולוגיות וצורות בידור מודרניות הנתפסות כהסחות דעת מלימודי הדת והחיים הרוחניים שלהם.
    למרות ההקפדה על אורח החיים המסורתי, היהודים החרדים אינם קבוצה מונוליטית. בתוך הקהילה החרדית ישנן כתות ותתי-כתות רבות ושונות, שלכל אחת מהן מנהגים ומנהגים ייחודיים משלה.
    באופן כללי, יהודים חרדים ידועים בהקפדה על ההלכה והמנהגים היהודיים המסורתיים, ובמסירותם ללימוד דתי ולחיים רוחניים. הם תת-קבוצה מובחנת ולעתים קרובות לא מובנת בתוך הקהילה היהודית.

    מעניין מהיכן הוא מקבל את הדעות האלו...

    עזרה הדדית - בינה מלאכותית

  • בירור | מישהו יודע איזה פונט זה?
    א א.מ.

    @רפאל-vnkl אלף קומיקס של פונטייפ.

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשת עזרה | הסרת רקע מתמונה בפוטושופ בצורה מדוייקת
    א א.מ.

    אם יש לך כח וזמן אתה יכול ליצור מסכה לתמונה ולצבוע בשחור בכלי המברשת או בכלי העיפרון את החלקים שהנך רוצה להסיר מהתמונה... (צבע לבן יחזיר את התמונה וגווני האפור ישנו את השקיפות שלה)

    כללי - עזרה הדדית

  • שיתוף | רובוט ה'שוטנשטיין' - פרשנדתא
    א א.מ.

    דווקא עובד בסדר...

    עשיתי לדוגמא:
    "יש שם מצוי ראשון והוא ממציא כל נמצא וכל הנמצאים משמים וארץ ומה שביניהם לא נמצאו אלא מאמתת המצאו" (רמב"ם פ"א מה׳ יסה"ת ה"א)

    קיבלתי תגובה:
    הסבר קצר: ישנו "מצוי ראשון" שהוא מקור כל מה שקיים, וכל הנבראים – מהשמים, הארץ, וכל מה שביניהם – קיימים רק בזכות קיומו האמיתי של ה"מצוי הראשון".

    הסבר מילולי:
    יש שם – ישנו דבר שנמצא, הכוונה היא למציאותו של אלוהים.
    מצוי ראשון – הכוונה למציאות ראשונית, כלומר אלוהים שהוא ראשון במעלה והבסיס לכל.
    והוא ממציא – הוא זה שמביא לקיום את כל הדברים.
    כל נמצא – כל דבר שקיים, כל בריאה.
    וכל הנמצאים – כל הדברים הקיימים, כל הבריות.
    משמים וארץ – מתייחס לכל מה שקיים בין השמים והארץ.
    ומה שביניהם – כל מה שנמצא בין השמים לבין הארץ.
    לא נמצאו – לא היו קיימים.
    אלא מאמתת המצאו – אלא בזכות האמת של קיומו, כלומר כל הדברים קיימים רק בזכות המציאות המוחלטת של ה"מצוי הראשון".

    הסבר מורחב:
    במשפט זה מדובר על עקרון יסוד באמונה: קיומו של "המצוי הראשון" – אלוהים. הוא מתואר כראשון ויחיד במעלה, שממנו נובעים כל הדברים הנמצאים בעולם, בין אם מדובר בשמים, בארץ, או בכל מה שביניהם. כל הנמצאים הללו קיימים רק מכיוון שהקיום של ה"מצוי הראשון" הוא אמת מוחלטת. המשמעות היא שהמציאות עצמה, השמים, הארץ וכל מה שנברא, אינם קיימים באופן עצמאי אלא תלויים לחלוטין בקיומו של אלוהים, שהוא המקור לכל.

    עזרה הדדית - מחשבים וטכנולוגיה
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר