Powershell Problem mit System.Collections.ArraylList?

Hallo.

Ich habe ein Problem mit einer ArrayList.

Meine Funktion funtioneirt solange durch die Funktion mehrere Dateien gefunden werden, wenn aber nur eine Datei gefunden wird bekomme ich immer einen Fehler.

Das ist der Bereich in dem die ArrayList gefüllt wird (bzw. ein Auszug):

...
[System.Collections.ArrayList]$TableData = @(Get-ChildItem $FullDateFolders -Filter $filter -File -Recurse) |
                   where-object {($_.LastAccessTime -le (get-date).AddMinutes($DelTime)) -and ($_.Fullname -like $filter1)} |
                       ForEach-Object `
                           -Begin {$i=0} `
                           -Process {
                               $i++
                               $TextBox_Output.AppendText([System.Environment]::NewLine + "# Add: " + $_.FullName)    #TODO Nur für TEST
                               write-host "Datei-Nr.: $i -- " $_.Name                               #TODO Nur für TEST
                               $_CopyFullPath     = (($_.FullName -split '\\') | Select -Last 3) -join '\'
                               $_CopyFolder     = (($_.FullName -split '\\') | Select -Last 3 | Select -SkipLast 1) -join '\'
                               $_DisplayPath  = (($_.FullName -split '\\') | Select -Last 4) -join '\'
                               $_NumberOfParts = (Select-String -path $_ -pattern 'K0007').count
                               $_LastDir      = (Split-Path $_.Directory -Leaf)
$_
...
                           

Wichtiger ist wahrscheinlich die Fehlermeldung:

Der Wert "@{Maschine=50151; Name=schleifen.dfq; Teile=0; LastWriteTime=13.07.2022 18:57:52; DisplayPath=20220713_060501\MFU\50151\schleifen.dfq; 
CopyFullPath=MFU\50151\schleifen.dfq; CopyFolder=MFU\50151; FullName=E:\Powershell_Skripts\99-Ordner_Test\Source\20220713_060501\MFU\50151\schleifen.dfq}" kann nicht 
in den Typ "System.Collections.ArrayList" konvertiert werden. Fehler: "Der Wert "@{Maschine=50151; Name=schleifen.dfq; Teile=0; LastWriteTime=13.07.2022 18:57:52; 
DisplayPath=20220713_060501\MFU\50151\schleifen.dfq; CopyFullPath=MFU\50151\schleifen.dfq; CopyFolder=MFU\50151; 
FullName=E:\Powershell_Skripts\99-Ordner_Test\Source\20220713_060501\MFU\50151\schleifen.dfq}" vom Typ "Selected.System.IO.FileInfo" kann nicht in den Typ 
"System.Collections.ArrayList" konvertiert werden."

Kann mit dieser Fehlermeldung vielleicht jemand was Anfangen und mir einen Tip für die Fehlersuche geben?

Computer, Software, Windows, IT, programmieren, GUI, PowerShell
Wie kann Java auf ein User-Input warten?

Guten Tag,

ich programmiere gerade ein kleines Java-Projekt.

Dort hat bis jetzt auch alles geklappt, doch nun weiß ich nicht mehr weiter.

Ich habe für den Start meines Programms dieses GUI erzeugt:

Wie da ja schon steht, soll der User 'W' drücken, damit das Spiel anfängt. Doch ich weiß nicht, wie ich das programmieren kann. Ich habe schon eine Klasse (KeyHandler) angelegt, die KeyListener implementiert und die ich schon meinem Programm hinzugefügt habe, doch passieren tut dabei nichts.

Ich habe auch schon eine Ahnung warum: Die Variable 'commands.isRunning' wird direkt überprüft (und danach nicht mehr) und deshalb der If-Teil überschprungen. Wie kann jetzt Java auf einen User-Input warten, damit die Variable nicht sofort überprüft wird?

Hier ist meine Draw Klasse:

(commands.isRunning ist gerade noch false, soll aber durch das 'W' true werden. Die Methode, die dadurch aufgerufen werden soll, steht in der Klasse Commands)

public class Draw extends JPanel implements Variables {

    Commands commands = new Commands();
    KeyHandler keyHandler = new KeyHandler();

    Player player = new Player();
    Donut donut = new Donut();

    Draw() {
        this.addKeyListener(keyHandler);
        this.setPreferredSize(new Dimension(SCREEN_WIDTH, SCREEN_HEIGHT));
        this.setBackground(Color.black);
        this.setFocusable(true);
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        commands.printStartText(g);
        
        if (commands.isRunning() == true) {

            // Draw Grid
            for (int i = 0; i < SCREEN_HEIGHT / UNIT_SIZE; i++) {
                g.drawLine(i * UNIT_SIZE, 0, i * UNIT_SIZE, SCREEN_HEIGHT);
                g.drawLine(0, i * UNIT_SIZE, SCREEN_HEIGHT, i * UNIT_SIZE);
            }

            // Place Player
            player.placePlayer(g);

            // Place Donut
            donut.placeDonut(g);

            // Place Barrier

            // Place Gadget

            // Set Default Color
            g.setColor(Color.darkGray);

        }
    }
}

Und hier die KeyHandler Klasse:

public class KeyHandler implements KeyListener {

    Commands commands = new Commands();

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void keyPressed(KeyEvent e) {

        switch (e.getKeyCode()) {
        case KeyEvent.VK_W:
            commands.startGame();
            break;

        case KeyEvent.VK_A:

            break;
        case KeyEvent.VK_S:

            break;
        case KeyEvent.VK_D:

            break;
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }
}

Auch habe ich schon 'System.in.read' hinter 'commands.printStartText(g);' platziert, doch da wurde dann nur ein weißes Bild angezeigt.

Ich hoffe ihr könnt mir helfen!

Schon mal vielen Dank im voraus.

Bild zum Beitrag
Computer, Technik, programmieren, Java, Informatik, GUI
JavaFX TableView mit Daten aus der Datenbank füllen?

Hey Leute,

ich versuche gerade meine Tabelle mit Daten aus der Datenbank zu füllen aber dabei bekomme ich eine Fehlermeldung. Kann mir jemand dabei helfen?

Users Klasse:

public class Users {
    private int id;
    private String userToken;
    private String firstname;
    private String lastname;
    private String emailAddress;
    private String creationTime;
    private Button deleteButton;

    public Users(int id, String userToken, String firstName, String lastName, String emailAddress, String creationTime) {
        this.id = id;
        this.userToken = userToken;
        this.firstname = firstName;
        this.lastname = lastName;
        this.emailAddress = emailAddress;
        this.creationTime = creationTime;
    }
}

Die Fehlermeldung:

UserController:

public class UserController {

    @FXML
    private TableColumn<Users, Integer> idCol;

    @FXML
    private TableColumn<Users, String> creationTimeCol;

    @FXML
    private TableColumn<Users, String> emailCol;

    @FXML
    private TableColumn<Users, String> firstnameCol;

    @FXML
    private TableColumn<Users, String> lastnameCol;

    @FXML
    private TableColumn<Users, String> deleteCol;

    @FXML
    private TableColumn<Users, String> userTokenCol;

    @FXML
    private TableView<Users> table;

    @FXML
    private TextField textField;

    public void printUser() {
        ObservableList<Users> allUserList = FXCollections.observableArrayList();

        try {
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:2020/database", "root", "");
            System.out.println("Connected");
            //PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM usertable");
            ResultSet resultSet = connection.createStatement().executeQuery("SELECT * FROM usertable");
            while (resultSet.next())  {
                allUserList.add(new Users(Integer.parseInt(resultSet.getString("id")),
                        resultSet.getString("userToken"), resultSet.getString("firstName"),
                        resultSet.getString("lastName"), resultSet.getString("emailAddress"),
                        resultSet.getString("creationTime")));

            }

        } catch (SQLException ignored) {
            ignored.printStackTrace();
        }
        idCol.setCellValueFactory(new PropertyValueFactory<Users, Integer>("id"));
        userTokenCol.setCellValueFactory(new PropertyValueFactory<Users, String>("userToken"));
        firstnameCol.setCellValueFactory(new PropertyValueFactory<Users, String>("firstName"));
        lastnameCol.setCellValueFactory(new PropertyValueFactory<Users, String>("lastName"));
        emailCol.setCellValueFactory(new PropertyValueFactory<Users, String>("emailAddress"));
        creationTimeCol.setCellValueFactory(new PropertyValueFactory<Users, String>("creationTime"));
        table.setItems(allUserList);
        System.out.println("all user got");
    }
}

Bild zum Beitrag
Computer, programmieren, Java, Datenbank, JavaFX, MySQL, GUI

Meistgelesene Beiträge zum Thema GUI