Code zentralisieren?

Kann mir jemand helfen meinen Code zu zentralisieren? Ich möchte die DB connection aus dem code raus gezogen wird danke.

const fs = require('node:fs');
const path = require('node:path');
const { Client, Collection, Events, GatewayIntentBits } = require('discord.js');
const { token } = require('./config.json');
const { Sequelize } = require('sequelize');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
const sequelize = new Sequelize({
dialect: 'sqlite',
storage: ''
});
client.commands = new Collection();
const foldersPath = path.join(__dirname, 'commands');
const commandFolders = fs.readdirSync(foldersPath);
for (const folder of commandFolders) {
const commandsPath = path.join(foldersPath, folder);
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const filePath = path.join(commandsPath, file);
const command = require(filePath);
if ('data' in command && 'execute' in command) {
client.commands.set(command.data.name, command);
} else {
console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`);
}
}
}
const eventsPath = path.join(__dirname, 'events');
const eventFiles = fs.readdirSync(eventsPath).filter(file => file.endsWith('.js'));
for (const file of eventFiles) {
const filePath = path.join(eventsPath, file);
const event = require(filePath);
if (event.once) {
client.once(event.name, (...args) => event.execute(...args));
} else {
client.on(event.name, (...args) => event.execute(...args));
}
}
(async () => {
try {
await sequelize.authenticate();
console.log('The connection to the database has been successfully established.');
} catch (error) {
console.error('The connection to the database has failed:', error);
} finally {
sequelize.close();
}
})();
client.login(token);
JavaScript, Code, Programmiersprache, Environment, node.js, Discord, Discord Bot
Crawler geht nicht weiter, wenn fertig mit einer URL?

Hallo zusammen,

ich arbeite gerade an einem Python-Crawler, der spezifisch für die Website beispielurl.de entwickelt wurde. Mein Ziel ist es, verschiedene Unterseiten zu crawlen, die jeweils unterschiedlichen Kategorien angehören, wie z.B. "Flaschenhersteller" und "Kartenhersteller". Der Crawler soll automatisch von einer Kategorie (z.B. beispielurl.de/Flaschenhersteller/page-1, beispielurl.de/Flaschenhersteller/page-2, usw.) zur nächsten wechseln (z.B. beispielurl.de/Kartenhersteller/page-1, beispielurl.de/Kartenhersteller/page-2, usw.), sobald alle Seiten der aktuellen Kategorie durchlaufen sind.

Leider funktioniert der Wechsel zwischen den Kategorien nicht wie erwartet. Der Crawler verarbeitet alle Seiten der ersten Kategorie korrekt, aber anstatt zur nächsten Kategorie zu wechseln, beginnt er wieder von vorn bei der ersten Kategorie, ohne die nachfolgenden Kategorien zu berücksichtigen.

Hier ist ein vereinfachter Ausschnitt meines Codes:

def process_page(self, url):
  soup = self.fetch_page_with_selenium(url)
  links = self.extract_PLZ_links(soup)

  for link in links:
    self.fetch_PLZ_details(link)

def run(self):
  try:
    for code in self.postal_codes:
      page_number = 1
      has_more_pages = True

      while has_more_pages:
        url = f"{self.base_url}/suche/-/{code}?page={page_number}"
        soup = self.fetch_page_with_selenium(url)
        links = self.extract_PLZ_links(soup)

        if links:
          for link in links:
            self.fetch_PLZ_details(link)
            page_number += 1
        else:
          has_more_pages = False
  finally:
    self.driver.quit()
    self.csv_handler.close_csv()

Hersteller = [Flaschenhersteller, Kartenhersteller, etc. ]
crawler = WebCrawler("https://beispielurl.de", Hersteller)
crawler.run()

Hat jemand eine Idee, warum der Crawler nicht zur nächsten Kategorie wechselt und wie ich dieses Problem beheben könnte? Ich bin für jeden Tipp dankbar!

HTML, Webseite, programmieren, Code, Python, Webentwicklung, crawler, Python 3
MySQL: Fehlerhafte Suchanfrage?

Hallo,

ich stehe vor einer Herausforderung mit einer Windows Forms-Anwendung, die ich entwickelt habe, um Tageszeitraumstatistiken für Benutzer anzuzeigen. In dieser Anwendung gibt es ein Formular mit dem Namen TagesZeitraumStatistik, das darauf ausgelegt ist, Benutzern ihre Umsätze basierend auf ihnen zugewiesenen PIDs (Produkt-IDs) anzuzeigen.

Jedoch stieß ich auf ein Problem: Das Programm lädt nicht alle PIDs korrekt. Insbesondere scheinen einige Unter-PIDs übersprungen zu werden.

Bei der Fehlersuche mittels Debugging und Setzen von Breakpoints konnte ich beobachten, dass initial alle PIDs korrekt erfasst werden. Allerdings überspringt das Programm im weiteren Verlauf bestimmte PIDs, ohne dass ein offensichtlicher Grund dafür erkennbar ist. Leider komme ich bei dem Problem nicht wirklich weiter. Vielleicht kann mir ja hier jemand helfen.

Hier die Codeausschnitte:

public TagesZeitraumStatistik(string username, bool isAdmin, List<string> userPIDs)
{
  InitializeComponent();
  InitializeDataGridView();
  FillYearComboBox();

  this.username = username;
  this.isAdmin = isAdmin;
  this.userPIDs = userPIDs;
  this.Load += new EventHandler(TagesZeitraumStatistik_Load);

  monthCalendar1.DateSelected += MonthCalendar1_DateSelected;
  comboBoxYear.SelectedIndexChanged += ComboBoxYear_SelectedIndexChanged;
  printDocument1.PrintPage += new PrintPageEventHandler(PrintDocument1_PrintPage);

  // TextBox für den PID-Filter erstellen und konfigurieren
  textBoxPidFilter = new TextBox();
  textBoxPidFilter.Location = new Point(10, 10);
  textBoxPidFilter.Size = new Size(150, 20);
  this.Controls.Add(textBoxPidFilter);

  // LoadData-Methode aufrufen, um die Daten zu laden
  LoadData();
}

private void LoadData(DateTime? startDate = null, DateTime? endDate = null, string pidStartsWith = null)
{
  try
  {
    List<string> pidFilterList = new List<string>();

    if (!string.IsNullOrEmpty(pidStartsWith))
    {
      pidFilterList.Add(pidStartsWith);
    }

    DataTable statistikData = dbManager.GetTageszeitraumStatistikData(startDate, endDate, pidFilterList, userPIDs);
    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.DataSource = statistikData;
    UpdateTotalSales(statistikData);
    UpdateSalesLabel(startDate, endDate);
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
  }
}

public DataTable GetTageszeitraumStatistikData(DateTime? startDate = null, DateTime? endDate = null, List<string> pidPrefixes = null, List<string> userPids = null)
{
  DataTable dt = new DataTable();

  using (MySqlConnection conn = new MySqlConnection(connectionString))
  {
    try
    {
      conn.Open();
      string query = @"
        SELECT Datum, FreierText1 AS PID, Name AS Nachname, EuroNetto, Belegnummer
        FROM BELEG 
        WHERE 1=1";

      if (startDate.HasValue)
      {
        query += " AND Datum >= @StartDate";
      }

      if (endDate.HasValue)
      {
        query += " AND Datum <= @EndDate";
      }

      if (pidPrefixes != null && pidPrefixes.Any())
      {
        query += " AND (";

        for (int i = 0; i < pidPrefixes.Count; i++)
        {
          query += $"FreierText1 LIKE @Pid{i}";

          if (i < pidPrefixes.Count - 1)
          {
            query += " OR ";
          }
        }

        query += ")";
      }

      if (userPids != null && userPids.Count > 0)
      {
        string pidsCondition = string.Join(",", userPids.Select(pid => $"'{pid}'"));
        query += $" AND FreierText1 IN ({pidsCondition})";
      }

      using (MySqlCommand cmd = new MySqlCommand(query, conn))
      {
        if (startDate.HasValue)
        {
          cmd.Parameters.AddWithValue("@StartDate", startDate.Value.Date);
        }

        if (endDate.HasValue)
        {
          cmd.Parameters.AddWithValue("@EndDate", endDate.Value.Date);
        }

        if (pidPrefixes != null && pidPrefixes.Any())
        {
          for (int i = 0; i < pidPrefixes.Count; i++)
          {
            cmd.Parameters.AddWithValue($"@Pid{i}", $"{pidPrefixes[i]}%");
          }
        }

        using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
        {
          da.Fill(dt);
        }
      }
    }
    catch (MySqlException ex)
    {
      throw new Exception($"Fehler beim Abrufen der Daten: {ex.Message}", ex);
    }
  }

  return dt;
}
C Sharp, Code, Datenbank, MySQL, Programmiersprache, Visual Studio, Algorithmus
Wo kann ich Tokens für GPT-4 kaufen?

Hallo,

ich programmiere gerade einen Sprachassistenten und wollte ihn nun mit GPT-4 verbinden, ich habe auf Shop - ChatGPT 50000 Tokens gekauft, doch wenn ich das Programm starte, steht, dass ich trotzdem keinen Zugriff auf GPT-4 habe. Muss ich die Tokens irgendwo anders kaufen?

Mein Code:

import openai
import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder


openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()


def recognize_speech():
    recognizer = sr.Recognizer()

    while True:
        with sr.Microphone() as source:
            print("Sage etwas...")
            audio = recognizer.listen(source, timeout=15)

        try:
            text = recognizer.recognize_google(audio, language="de-DE")
            print("Text: " + text)
            return text
        except sr.UnknownValueError:
            return "not_understood"
        except sr.RequestError as e:
            print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
            return ""


def openai_request(prompt):
    response = openai.ChatCompletion.create(
        model=model_id,
        messages=prompt
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content})
    return prompt


def speak(text):
    engine.say(text)
    engine.runAndWait()


def ausführen():
    while True:
        q = recognize_speech()
        print("Erkannter Text:", q)

        if q == "not_understood":
            speak("Entschuldigung! Das habe ich nicht verstanden.")
            break

        elif not q:
            break

        elif "hallo" in q:
            speak('Hallo! Womit kann ich dir behilflich sein?')
            break

        else:
            prompt = [{'role': 'user', 'content': q}]
            prompt = openai_request(prompt)
            response = prompt[-1]['content']
            speak(response)


if __name__ == '__main__':
    ausführen()

Fehlercode:

C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Scripts\python.exe C:\Users\User\PycharmProjects\voiceAssistant\main.py 

Sage etwas...

Text: wann war der erste Weltkrieg

Erkannter Text: wann war der erste Weltkrieg

Traceback (most recent call last):

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 83, in <module>

  ausführen()

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 77, in ausführen

  prompt = openai_request(prompt)

       ^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 43, in openai_request

  response = openai.ChatCompletion.create(

        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create

  return super().create(*args, **kwargs)

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create

  response, _, api_key = requestor.request(

              ^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 298, in request

  resp, got_stream = self._interpret_response(result, stream)

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response

  self._interpret_response_line(

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 765, in _interpret_response_line

  raise self.handle_error_response(

openai.error.InvalidRequestError: The model `gpt-4` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.

Process finished with exit code 1

Freundliche Grüsse

kaufen, Code, Error, künstliche Intelligenz, Programmiersprache, Python, Python 3, token, Sprachassistent, Pycharm, ChatGPT
Java: Possible lossy conversion from double to int?

Guten Tag,

ich möchte ein Bild anzeigen, die Position dabei aber in einem double angeben. currentDrawing.x / y sind bereits double Werte. Weiß jemand, warum dieser Fehler aufkommt? Oder kann die Methode nur Integer annehmen? Vielen Dank schonmal!

public void startdraw(List world) {
        JPanel panel = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                BufferedImage buffer = new BufferedImage(frame.getWidth(), frame.getHeight(), BufferedImage.TYPE_INT_ARGB);
                Graphics bufferGraphics = buffer.getGraphics();
                world.toFirst();
                while (world.getContent() != null) {
                    Block currentDrawing = (Block)world.getContent();
                    if (currentDrawing != null) {
                        bufferGraphics.drawImage(currentDrawing.texture, currentDrawing.x*50.0, currentDrawing.y*50.0, (int)50, (int)50, null);
                    }
                    world.next();
                }
                g.drawImage(buffer, 0, 0, null);
            }
        };


        frame.add(panel);
        frame.setVisible(true);
    } 
Bild zum Beitrag
Fehler, Java, Code, Programmiersprache, Swing, double, Integer, Java Swing
Wo liegt der Fehler in meinem Code?
#include<iostream>

using namespace std;

int main() {
  double st;
  double nd;
  char* operator;
  double Ergebnis;

  cout << "Gebe an mit was die Rechnen willst" << endl;
  cout << "Addition(+)Subtraktion(-)Multiplikation(*)Division(/)" << endl;
  cin >> operator;

  switch (operator) {
    case: (operator == '+')
      cout << "Geben Sie die erste Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> st;
      cout << "Geben Sie die zweite Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> nd;
      double Ergebnis = st + nd;
      cout << "Das Ergebnis ist" << Ergebnis;
      break;
    case: (operator == '-')
      cout << "Geben Sie die erste Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> st;
      cout << "Geben Sie die zweite Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> nd;
      double Ergebnis = st - nd;
      cout << "Das Ergebnis ist" << Ergebnis;
      break;
    case: (operator == '*')
      cout << "Geben Sie die erste Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> st;
      cout << "Geben Sie die zweite Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> nd;
      double Ergebnis = st * nd;
      cout << "Das Ergebnis ist" << Ergebnis;
      break;
    case: (operator == '/')
      cout << "Geben Sie die erste Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> st;
      cout << "Geben Sie die zweite Zahl an, mit der Sie rechnen möchten" << endl;
      cin >> nd;
      double Ergebnis = st / nd;
      cout << "Das Ergebnis ist" << Ergebnis;
      break;
    default:
      cout << "Gebe einen gültigen Operator an" << endl;
      break;
  }

  return 0;
}

Ich bin noch ein Anfänger und lerne gerade C++. Kann mir hier jemand helfen? Gemini und ChatGPT sind zu dumm dafür.

Code, CPP, Programmiersprache
DE Sonderzeichen Fehler in HTML?

Hi,

ich sitze momentan an einer Datei, um ein paar Dinge auszuprobieren. Ich habe die Meta-Tags wie gewohnt aus einer anderen (funktionierenden) Datei kopiert.

Nun werden allerdings ausschließlich in meiner Datei die Umlaute wie Ä,Ö,Ü und ß mit

"�"

angezeigt. Auch das rein-kopieren Tags aus anderen Dateien, oder das entfernen des Stylesheets hat nix geändert. Kurzzeitig hatte ich auch den Meta-Tag:

<meta http-equiv="content-language" content="de" />

mit reingenommen, allerdings ohne Erfolg oder Veränderungen. Auch das Debugging von W3C hat nix auffälliges gefunden:

Für alle helfenden Hände großes Danke!

<!doctype html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="keywords" content="example, html, head, meta">
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
    <link rel="stylesheet" type="text/css" href="formate.css">
    <title>Das Box-Modell</title>
  </head>


<body>
  <header>
      
    <div class="flex">
     <img src="bilder/logo.svg" alt="logo">
    </div>
    
     <h1>Wilkommen auf der Test-Seite!</h1>
     <nav>
              <a href="#link_1.html">Blog</a>
              <a href="#link_1.html">Unterseite 1</a>
              <a href="#link_1.html">Unterseite 2</a>
              <a href="#link_1.html">Kontakt</a>
     </nav>
          
    </header>
      
      <main>
          
          <h2>ÜÜÜCCS-basierte Layouts <br><br />HTML-Struktur ohne CSS</h2>         
          
      </main>
    
    
    
    <footer>
     <a href="kontakt.html">Kontakt</a>
     <p>&copy; 2024 by GTA1A</p>
    </footer>


</body>
</html>
Bild zum Beitrag
HTML, Webseite, CSS, HTML5, Code, Programmiersprache, Webdesign
Wieso versendet dieser PHP Code die Mail nicht?

Gestern ging es noch.....

Es kommt zwar die Meldung das die Mail verschickt wurde jedoch wurde sie nicht verschickt

<?php
if(isset($_POST['submit'])) {
  $to = $_POST['to'];
  $subject = $_POST['subject'];
  $message = $_POST['message'];
  $header = "From : <//email-adresse-vom-sender>";
  if(mail($to, $subject, $message, $header)) {
    echo "Email sent successfully";
  } else {
    echo "Email failled";
  }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="container">
  <div class="form_container">
    <h3>Send Email with PHP</h3>
    <form method="post">
      <p>
        <label for="to">To:</label>
        <input type="text" name="to" placeholder="To.."/>
      </p>
      <p>
        <label for="subject">Subject:</label>
        <input type="text" name="subject" placeholder="Subject.."/>
      </p>
      <p>
        <label for="name">Message:</label>
        <input type="text" name="message" placeholder="Message.."/>
      </p>
      <button name="submit" name='submit'>Send</button>
    </form>
    </div>
    </div>
  
</body>
</html>

E-Mail, HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, JQuery, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, Frontend, phpMyAdmin
kann mir wer helfen?
ich komme einfach nicht auf die uhrsache des fehlers hier der code und fehlerausgabe wenn jemand was findet  
Fehlerhafte Methode:

public boolean equals(Object other) {
if (this == other) return true;
    if (!(other instanceof Polygon)) return false;
    Polygon otherPolygon = (Polygon) other;

    // Check if both polygons are empty
    if (this.points.isEmpty() || otherPolygon.points.isEmpty()) {
        return false;
    }

    // Check if the number of points is the same
    if (this.points.size() != otherPolygon.points.size()) {
        return false;
    }

    // Check if the points in the same order are equal
    for (int i = 0; i < points.size(); i++) {
        if (!this.points.get(i).equals(otherPolygon.points.get(i))) {
            return false;
        }
    }

    return true;
}

Main Methode:

package einfprog;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // Test der Implementierung 

        // Testfall 1: Leeres Polygon sollte nicht gleich einem anderen leeren Polygon sein
        ArrayList<Point> emptyPoints1 = new ArrayList<>();
        ArrayList<Point> emptyPoints2 = new ArrayList<>();

        Polygon emptyPolygon1 = new Trigon(emptyPoints1); // Verwende eine konkrete Implementierung wie Trigon
        Polygon emptyPolygon2 = new Trigon(emptyPoints2); // Verwende eine konkrete Implementierung wie Trigon

        System.out.println("Empty Polygon1: " + emptyPolygon1);
        System.out.println("Empty Polygon2: " + emptyPolygon2);
        System.out.println("Empty Polygon1 equals Empty Polygon2: " + emptyPolygon1.equals(emptyPolygon2)); // Erwartet false
        System.out.println();

        // Testfall 2: Trigon mit verschiedenen Punkten
        ArrayList<Point> points3 = new ArrayList<>();
        points3.add(new Point(1, 1));
        points3.add(new Point(2, 2));
        points3.add(new Point(3, 3));

        Trigon trigon1 = new Trigon(points3);

        System.out.println("Trigon1: " + trigon1);
        System.out.println("Circumference: " + trigon1.getCircumference());
        System.out.println("Area: " + trigon1.getArea());
        System.out.println("Is Rectangle: " + trigon1.isRectangle());
    }
}

Fehlermeldung:
Part 1 -- 10/11 tests passed: Point: Success Point.equals(): Success Point.getDistance(): Success Point.toString(): Success Polygon: Success Polygon.equals(): Failed: Expected true for [] and [], but was false Polygon.getCircumference(): Success Polygon.repair(): Success Polygon.clean(): Success Polygon.toString(): Success new Trigon(): Success

Java, Code, Fehlermeldung
Asynchrones Laden in Jetpack Compose geht nicht?

Hallo, ich habe folgenden Code in meiner Android Jetpack Compose App, wenn ich die App starte bleibt der Bildschirm wo die Elemente der LazyColumn sein sollten jedoch leer. In der Konsole werden aber die Namen von den Filmen angezeigt (siehe println in der getTrendingMoviesAsync() Methode)

Code in der MainScreen Klasse:

val movies by remember { mutableStateOf(ArrayList<JSONObject>(emptyList())) }
val coroutineScope = rememberCoroutineScope()

LaunchedEffect(true) {
    coroutineScope.launch { 
        val result = getTrendingMoviesAsync()
        if (result != null){
            movies.addAll(result)
        }
    }
}

LazyColumn(modifier = Modifier.padding(top = 135.dp)){
    items(movies){ movie ->
        Text(text = movie.getString("title"))
        Spacer(modifier = Modifier.height(10.dp))
    }
}

Code von der Methode:

suspend fun getTrendingMoviesAsync(): ArrayList<JSONObject>? {
    return withContext(Dispatchers.IO) {
        try {
            val movies = ArrayList<JSONObject>()
            val client = OkHttpClient()
            val request = Request.Builder()
                .url("https://api.themoviedb.org/3/trending/movie/week?language=de-DE")
                .get()
                .addHeader("accept", "application/json")
                .addHeader(
                    "Authorization",
                    "Bearer <apikey>"
                )
                .build()

            val response = client.newCall(request).execute()
            val json = JSONObject(response.body()?.string())
            val results = json.getJSONArray("results")
            for (i in 0 until results.length().coerceAtMost(30)) {
                val movie = results.getJSONObject(i)
                println(movie.getString("title"))
                movies.add(movie)
            }

            movies
        } catch (e: Exception) {
            e.printStackTrace()
            null
        }
    }
}

Kann mir jemand weiterhelfen?

App, Android, Code, Programmiersprache, asynchron, compose, jetpack, Android Studio, Kotlin
Formular mit Javascript bearbeiten?

Hallo, ich habe ein formular mit einem select und méchte je nach auswahl des benutzers die nächsten zwei Formulareingaben entweder einblenden oder ausblenden. Geht da mit Javascript?

Hier das Formular:

 <form class="form" method="POST" action="./?route=admin/module/create" enctype="multipart/form-data">
    <input type="hidden" name="csrf_token" value="<?php echo csrf_token(); ?>" />
    <input type="hidden" name="parent" value="<?php echo $parent["parent"]; ?>" />
    
    <label for="modules-create-title">Titel:</label><br />
    <input type="text" name="title" id="modules-create-title" value="<?php if(!empty($_POST['title'])) echo e($_POST['title']); ?>" /><br /><br />


    <label>Art des Moduls <br>
        <select name="module" size="1">
            <option value="slideshow">Slideshow</option>
            <option value="image_left_prev">About Vorschau mit Bild</option>
            <option value="reviews">Kundenmeinungen</option>
            <option value="contact_form">Kontaktformular</option>
            <option value="productcards">Angebote</option>
            <option value="content">Textfeld mit Titel</option>
            <option value="landingpage">Landingpage</option>
            <option value="content_right">Textfeld rechts mit Bild</option>
            <option value="content_left">Textfeld links mit Bild</option>
        </select>
    </label><br /><br />


    <label for="modules-create-picture">Hintergrundbild:
        <input name="image" type="file" id="modules-create-picture" size="50" accept="text/*"> 
    </label> <br /><br />


    <label for="editor">Text</label><br />
    <textarea id="editor" name="content" cols="35" rows="20"></textarea> <br /><br />



    <input type="submit" value="Speichern" />
</form>
Webseite, JavaScript, Code, PHP, Webentwicklung
Batch-Befehl mit Python in Textdatei speichern?

Ich will mit Python die Ausgabe eines Batch-Befehls in einer Textdatei speichern. Im Batch-Output sind aber Zeilenumbrüche vorhanden, welche in der Textdatei als \n angezeigt werden. Der ganze Output wird somit in eine Zeile geschrieben und ist beinahe unlesbar. Wie schaffe ich es, \n in der Textdatei auch tatsächlich als Zeilenumbruch anzuzeigen?

Hier der Code:

import subprocess


result = subprocess.run(["ipconfig", "/all"], capture_output=True)


if result.returncode == 0:                                                                                                              #0 = exit code for programm_succesfully_executed


    try:
        if result.stdout is not None and result.stdout.strip():                                                                         #if output is not empty


            with open("ipconfig_output.txt", "w", encoding="utf-8",) as file:       #opening file
                file.write(str(result.stdout))                                                                                          #writing file


            print("writing done")


        else:
            print("ipconfig is empty")
    except Exception as e:
        print(f"a problem occured.\nERROR: {e}")
else:
    print(f"trouble while exeuting:\n{result.stderr}")


Code, Programmiersprache, Python
Warum öffnet sich Waydroid nicht?

Versuche seit Ewigkeiten, dass Waydroid auf meinem Raspberry Pi5 auf PiOS 64-Bit zum laufen zu bringen. Ich bin noch absoluter Anfänger in diesem Thema, den ich habe den Pi5 erst seit letzter Woche und Programmiererfahren bin ich auch nicht.

Anfangs hatte ich RealVNC verwendet, was aber das Problem mit Wayland und X11 hatte. Also habe ich meine Tastatur und Maus alles am Pi5 angeschlossen ohne VNC. Heute habe ich mir TigerVNC mal heruntergeladen und es kam der selbe Fehler raus wie beim Pi5 alles angeschlossen ohne VNC. Scheinbar hat TigerVNC keine Wayland/X11 Probleme. Jedoch ist ein OSError aufgetreten.
OS Error:

 @raspberrypi:~ $ waydroid --details-to-stdout show-full-ui
(009534) [15:43:53] Starting waydroid session
(009534) [15:44:03] org.freedesktop.DBus.Python.OSError: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/service.py", line 712, in _message_cb
    retval = candidate_method(self, *args, **keywords)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/waydroid/tools/actions/container_manager.py", line 34, in Start
    do_start(self.args, session)
  File "/usr/lib/waydroid/tools/actions/container_manager.py", line 189, in do_start
    helpers.lxc.start(args)
  File "/usr/lib/waydroid/tools/helpers/lxc.py", line 397, in start
    wait_for_running(args)
  File "/usr/lib/waydroid/tools/helpers/lxc.py", line 391, in wait_for_running
    raise OSError("container failed to start")
OSError: container failed to start


(009534) [15:44:03] OSError: container failed to start

Waydroid Version:

@raspberrypi:~ $ waydroid -V
1.4.2

System info:

@raspberrypi:~ $ echo $XDG_SESSION_TYPE
wayland

@raspberrypi:~ $  cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Danke schon mal im Voraus für jede Hilfe. Und nochmals der OSError ist bei TigerVNC und auch aufgetreten wo ich Ohne VNC den Raspi 5 Manuel gesteuert habe. Noch dazu ich habe keine Ahnung wie man es Richtig liest.

Linux, IT, Code, Error, Python, 64-Bit, Debian, Raspberry Pi
JavaScript: Warum springt die Galerie immer wieder zum ersten Bild zurück?

Hallo,

ich habe auf meiner Seite eine Galerie mit einigen Bildern. Diese kann ich öffnen/schließen und durchklicken.

Leider habe ich das Problem, dass wenn ich mich durch die Galerie durchklicke, er leider, warum auch immer, wieder zurück zum ersten Bild springt, anstatt die Bilder komplett durchzulaufen.

Ich finde den Fehler nicht.

HTML Code:

<div class="gallery-container">
  <div class="gallery" id="gallery">
    <!--Erste Reihe-->
    <img src="1_1.webp" alt="Bild 1_1" onclick="openModal();currentSlide(1)" class="hover-shadow cursor gallery-img" data-index="1">
    <img src="1_2.webp" alt="Bild 1_2" onclick="openModal();currentSlide(2)" class="hover-shadow cursor gallery-img" data-index="2">
    <img src="2.1.webp" alt="Bild 2_1" onclick="openModal();currentSlide(3)" class="hover-shadow cursor gallery-img" data-index="3">

    usw. bis

    <img src="8_2.webp" alt="Bild 8_2" onclick="openModal();currentSlide(23)" class="hover-shadow cursor gallery-img" data-index="23">
    <img src="8_3.webp" alt="Bild 8_3" onclick="openModal();currentSlide(24)" class="hover-shadow cursor gallery-img" data-index="24">
  </div>
  <div id="myModal" class="modal">
    <span class="close cursor" onclick="closeModal()">&times;</span>
    <div class="modal-content">
      <!-- Fügen Sie für jedes Bild in der Galerie eine Modal Slide hinzu -->
      <div class="mySlides">
        <img src="1_1.webp" style="width:100%">
      </div>
      <div class="mySlides">
        <img src="1_2.webp" style="width:100%">

        bis

      <div class="mySlides">
        <img src="8_2.webp" style="width:100%">
      </div>
      <div class="mySlides">
        <img src="8_3.webp" style="width:100%">
      </div>
    </div>

    <!-- Vorwärts/Rückwärts Kontrollen -->
    <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
    <a class="next" onclick="plusSlides(1)">&#10095;</a>
  </div>

JavaScript:

function currentSlide(n) {
  showSlidesModal(slideIndex = n);
}

function showSlidesModal(n) {
  var i;
  var slidesModal = document.getElementsByClassName("mySlides");

  if (n > slidesModal.length) {
    slideIndex = 1
  }

  if (n < 1) {
    slideIndex = slidesModal.length
  }

  for (i = 0; i < slidesModal.length; i++) {
    slidesModal[i].style.display = "none";
  }

  slidesModal[slideIndex - 1].style.display = "block";
}

var galleryImages = document.getElementsByClassName("gallery-img");

for (var i = 0; i < galleryImages.length; i++) {
  galleryImages[i].onclick = function(event) {
    openModal();
    currentSlide(parseInt(event.target.getAttribute('data-index')));
  }
}

for (var i = 0; i < galleryImages.length; i++) {
  galleryImages[i].setAttribute('data-index', i + 1);
}

window.onclick = function(event) {
  if (event.target == document.getElementById('myModal')) {
    closeModal();
  }
}

function plusSlides(n, modal = false) {
  var slides;

  if (modal) {
    slides = document.getElementsByClassName("mySlides");
  }
  else {
    slides = document.getElementsByClassName("slide");
  }

  slideIndex += n;

  if (slideIndex > slides.length) {
    slideIndex = 1
  }

  if (slideIndex < 1) {
    slideIndex = slides.length
  }

  for (var i = 0; i < slides.length; i++) {
    slides[i].style.display = "none";
  }

  slides[slideIndex - 1].style.display = "block";

  if (!modal) {
    resetAnimations(slides[slideIndex - 1]);
  }
}

document.querySelector(".modal .prev").onclick = function() {
  plusSlides(-1, true);
};
document.querySelector(".modal .next").onclick = function() {
  plusSlides(1, true);
};

function openModal() {
  document.getElementById('myModal').style.display = "block";
}

function closeModal() {
  document.getElementById('myModal').style.display = "none";
}

showSlides(slideIndex);
HTML, Webseite, JavaScript, Code, Webdesign, Visual Studio Code
Kann jemand bitte auf Fehler korrigieren?

Hallo, ich habe folgende Aufgabe, bei der ich mir nicht so sicher bin, ob meine Antworten richtig sind. Falls einer drüber schauen kann, wäre ich sehr dankbar.

Das was ich Fett makiert habe sind meine Antworten.

Ich bedanke mich im Voraus!

Folgende Klassen sind gegeben:

public absract class Ticket{
private String inhaber;
public Tickets(String inhaber){
this.inhaber=inhaber;
}

protected String getInhaber[]{
return inhaber;
}
abstract double getPreis();
public String toString(){
return "Ticket von "+inhaber;
}
}

public final class Einzelticket extends Ticket{
public int maxStationen = 3;
public Einzelticket(String inhaber, int maxStationen]{
super(inhaber);
this.maxStationen=maxStationen;
}
public String toString(){
return "Einzelticket von " + super.getInhaber() + " für " + maxStationen + }
public double getPreis(){
}
}
public class Aboticket extends Ticket{
private int gueltigkeitsTage;
public Aboticket(String inhaber, int gueltigkeitsTage){
super(inhaber);
this.gueltigkeitsTage=gueltigkeitsTage;
}
public double getPreis(){
return gueltigkeitsTage *1.2;
}
}
public class Test{
public static void main(String args[]{
Einzelticket et = new Einzelticket("Alice",3);
Aboticket at = new Aboticket("Bob",4);
Ticket[] tickets = {et};
//Hier wurden die Befehle eingefügt
}}

Die folgenden Befehle werden am Ende der Main-Methode eingefügt.

Wählen Sie so aus, dass wahre Aussagen entstehen.

a.)System.out.println(et); ____________

Zur Auswahl:

- gibt "Einzelticket von Alice für 3 Stationen" aus

- gibt "Ticket von Alice" aus

- gibt kryptische String aus

- schmeißt einen Compilerfehler

b.)System.out.println(at); __________

Zur Auswahl

- gibt "Einzelticket von Bob für 3 Stationen" aus

- gibt "Ticket von Bob" aus

- gibt kryptische String aus

- schmeißt einen Compiler

c.)System.out.println(et.getInhaber()); ___________

Zur Auswahl

- gibt "Alice" aus

- gibt "Ticket von Alice" aus

- gibt "true" aus

- schmeißt einen Compilerfehler

d.)System.out.println(et instanceof Ticket); ___________

Zur Auswahl

- gibt "true" aus

- gibt "false" aus

- gibt "Einzelticket" aus

- gibt "Ticket" aus

- schmeißt einen Compilerfehler

e.)System.out.println(tickets[0] instanceof Einzelticket); __________

Zur Auswahl

- gibt "true" aus

- gibt "false" aus

- gibt "Einzelticket" aus

- gibt "Ticket" aus

- schmeißt einen Compilerfehler

f.) tickets[0].maxStationen=2; ____________

Zur Auswahl

- setzt das Attribut maxStationen auf 2

- passiert nichts

- schmeißt einen Compilerfehler

g.)System.out.println(tickets[0]); ___________

Zur Auswahl

- gibt "Einzelticket von Alice für 3 Stationen" aus

- gibt "Ticket von Alice" aus

- gibt kryptische String aus

- schmeißt einen Compilerfehler

h.)System.out.println(tickets[0].getPreis()); _________

Zur Auswahl

- gibt "2.5" aus

- gibt "Ticket von Alice" aus

- gibt kryptischen String aus

- schmeißt einen Compilerfeher

Java, Code

Meistgelesene Beiträge zum Thema Code