Programmieren – die besten Beiträge

Kann man port.ReadLine(); schneller verarbeiten?(C#)?

Hallo

ich programmiere gerad etwas mit Seriellen Schnittstellen und bin auf den Befehl port.Readline gestoßen. Aber leider ist die Wartezeit zu lange und das Programm friert ein. Kann man die Lesezeit irgendwie abkürzen?

 public partial class Form1 : Form
    {




        string read;
        public Form1()
        {


            InitializeComponent();
            comboBox1.Items.AddRange(SerialPort.GetPortNames());
        }


        private void Connect_Click(object sender, EventArgs e)
        {


            try
            {




                SerialPort port = new SerialPort(comboBox1.SelectedItem.ToString(), 9600, Parity.None);
             
            if (port.IsOpen)
            {
                port.Close();


            }
            


                port.Open();
              
                port.WriteLine("1");


             
                textBox1.Text += port.ReadTimeout;
    
                textBox1.Text += port.BytesToRead;
                textBox1.Text += port.DataBits;
                textBox1.Text += port.ReadLine();


                port.Close();
            }


            catch (System.OperationCanceledException d)
            {
                MessageBox.Show(d.Message);
                MessageBox.Show("Nix");
            }
            catch (TimeoutException f)
            { MessageBox.Show(f.Message);


            }
            catch(NullReferenceException f)
            { MessageBox.Show(f.Message); }
            comboBox1.Items.Clear();
            comboBox1.Items.AddRange(SerialPort.GetPortNames());


        }




    }
}
programmieren, Serielle Schnittstelle

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

Warum Funktioniert mein Python Programm nicht, obwohl es fehlerfrei ist?

Hallo,

ich möchte so ein Wahl spiel in Python machen, wo das Programm dir Antworten vorschlägt und du sie dann eingeben musst usw. ...

Das Problem aber ist das das Programm nicht ausgeführt wird, obwohl es Fehlerfrei ist. Es kommt übrigens auch keine Fehlermeldung.

das Programm wird einfach gekillt, nachdem ich bei Laserschneider die 1 eingebe.(Die 1 steht ja auch für den Laserschneider)

Übrigens: was ep1wam1 und so weiter bedeutet, steht ganz am Anfang des Codex.

Vielen Dank im voraus!

FormulaSun12

Der Codex:

# ep = Episode
# wam = wahlmöglichkeiten
# wa = Wahl
# er = erneut
# sf = sicherheitsnachfrage


from time import sleep


episode1 = True
episode2 = False


def ep1wam1():
        ep1wam1 = int(input ("Laserschneider; Jet Pack; Untererde-Loch-graber-Maschiene; Einfach an der Tür Klopfen (1=Laserschneider)"))


# Begrüßung


name = input ("Name?") # Frägt nach Namen
print ("Wilkommen", name, ",")
print ("Beantworte die Fragen mit den angegebenen Antworten. Die angegebenen Antworten sind in Klammern")
sleep (1.0)
input ("Drücken sie eine Taste um fortzufahren!")
print ("Spiel Ladet, bitte warten...")
sleep (3.0)


# Episodenauswahl


episode = int(input ("Episodenauswahl, bitte wählen sie einen Episod! (1);(2)"))


# Wenn Episode 1 wurde ausgewählt und episode1 ist True dann:


if episode1 == True and episode == 1:
    print ("EPISODE 1")
    sleep (1.5)
    print ("20. JUNI 2022")
    sleep (1.5)
    print ("DU STEHST VOR EINEM RIESEGNEN, GUT BEWACHTEN GELDSPEICHER WO DU EINBRECHEN WILLST!")
    sleep (1.5)
    print()
    print ("WÄHLE EINEN DIESER SACHEN UND PROBIERE REINZUKOMMEN! ABER PASS AUF! DAS GEBÄUDE WIR SEHR STRENG ÜBERWACHT! VIEL GLÜCK!")
    print ()
    sleep (1.5)
    ep1wam1()



    # Wenn der Laserschneider ausgewählt wurde:
    if ep1wam1 == 1:
        print ("Die Maschine schneidet einen großen Loch in die Wand.")
        sleep(1.5)
        print ("Das hätte prima funktioniert wenn das ausgeschneidete Teil nicht auf dich draufgefallen wäre :/")
        sleep(1.5)
        print ("FAIL!")
        ep1wam1wa1er = int(input ("Erneut versuchen? (1 für ja);(2 für nein)"))


        if ep1wam1wa1er == 1:
            ep1wam1()
            
        elif ep1wam1wa1er == 2:
            ep1wam1wa1sf = int (input ("Das Spiel hört hier auf. Bist du sicher das du verlassen möchtest? Das Spiel Speichert NICHT! (1=ja);(2=nein)"))


            if ep1wam1wa1sf == 1:
                ep1wam1()
                
            elif ep1wam1wa1sf == 2:
                quit()




# Wenn Episode 2 noch nicht freigeschalten ist dann:


elif episode2 == False and episode == 2:
    print ("Diese Episode ist noch gesperrt! Schliese erst die Anderen ab!")

programmieren, Python, Python 3

Mehrere Webseiten über ein Login System organisieren?

Ich hab mehrere Webseiten die teils über verschiedene Server verstreut sind und es wäre ziemlich lästig für jede ein eigenes zu machen also hab ich beschlossen sowas ähnliches wie oAuth nur mit PHP zu bauen, am besten so zweckmäßig wie möglich um das ganze zu erleichtern. Kann man das Konzept als fertig bezeichnen oder muss man da noch was dran ändern?

Dass man sich anmelden kann wird man auf die anmeldeseite geleitet, man gibt seine Daten ein und man wird auf die eigentliche Seite zurückgeleitet

um einen Benutzer anzumelden greift der dienst als erstes auf einen langen string zurück nennen wir es mal API Token. dieser wird während der nutzer auf die anmeldeseite geleitet wird mit post übergeben um zum einen sicherzustellen dass die webseite autorisiert dazu ist daten anzufragen und zum anderen dass das login system weiß wohin es den token und den Nutzer nach der anmeldung leiten soll. Dann meldet sich der nutzer auf der loginseite n und der nutzername und das passwort wird validiert etc. danach stellt der authentifizierungsserver das access Token aus, was beim weiterleiten wieder zurückgepostet wird. Dieses access token wird dann beim nutzer als cookie gespeichert und der Dienst der dann die Zeichenkette erhalten hat fragt dann die benötigten daten(nutzername, geburtsdatum etc.) mit curl von autentifizierungsserver ab und somit ist der nutzer angemeldet.

Das heißt ich müsste das script was prüft welchen Benutzername man hat muss mit jedem einzelnen Seitenaufruf erneut mittels dem access token den nutzernamen anfragen, eventell kann man das aber auch über nen session cookie mit nutzername regeln

Also: kann man das umsetzen oder habe ich was vergessen?

Computer, Webseite, programmieren, JavaScript, Datenbank, MySQL, PHP, Webserver

Meistgelesene Beiträge zum Thema Programmieren