Programmiersprache – die neusten Beiträge

Wie mache ich es, dass pro ordner ein JButton hinzugefügt wird?

Ich möchte eine Art Wiki mit Java machen, wo man Sachen herunterladen kann damit dass dann in der App angezeigt wird, doch ich weiß nicht wie ich es mache, dass ein JButton hinzugefügt wird wenn ein Ordner, da ist. Ich möchte dann auch, dass wenn man auf dem Button draufklickt, dass dann die Dateien darin auch aufgelistet werden und dann, wenn man darauf klickt, dass dann der inhalt der Datei angezeigt wird, kann mir jemand helfen?

Main.java

import javax.swing.*;

public class Main {
    public static void main(String[] arg) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Frame();
            }
        });
    }
}

Frame.java

import javax.swing.*;

public class Frame extends JFrame {
    public Frame() {
        setResizable(false);
        setSize(1000, 700);
        setDefaultLookAndFeelDecorated(true);
        setLocationRelativeTo(null);
        setTitle("JWiki.jar");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(new Panel());

        setVisible(true);
    }
}

Panel.java

import javax.swing.*;
import java.awt.*;

public class Panel extends JPanel { //GUI
    public Panel() {
        //Labels and Buttons
        JLabel l0 = new JLabel();
        l0.setText(".");
        l0.setBounds(0, 10, 10, 5);
        l0.setVisible(true);

        JLabel l1 = new JLabel();
        l1.setText("Downloaded Wikis");
        l1.setBounds(5, -10, 110, 50);
        l1.setVisible(true);

        JLabel l2 = new JLabel();
        l2.setText("Wiki Pages");
        l2.setBounds(120, -10, 65, 50);
        l2.setVisible(true);

        JButton b1 = new JButton();
        b1.setText("Test");
        b1.setBounds(5, 30, 101, 25);
        b1.setVisible(true);


        //Adding Labels and Buttons
        add(l0);
        add(l1);
        add(l2);

        add(b1);

        setLayout(null);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        draw(g);
    } public void draw(Graphics g) {
        g.setColor(Color.black);
        g.fillRect(115, 5, 2, 700);
        g.fillRect(190, 0, 2, 700);
        g.fillRect(0, 5, 190, 2);
        g.fillRect(0, 25, 190, 2);
    }
}

Java, Code, Programmiersprache, Java Swing, IntelliJ IDEA

Hilfe bei diesem einfachen Bash-Skript?

Ich will dass das Programm wenn ich auf "gruppen anzeigen" klicke mir alle Gruppen im System im Dialig angezeigt werden und das Programm beendet wird wenn ich auf "beenden" klicke. Aber irgendwie kommt entweder ein Fehler dass bei mir das "fi" fehlt was nicht stimmt. Oder es werden die Gruppen auch angezeigt wenn ich auf beenden klicke. Ich habe versucht die If-Anweisungen zu löschen und dann nach  wahl=$(cat $inhalt) ein echo zu machen. Und bei mir wird immer "1" ausgegeben egal auf was ich drücke. Wobei ich eig. Wenn ich auf "beenden" klicke dann sollte "Ende" rauskommen" oder ?

#!/bin/bash
#
inhalt=$(mktemp)
auswahl(){
 dialog --backtitle "Elemente anzeigen"  --title "Elemente zeigen" \
        --cancel-label "Abbruch" \
        --checklist "Bitte treffen Sie Ihre Auswahl!" 10 50 3 \
        "1." "Gruppen anzeigen im Dialig" on \
        "Ende." "Programm beenden" off \
        2>$inhalt
 fehler=$?
 clear
 if [ $fehler != 0 ] ;
  then
   echo "Da ist ein Fehler aufgetreten"
   echo "Fehler-Nr.: $fehler"
   rm $inhalt
   exit 1
 fi
 wahl=$(cat $inhalt)


 if [ "$wahl" == "1." ]; then
     dialog --backtitle "Ausgabe von Gruppen" \
            --msgbox "$(groups)" 20 60 \
 fi


 rm $inhalt
}


while :
 do
  auswahl
 done


Betriebssystem, Technik, Linux, HTML, Webseite, Java, JavaScript, VBA, Bash, Batch, cmd, Informatik, Informationstechnik, PHP, Programmiersprache, Python, Shell, Webentwicklung

WIE KANN ICH IN C DAS ◻️und das ◼️ auf der Console ausgeben?

Hab diesen Code geschrieben:

#include <stdio.h>
#include <stdlib.h>
#include "console.h"
#define SIZE 8 // Größe des Schachbretts
char *schachbrett[SIZE][SIZE];// 2D-Array für das Schachbrett
void initSpielfeld();
void ausgabeSpielfeld();
void spielBeenden();
int main() {
initSpielfeld();
initConsole();

        ausgabeSpielfeld();
        getch();
        clrscr();
        gotoxy(0,0);

}
void initSpielfeld(){
    // Fülle das Schachbrett mit den richtigen Symbolen
    for (int i = 0; i < SIZE; i++) { // Zeilen
        for (int j = 0; j < SIZE; j++) { // Spalten
            // Wenn die Summe der Indizes gerade ist, ist das Feld weiß
            if ((i + j) % 2 == 0) {
                schachbrett[i][j] = "◻"; // Weißes Quadrat
            } else {
                schachbrett[i][j] = "◼"; // Schwarzes Quadrat
            }
        }
    }
}
void ausgabeSpielfeld(){
    // Gebe das Schachbrett aus
    for (int i = 0; i < SIZE; i++) { // Zeilen
        for (int j = 0; j < SIZE; j++) { // Spalten
            printf("%s ", schachbrett[i][j]); // Quadrat ausgeben
        }
        printf("\n"); // Neue Zeile nach jeder Zeile im Schachbrett
    }
}

void spielBeenden(){
    return 0;
}

Bei mir kommt da aber immer das raus:

Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝

Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗

Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝

Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗

Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝

Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗

Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝

Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗ Ôù╝ Ôù╗

Aber das ist nicht mein ziel.

Ich möchte einfach nur ein schönes Schachbrett ausgeben.

Kann mir da jemand helfen?

ASCII, Programmiersprache, C (Programmiersprache), UTF-8

Arduino Daten an HTML-Seite?

Ich habe gerade ein Projekt, indem ich versuche Daten vom Arduino auf eine HTML-Seite zu übertragen. Dabei benutze ich node.js.

Jedoch bin ich noch relativ neu in dem Thema und kenne mich nicht so gut mit Servern und node aus.

Im Moment erhalte ich ständig die Fehlermeldung: Server is not a consructor (const io = new Server('COM3'))

Quelltext aus app.js:

var http = require("http");
var fs = require("fs");
var index = fs.readFileSync("index.html");


var SerialPort = require("serialport");
const parsers = SerialPort.parsers;


const parser = new parsers.Readline({
  delimiter: "\r\n",
});


var port = new SerialPort("COM3", {
  baudRate: 9600,
  dataBits: 8,
  parity: "none",
  stopBits: 1,
  flowControl: false,
});


port.pipe(parser);


var app = http.createServer(function (req, res) {
  res.writeHead(200, {"Content-Type": "text/html"});
  res.end(index);
});


const Server = require('socket.io');
const io = new Server('COM3');


io.on("connection", function (socket) {
  console.log("Node is listening to port");
});


parser.on("data", function (data) {
  console.log("Received data from port: " + data);
  io.emit("data", data);
});

app.listen(3000);

Quelltext aus index.html:

<!doctype html>
<html>
    <head>
        <title>Test</title>


        <script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>


    </head>
    <body>


        <h1> Communicating between an arduino and a html website</h1>


        <div id='sample'></div>


        <script>
            
            var socket = io();
            socket.on('data',function(data){
                console.log(data);
                document.getElementById('sample').innerHTML = data;
            });
            
        </script>
        
    </body>
</html>
Computer, HTML, IT, JavaScript, Anwendungsentwicklung, Arduino, Code, Programmiersprache, Webentwicklung, node.js, Visual Studio Code

php-Zugriff auf mysql funktioniert nicht?

Ich habe folgende Funktion in PHP geschrieben:

function getName($id) {
                global $conn;
                $sql = "SELECT Vorname, Nachname FROM mitglieder WHERE ID = `$id`";
                $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    return $row['Vorname'] . " " . $row['Nachname'];
                } else {
                    return "";
                }
            }

Aber aus irgendeinem Grund kommt immer folgende Fehlermeldung:

Warning: Attempt to read property "num_rows" on bool in C:\xampp\htdocs\***********.php on line 35

Diese Variable $conn funktioniert aber an anderer Stelle im globalen Code außerhalb dieser Funktion einwandfrei wie gewünscht und ich sehe vom Code her keinen nennenswerten Unterschied.

Was ich bereits versucht habe:

  • $conn als Parameter an die Funktion zu übergeben
  • $conn in der Funktion selber zu definieren
  • $conn in der Funktion selber definieren und dass $conn im globalen Code entfernen
  • ChatGPT nach dem Fehler fragen
  • Folgende Fehlerabfrage einzubauen (dabei war $conn auch in der Funktion selber und NUR in der Funktion selber definiert):
if ($conn->connect_error) {
                die("Serverfehler: " . $conn->connect_error);
            }

Das führte aber nur zu folgender Fehlermeldung:

Warning: Attempt to read property "connect_error" on null in C:\xampp\htdocs\*********.php on line 26

Hat alles nichts geholfen. Wisst ihr wo der Fehler liegt?

Computer, Technik, SQL, HTML, Webseite, programmieren, JavaScript, Code, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung, phpMyAdmin, Programmierfehler

Binärer Suchalgorithmus - wo liegt der Fehler?

Hallo liebe Community,

ich arbeite an einem Suchalgorithmus, der in einer sortierten Liste das Element finden soll, das einem gegebenen Wert am nächsten liegt. Trotz ausführlicher Tests mit über 100 Edge Cases, die alle fehlerfrei terminiert haben, liegt noch ein Fehler im Code. Bisher konnte ich jedoch keinen Fall finden, der nicht korrekt funktioniert.
Kann jemand von euch vielleicht einen Blick darauf werfen und mir helfen, mögliche Schwachstellen oder Fehler zu identifizieren? Ich wäre für jeden Tipp oder Testfall, der mein Problem offenlegen könnte, sehr dankbar!

  1.  Suche nach einem Wert 5 of 7 tests passing
  2. Die Methode 
  3. int search(int[] sortedData, int value, Result result)
  4.  soll mittels binärer Suche nach dem Index vom übergebenen Wert suchen.
  5. Dabei wird immer der mittlere Wert vom Suchbereich angesehen. Falls dies der gesuchte Wert ist, kann dessen Index zurück gegeben werden. Ansonsten verkleinert sich der Suchbereich auf die Indices, in denen der gesuchte Wert noch liegen kann. Falls der Suchbereich nur noch einen Wert enthält, soll ebenfalls abgebrochen werden.
  6. Wenn der Wert nicht im Array enthalten ist, soll stattdessen der Index vom nächst größeren oder nächst kleineren Wert zurückgegeben werden. Welcher der beiden Indices ist dabei egal, solange der zurückgegebene Index im Array liegt.
Code: 

public static int search(int[] sortedData, int value, Result result) {
     int left = 0;
    int right = sortedData.length - 1;
    int nearestindex = -1;
    int currentSmallest = Integer.MAX_VALUE;

    while(left <= right) {
        int middle = left + (right - left) / 2;
        int difference = Math.abs(value - sortedData[middle]);

        if(difference < currentSmallest) {
            currentSmallest = difference;
            nearestindex = middle;
        } else if(difference == currentSmallest) {
            if(Math.abs(value - nearestindex) > Math.abs(value - middle)) {
                nearestindex = middle;
            }
        }
        result.addStep(middle);

        if(sortedData[middle] == value) {
            return middle;
        }
        if (sortedData[middle] < value) {
            left = middle + 1;
        } else {
            right = middle - 1;
        }
    }
    return nearestindex;
}
Bild zum Beitrag
Java, Programmiersprache, Algorithmus, binary

TypeError: Cannot read properties of undefined (reading 'checkHealth')?

Hallo, ich habe einen error der mir sagt das checkHealth undefined ist wenn ich über npm devDeploy ausführe. Dort soll eigentlich meine Datei deployCommands.ts ausgeführt werden er geht aber erst in meine main.ts rein und dort tritt der fehler auf. Wenn ich aber nur dev ausführe was die main aufrufen soll und den Bot startet kommt kein fehler.

DeployCommands.ts: https://pastebin.com/5YAUhLfb

main.ts: https://pastebin.com/nWjvk3UD

package.json: https://pastebin.com/qV7ThnVW

Git Repo: https://github.com/luka-lta/byteBuddy_bot

/home/luka-lta/projects/PhpStorm/byteBuddy_bot/main.ts:6
ApiUtil.checkHealth().then((healthy) => {
        ^
TypeError: Cannot read properties of undefined (reading 'checkHealth')
    at Object.<anonymous> (/home/luka-lta/projects/PhpStorm/byteBuddy_bot/main.ts:6:9)
    at Module._compile (node:internal/modules/cjs/loader:1378:14)
    at Module.m._compile (/home/luka-lta/.nvm/versions/node/v21.6.2/lib/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1437:10)
    at Object.require.extensions.<computed> [as .ts] (/home/luka-lta/.nvm/versions/node/v21.6.2/lib/node_modules/ts-node/src/index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1212:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1028:12)
    at Module.require (node:internal/modules/cjs/loader:1237:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/home/luka-lta/projects/PhpStorm/byteBuddy_bot/src/value/ByteBuddyChannel.ts:2:1)
Programmiersprache, node.js, TypeScript

Html semibold und bold schauen gleich aus?

Hallo, ich arbeite aktuell an einem NextJS Projekt mit TailwindCSS. Mein Problem ist, dass Font-Weight 600 und 700, 100 bis 500 und 800 und 900 gleich ausschauen. Das ist aber auch bei einem Normalen HTML Dokument so.

Das Problem besteht in allen Browsern.
Danke für die Antwort im Vorraus.

Code zum Nachmachen:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Font Weight Test</title>
    <style>
        body {
            font-family: Arial, sans-serif; /* Using a widely available font */
        }
        .thin {
            font-weight: 100;
        }
        .light {
            font-weight: 300;
        }
        .normal {
            font-weight: 400;
        }
        .medium {
            font-weight: 500;
        }
        .semibold {
            font-weight: 600;
        }
        .bold {
            font-weight: 700;
        }
        .extrabold {
            font-weight: 800;
        }
        .black {
            font-weight: 900;
        }
    </style>
</head>
<body>
    <h1>Font Weight Test</h1>
    <p class="thin">This is thin text (100).</p>
    <p class="light">This is light text (300).</p>
    <p class="normal">This is normal text (400).</p>
    <p class="medium">This is medium text (500).</p>
    <p class="semibold">This is semibold text (600).</p>
    <p class="bold">This is bold text (700).</p>
    <p class="extrabold">This is extrabold text (800).</p>
    <p class="black">This is black text (900).</p>
</body>
</html>   
Bild zum Beitrag
HTML, Webseite, CSS, Mozilla Firefox, Google Chrome, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend, Visual Studio Code, Microsoft Edge

Meistgelesene Beiträge zum Thema Programmiersprache