Hallo Leute,
ich komme trotz Forum und Google nicht weiter. Lege ich die Datei in den Unterordner bekomme ich die Fehlermeldung die Datei (mit korrektem Dateinamen) sei nicht vorhanden/Zufinden.
Lasse ich den Path weg und lege die Datei in die selbe Ebene, wie das Notebook läuft das.
Würde aber gerne den Unterordner der Übersicht halber ansteuern und diesen dann mit Dateien voll laden.
Wo liegt mein Gedankenfehler? Selbst mit print-Prüfung von n, filename, Ordner etc bekomme ich die Dateinamen ausgegeben..
Danke für eure Hilfe
"Mein Skript"
from __future__ import division
from __future__ import print_function
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.signal import find_peaks
from scipy.optimize import curve_fit
from scipy import integrate
import matplotlib.gridspec as gridspec
import os
def Reg(x, y):
"""
LinearRegression
Args:
x: Independ Variable list.
y: Dependend Variable list.
Returns:
m,b,R^2
"""
Coeflist = []
X = x.reshape((-1, 1))
model = lm.LinearRegression()
results = model.fit(X, y)
Coeflist.append(model.coef_[0])
Coeflist.append(model.intercept_)
Coeflist.append(model.score(X, y))
return Coeflist
# Einlesen des gesamten Ordners und auswählen aller .txt und .csv Dateien ----------------------------------------------------
Ordner = os.listdir("/home/jovyan/Techniker/Ordner") #Ordner in Jupyter ansteuern
TXT = []
for n in Ordner:
if '.txt' in n or '.csv' in n:
TXT.append(n)
# Auslesen der Datei und Kürzen auf die benötigten Daten (nur Detektorsignal gegen Zeit) -------------------------------------
for n in TXT:
filename = n
raw = open(filename, 'r')
lines = raw.readlines()
import_start = lines.index('[LC Chromatogram(Detector A-Ch1)]\n') + 8 #die gekürzte Datei soll 8 Zeilen unterhalb dieses Textes starten
import_end = lines.index('[LC Status Trace(Pump A Pressure)]\n') - 1 #die gekürzte Datei soll 1 Zeile oberhalb dieses Textes starten
raw.close()
file = open('files_shortend/' + filename, 'w')
for n in lines[import_start : import_end]:
file.write(n)
file.close()
"Fehler"
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-68-4170ab4454c7> in <module>
32 for n in TXT:
33 filename = n
---> 34 raw = open(filename, 'r')
35 lines = raw.readlines()
36
FileNotFoundError: [Errno 2] No such file or directory: 'TEC-1-1a.txt'
Unterordner ansteuern schlägt fehl
Ist das Python 2? Die Importe deuten darauf hin. Python 2 ist tot. Da gibt es weder eine Weiterenwicklung noch weitere Sicherheitspatches seit Anfang des Jahres. Bitte aktualisiere auf eine aktuelle Python-Variante. Und dann verwende dort das pathlib-Modul um Pfade zu verwenden.
Variablen und Funktionsnamen schreibt man in Python klein_mit_unterstrich.
"Ordner" ist ein schlechter Name für eine Liste von Dateinamen. Und das ist das, was da drin ist: Dateinamen. Und wenn man nur einen Dateinamen beim Öffnen angibt, dann wird nur im aktuellen Arbeitsverzeichnis danach gesucht. Also musst du entweder den absoluten oder den relativen Pfad zu der Datei angeben.
Variablen und Funktionsnamen schreibt man in Python klein_mit_unterstrich.
"Ordner" ist ein schlechter Name für eine Liste von Dateinamen. Und das ist das, was da drin ist: Dateinamen. Und wenn man nur einen Dateinamen beim Öffnen angibt, dann wird nur im aktuellen Arbeitsverzeichnis danach gesucht. Also musst du entweder den absoluten oder den relativen Pfad zu der Datei angeben.
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Karlirex: Der Gedankenfehler liegt darin das `open()` wenn es nur einen Dateinamen bekommt, natürlich nicht anfängt zu suchen in welchem Unterverzeichnis die Datei vielleicht liegen könnte sondern im aktuellen Arbeitsverzeichnis sucht. Dein Problem mit Unterordnern ansteuern liegt darin, dass Du das eben *gar nicht machst*.
Das Problem löst sich bei `pathlib` in Python 3 dann sozusagen von alleine, weil die entsprechenden Methoden dort immer komplette Pfade liefern und nicht nur den Dateinamenanteil.
Das Problem löst sich bei `pathlib` in Python 3 dann sozusagen von alleine, weil die entsprechenden Methoden dort immer komplette Pfade liefern und nicht nur den Dateinamenanteil.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Also es ist Python 3.
habe das Skript schon viel übernommen und wollte eben das mit dem Unterordner ändern. Wie und welche Namen man den Ordnern eig geben sollte in der Pythonsprache war mir erstmal wurscht.
Mit import pathlib und dann als path.pathlib (was mir Google auswarf) bin ich da dennoch nicht hingekommen.
Vllt einfach mal kurz den genauen Code ab dem Punkt angeben.
Sorry, wenns vllt sehr kleinschrittig ist, ledier erst eine gefühlte Woche in Python drin.
Danke euch
habe das Skript schon viel übernommen und wollte eben das mit dem Unterordner ändern. Wie und welche Namen man den Ordnern eig geben sollte in der Pythonsprache war mir erstmal wurscht.
Mit import pathlib und dann als path.pathlib (was mir Google auswarf) bin ich da dennoch nicht hingekommen.
Vllt einfach mal kurz den genauen Code ab dem Punkt angeben.
Sorry, wenns vllt sehr kleinschrittig ist, ledier erst eine gefühlte Woche in Python drin.
Danke euch

- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Karlirex: Gute Namen sollten Dir nicht wurscht sein, die sind wichtig. Nicht für Python, sondern für den menschlichen Leser. Das schliesst auch *Dich* mit ein, denn mit schlechten Namen findet man Fehler oft schwerer. Und Probleme beim finden von guten Namen deuten oft auch auf Probleme beim Code hin, oder das man das Problem oder die Lösung nicht ganz verstanden hat, oder das man Dinge in Objekten zusammenfasst die nicht zusammen gehören.
Weitere Anmerkungen: Von den ganzen Importen wird ausschliesslich `os` verwendet.
Die `Reg()`-Funktion wird nirgends verwendet. Das würde auch nicht funktionieren, weil dort ein `lm` verwendet wird das nirgends definiert ist.
Grunddatentypen wie `list` haben nichts im Namen zu suchen und Namen sollten auch keine kryptischen Abkürzungen enthalten, oder gar nur daraus bestehen.
Namen sollten auch erst dann definiert werden, wenn man sie braucht. Also nicht am Anfang von einer Funktion eine leere Liste erstellen, die erst am Ende mit Werten befüllt wird. Zudem ist das mit den drei `append()`-Aufrufen auf unnötig umständlich. Das sollte auch gar keine Liste sein, denn in Listen steckt man in der Regel Werte wo jedes Element die gleiche Bedeutung hat, unabhängig von der Position des Elements. Hier sieht das eher nach einem Tupel aus.
Die Funktion sähe dann so aus:
Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
``in`` ist der falsche Test wenn man eine Dateiendung testen möchte. Denn man möchte ja wissen ob der Dateinamen damit *endet* und nicht ob die Endung irgendwo im (Pfad +) Namen vorkommt.
Dateinamen `n` zu nennen ist an sich schon keine gute Idee, in der gleichen Schleife dann aber `n` auch gleich noch in einer inneren Schleife für etwas anderes zu verwenden ist extrem verwirrend.
Dateien sollte man wo es möglich ist mit der ``with``-Anweisung zusammen öffnen und bei Textdateien auch explizit die Kodierung angeben.
Ungetestet:
Weitere Anmerkungen: Von den ganzen Importen wird ausschliesslich `os` verwendet.
Die `Reg()`-Funktion wird nirgends verwendet. Das würde auch nicht funktionieren, weil dort ein `lm` verwendet wird das nirgends definiert ist.
Grunddatentypen wie `list` haben nichts im Namen zu suchen und Namen sollten auch keine kryptischen Abkürzungen enthalten, oder gar nur daraus bestehen.
Namen sollten auch erst dann definiert werden, wenn man sie braucht. Also nicht am Anfang von einer Funktion eine leere Liste erstellen, die erst am Ende mit Werten befüllt wird. Zudem ist das mit den drei `append()`-Aufrufen auf unnötig umständlich. Das sollte auch gar keine Liste sein, denn in Listen steckt man in der Regel Werte wo jedes Element die gleiche Bedeutung hat, unabhängig von der Position des Elements. Hier sieht das eher nach einem Tupel aus.
Die Funktion sähe dann so aus:
Code: Alles auswählen
def linear_regression(x, y):
"""
Args:
x: Independ variables.
y: Dependend variables.
Returns:
m, b, R^2
"""
x = x.reshape((-1, 1))
model = lm.LinearRegression()
model.fit(x, y)
return model.coef_[0], model.intercept_, model.score(x, y)
``in`` ist der falsche Test wenn man eine Dateiendung testen möchte. Denn man möchte ja wissen ob der Dateinamen damit *endet* und nicht ob die Endung irgendwo im (Pfad +) Namen vorkommt.
Dateinamen `n` zu nennen ist an sich schon keine gute Idee, in der gleichen Schleife dann aber `n` auch gleich noch in einer inneren Schleife für etwas anderes zu verwenden ist extrem verwirrend.
Dateien sollte man wo es möglich ist mit der ``with``-Anweisung zusammen öffnen und bei Textdateien auch explizit die Kodierung angeben.
Ungetestet:
Code: Alles auswählen
#!/usr/bin/env python3
from pathlib import Path
def main():
directory_path = Path("/home/jovyan/Techniker/Ordner")
file_paths = [
path
for path in directory_path.iterdir()
if path.is_file() and path.suffix in [".txt", ".csv"]
]
#
# Kürzen auf die benötigten Daten (nur Detektorsignal gegen Zeit).
#
for file_path in file_paths:
with file_path.open("r", encoding="ascii") as file:
lines = list(file)
first_line_index = (
lines.index('[LC Chromatogram(Detector A-Ch1)]\n') + 8
)
last_line_index = (
lines.index('[LC Status Trace(Pump A Pressure)]\n') - 1
)
with (directory_path / "files_shortend" / file_path.name).open(
"w", encoding="ascii"
) as file:
file.writelines(lines[first_line_index:last_line_index])
if __name__ == "__main__":
main()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Die "Fehler" oben liegen vllt daran, dass der Code eig noch mehr enthält, was dann auch Richtung der eigentlichen Auswertung geht, es bei mir aber eben durch die Unterordner schon da scheitert.
Was sagt mir denn dein "if _name_ == "_main_"?
dennoch bekomme ich die fehlende Errormeldung, siehe Bild https://imgur.com/a/IDqrQ6Q
Ich verstehe nur eben nicht wieso er den Dateinamen in der Fehlermeldung kennt, diese aber angeblich nicht lesen kann.
Ein riesen Danke für deine Hilfe
Vllt gibt es auch einen guten Einsteigerguide für den Umgang mit solchen Daten
Was sagt mir denn dein "if _name_ == "_main_"?
dennoch bekomme ich die fehlende Errormeldung, siehe Bild https://imgur.com/a/IDqrQ6Q
Ich verstehe nur eben nicht wieso er den Dateinamen in der Fehlermeldung kennt, diese aber angeblich nicht lesen kann.
Ein riesen Danke für deine Hilfe

Vllt gibt es auch einen guten Einsteigerguide für den Umgang mit solchen Daten

@sparrow ja stimmt, mit dem Code von @_blackjack_ ist der Speicherordner in dem Datenordner.
def main():
directory_path = Path("/home/jovyan/Techniker/Ordner")
save_path = Path("/home/jovyan/Techniker/")
file_paths = [path
for path in directory_path.iterdir()
if path.is_file() and path.suffix in [".txt", ".csv"]]
#
# Kürzen auf die benötigten Daten (nur Detektorsignal gegen Zeit).
#
for file_path in file_paths:
with file_path.open("r", encoding="ascii") as file:
lines = list(file)
first_line_index = (lines.index('[LC Chromatogram(Detector A-Ch1)]\n') +
last_line_index = (lines.index('[LC Status Trace(Pump A Pressure)]\n') - 1)
with (save_path / "files_shortend" / file_path.name).open("w", encoding="ascii") as file:
file.writelines(lines[first_line_index:last_line_index])
if __name__ == "__main__":
main()
da ich hier den anderen path haben möchte, habe ich mir einen "save_path" definiert und es läuft wie gewünscht
danke für eure Hilfe und Geduld. Vllt kommen nochmal andere Fragen (jetzt gehts ja erst ans so richtig eingemachte denk ich)
Grüße
def main():
directory_path = Path("/home/jovyan/Techniker/Ordner")
save_path = Path("/home/jovyan/Techniker/")
file_paths = [path
for path in directory_path.iterdir()
if path.is_file() and path.suffix in [".txt", ".csv"]]
#
# Kürzen auf die benötigten Daten (nur Detektorsignal gegen Zeit).
#
for file_path in file_paths:
with file_path.open("r", encoding="ascii") as file:
lines = list(file)
first_line_index = (lines.index('[LC Chromatogram(Detector A-Ch1)]\n') +

last_line_index = (lines.index('[LC Status Trace(Pump A Pressure)]\n') - 1)
with (save_path / "files_shortend" / file_path.name).open("w", encoding="ascii") as file:
file.writelines(lines[first_line_index:last_line_index])
if __name__ == "__main__":
main()
da ich hier den anderen path haben möchte, habe ich mir einen "save_path" definiert und es läuft wie gewünscht

danke für eure Hilfe und Geduld. Vllt kommen nochmal andere Fragen (jetzt gehts ja erst ans so richtig eingemachte denk ich)
Grüße
#Daten auslesen ----------------------------------------------------------------------------------------------------
import pandas as pd
import numpy as np
def PlotAll():
data = pd.read_csv('files_shortend/' + file, sep='\s+' , decimal = ',', names = ['t','I'])
t = np.array(data['t'])
I = np.array(data['I'])
t_R, _ = find_peaks(I, height = 50) # Peak finden und Index in Liste speichern
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(16,8))
gs = fig.add_gridspec(2,2)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, 0])
ax3 = fig.add_subplot(gs[1, 1])
ax1.plot(t,I)
ax2.plot(t,I)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-78-8ede072dd5e2> in <module>
8 ax3 = fig.add_subplot(gs[1, 1])
9
---> 10 ax1.plot(t,I)
11 ax2.plot(t,I)
NameError: name 't' is not defined
oben gehts nach dem main() so wie beschrieben weiter...
Und wo hakt nun mein t? Ich fühle mich grad echt, als hätte ich noch nie nen Computer bedient.
Vielen Dank für eure Hilfe
Beste Grüße
import pandas as pd
import numpy as np
def PlotAll():
data = pd.read_csv('files_shortend/' + file, sep='\s+' , decimal = ',', names = ['t','I'])
t = np.array(data['t'])
I = np.array(data['I'])
t_R, _ = find_peaks(I, height = 50) # Peak finden und Index in Liste speichern
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(16,8))
gs = fig.add_gridspec(2,2)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, 0])
ax3 = fig.add_subplot(gs[1, 1])
ax1.plot(t,I)
ax2.plot(t,I)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-78-8ede072dd5e2> in <module>
8 ax3 = fig.add_subplot(gs[1, 1])
9
---> 10 ax1.plot(t,I)
11 ax2.plot(t,I)
NameError: name 't' is not defined
oben gehts nach dem main() so wie beschrieben weiter...
Und wo hakt nun mein t? Ich fühle mich grad echt, als hätte ich noch nie nen Computer bedient.
Vielen Dank für eure Hilfe
Beste Grüße
Bitte poste deinen Code zwischen Code-Tags. Die werden automatische eingefügt, wenn du in "Vollständiger Editor & Vorschau" den </>-Button drückst.
Dann bleiben Einrückungen erhalten, die bei Python wichtiger Teil des Syntax ist.
Dein Code sieht dann so aus:
Und wie __blackjack__ bereits schrieb: Auf Modulebene (also nicht eingerückt) gehören nur:
- Importe
- Definitionen von funktionen
- Definitionen von Klassen
- Definition von KONSTANTEN
und die if __name__ == "__main__"-Bedingung um die erste Funktion zu starten.
Importe gehören an den Anfang es Scripts und nicht irgendwo hinein.
PlotAll sollte nach Namenskonvention plott_all heißen, weiß es eine Funktion ist.
Variablen, die in einer Funktion definiert werden, sind auch nur in der Funktion sichtbar.
Funktionen bekommen alles, was sie zum Arbeiten brauchen als Argumente und geben ihr Ergebnis mit "return" zurück.
Wenn du das beherzigst, muss also alles, was bisher auf Modulebene steckt in eine Funktion.
Und da "t" und "I" (wirklich schlechte Namen für Variablen, bitte benutze sprechende Namen, damit du weißt, was sich dahinter verbirgt) in einer Funktion zugewiesen werden, existieren sie nicht außerhalb der Funktion.
"I" ist doppelt schlimm, weil man, je nach Schriftart, nicht untescheiden kann, ob es ein l oder ein I ist.
Die Zeile, in der du t_R (wieder so ein Name...) etwas zuweist, ist komplett falsch eingerückt.
Dann bleiben Einrückungen erhalten, die bei Python wichtiger Teil des Syntax ist.
Dein Code sieht dann so aus:
Code: Alles auswählen
import pandas as pd
import numpy as np
def PlotAll():
data = pd.read_csv('files_shortend/' + file, sep='\s+' , decimal = ',', names = ['t','I'])
t = np.array(data['t'])
I = np.array(data['I'])
t_R, _ = find_peaks(I, height = 50) # Peak finden und Index in Liste speichern
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(16,8))
gs = fig.add_gridspec(2,2)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, 0])
ax3 = fig.add_subplot(gs[1, 1])
ax1.plot(t,I)
ax2.plot(t,I)
- Importe
- Definitionen von funktionen
- Definitionen von Klassen
- Definition von KONSTANTEN
und die if __name__ == "__main__"-Bedingung um die erste Funktion zu starten.
Importe gehören an den Anfang es Scripts und nicht irgendwo hinein.
PlotAll sollte nach Namenskonvention plott_all heißen, weiß es eine Funktion ist.
Variablen, die in einer Funktion definiert werden, sind auch nur in der Funktion sichtbar.
Funktionen bekommen alles, was sie zum Arbeiten brauchen als Argumente und geben ihr Ergebnis mit "return" zurück.
Wenn du das beherzigst, muss also alles, was bisher auf Modulebene steckt in eine Funktion.
Und da "t" und "I" (wirklich schlechte Namen für Variablen, bitte benutze sprechende Namen, damit du weißt, was sich dahinter verbirgt) in einer Funktion zugewiesen werden, existieren sie nicht außerhalb der Funktion.
"I" ist doppelt schlimm, weil man, je nach Schriftart, nicht untescheiden kann, ob es ein l oder ein I ist.
Die Zeile, in der du t_R (wieder so ein Name...) etwas zuweist, ist komplett falsch eingerückt.
ich hoffe ich habe nun ALLE Dinge beachtet. es entsteht aber nun kein Bild, zumindest sollte es dies doch tun oder nicht?
bzgl der Etikette des Schreibens, tut mir leid wenn ich solche Dinge nicht beachte, da mir bis jetzt niemand so etwas gesagt hat oder bemängelt hat.
bzgl der Etikette des Schreibens, tut mir leid wenn ich solche Dinge nicht beachte, da mir bis jetzt niemand so etwas gesagt hat oder bemängelt hat.
Code: Alles auswählen
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pathlib import Path
def linear_regression(x, y):
"""
Args:
x: Independ variables.
y: Dependend variables.
Returns:
m, b, R^2
"""
x = x.reshape((-1, 1))
model = lm.LinearRegression()
model.fit(x, y)
return model.coef_[0], model.intercept_, model.score(x, y)
#Dateien einlesen + Speicherort angeben -------------------------------------------------------------------------------------
def main():
directory_path = Path("/home/jovyan/Techniker/Ordner")
save_path = Path("/home/jovyan/Techniker/")
file_paths = [path
for path in directory_path.iterdir()
if path.is_file() and path.suffix in [".txt", ".csv"]]
#
# Kürzen auf die benötigten Daten (nur Detektorsignal gegen Zeit)--------------------------------------------------
#
for file_path in file_paths:
with file_path.open("r", encoding="ascii") as file:
lines = list(file)
first_line_index = (lines.index('[LC Chromatogram(Detector A-Ch1)]\n') + 8)
last_line_index = (lines.index('[LC Status Trace(Pump A Pressure)]\n') - 1)
with (save_path / "files_shortend" / file_path.name).open("w", encoding="ascii") as file:
file.writelines(lines[first_line_index:last_line_index])
file.close()
if __name__ == "__main__":
main()
#Daten auslesen ----------------------------------------------------------------------------------------------------
def plot_all():
data = pd.read_csv('files_shortend/' + file, sep='\s+' , decimal = ',', names = ['time','intensity'])
time = np.array(data['time'])
intensity = np.array(data['intensity'])
t_R, _ = find_peaks(I, height = 50) # Peak finden und Index in Liste speichern
fig = plt.figure(figsize=(16,8))
gs = fig.add_gridspec(2,2)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, 0])
ax3 = fig.add_subplot(gs[1, 1])
ax1.plot(time,intensity)
ax2.plot(time,intensity)
plt.show(fig)
Die Funktion def main wurde oben ja auch nicht aufgerufen oder?
und mit ner Print-Überprüfung für die arrays, erhalte ich dennoch die Fehlermeldung time not defined.
Ich rätsel denke ich zu viel, als das ich da etwas sinnhaftes tue, leider
und mit ner Print-Überprüfung für die arrays, erhalte ich dennoch die Fehlermeldung time not defined.
Ich rätsel denke ich zu viel, als das ich da etwas sinnhaftes tue, leider
Doch, die Funktion "main" wird hier ausgeführt:
Dein Funktion allerdings wird nirgends aufgerufen.
Wann denkst du denn, wann im Programmfluss, die Zeile "data = pd.read_csv([...]" ausgeführt wird?
Ich finde das Tutorial in der offiziellen Dokumentation gibt einen guten Einstieg darüber, wie Python funktioniert. Das ist sicher einen Blick wert.
Edit: Einen Aufruf für linear_regression sehe ich auch nicht.
Code: Alles auswählen
if __name__ == "__main__": # wenn die Variabel __name__ den Wert "__main__" hat, dann:
main() # rufe die Funktion main() auf
Wann denkst du denn, wann im Programmfluss, die Zeile "data = pd.read_csv([...]" ausgeführt wird?
Ich finde das Tutorial in der offiziellen Dokumentation gibt einen guten Einstieg darüber, wie Python funktioniert. Das ist sicher einen Blick wert.
Edit: Einen Aufruf für linear_regression sehe ich auch nicht.
So wie ich mir das gedacht habe, soll er mit "data = pd.read_csv...." die Datei dort öffnen und den gewünschten Inhalt (time, intensity) lesen. Das gelesene dann als time und intensity array speichern. So mein Gedanke.
Die Regression ist oben aufgeführt um sie später im Programm zu verwenden.
EDIT zum Thread: Ich habe einige große Teile so übernommen und versuche diese für mich zu optimieren, daher auch etlich Namensprobleme etc...
Danke für alle Tipps bis hierher
Die Regression ist oben aufgeführt um sie später im Programm zu verwenden.
EDIT zum Thread: Ich habe einige große Teile so übernommen und versuche diese für mich zu optimieren, daher auch etlich Namensprobleme etc...
Danke für alle Tipps bis hierher