Problem bei Pfadangabe mittels Konfigurationsdatei
Problem bei Pfadangabe mittels Konfigurationsdatei
Hallo zusammen,
ich benötige mal wieder eure Hilfe zum Thema: CreateDirectory(VerzeichnisName$)
Die Parameter "Speicherlaufwerk$ und VerzeichnisName$ lese ich dabei aus einer Konfigurationsdatei mit
Hilfe der Befehle
ReadFile(#Datei, Dateiname$) und ReadString(#Datei [, Flags]) ein.
Eine Überprüfung der eingelesenen Parameter mit Debug zeigt mir keinen Fehler.
Jedoch wird meine Pfadangabe 'D:\Messdaten' aus der Konfig-Datei im Befehl 'CreateDirectory(D:\Messdaten)'
nicht ausgeführt. Der Rückgabewert des Befehls ist Null, also konnte das Verzeichnis nicht erstellt werden.
Trage ich jedoch den Pfad direkt in den Befehl: CreateDirectory(D:\Messdaten) ein, dann funktionierts einwandfrei.
Ich hoffe mich verständlich ausgedrückt zu haben....
Wer kann mir weiterhelfen ???
cu
Microman
ich benötige mal wieder eure Hilfe zum Thema: CreateDirectory(VerzeichnisName$)
Die Parameter "Speicherlaufwerk$ und VerzeichnisName$ lese ich dabei aus einer Konfigurationsdatei mit
Hilfe der Befehle
ReadFile(#Datei, Dateiname$) und ReadString(#Datei [, Flags]) ein.
Eine Überprüfung der eingelesenen Parameter mit Debug zeigt mir keinen Fehler.
Jedoch wird meine Pfadangabe 'D:\Messdaten' aus der Konfig-Datei im Befehl 'CreateDirectory(D:\Messdaten)'
nicht ausgeführt. Der Rückgabewert des Befehls ist Null, also konnte das Verzeichnis nicht erstellt werden.
Trage ich jedoch den Pfad direkt in den Befehl: CreateDirectory(D:\Messdaten) ein, dann funktionierts einwandfrei.
Ich hoffe mich verständlich ausgedrückt zu haben....
Wer kann mir weiterhelfen ???
cu
Microman
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Ich denke mal Fehler in der Zeichenkodierung. Haste als Unicode kompiliert und wurde die Konfigurationsdatei auch als solche erstellt?
Du könntest auch die Preference-Library von PB verwenden. Die erstellt astreine Konfigurations-Dateien.
Du könntest auch die Preference-Library von PB verwenden. Die erstellt astreine Konfigurations-Dateien.

PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Ohne deinen Code kann man da nur raten. Wenn dir ein Debug nach dem Einlesen der Parameter das richtige anzeigst, machst du einfach später was falsch. Dann hat's auch nichts mehr mit Unicode oder ASCII zu tun. Sonst wären die Debugs ja schon falsch.
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
@ NicTheQuick,
Zum besseren Verständis ich werde mal ein Beispiel erstellen und posten.
@ TroaX:
"Du könntest auch die Preference-Library von PB verwenden. Die erstellt astreine Konfigurations-Dateien."
Könntest du mir das etwas ausführlicher erläuteren, ich habe da irgendwie (noch) keinen Durchblick.....
cu
Microman
Zum besseren Verständis ich werde mal ein Beispiel erstellen und posten.
@ TroaX:
"Du könntest auch die Preference-Library von PB verwenden. Die erstellt astreine Konfigurations-Dateien."
Könntest du mir das etwas ausführlicher erläuteren, ich habe da irgendwie (noch) keinen Durchblick.....
cu
Microman
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Hallo TroaX,
ich habe den Gedanken mit der Zeichenkodierung von dir weiter verfolgt:
Es muss an der Zeichenkodierung liegen.
Ich habe mir mal ein kleines Prog gebaut und damit mittels CreateFile und WriteStringN die benötigte Parameterdatei erzeugen lassen.
Diese habe ich dann in meinem Programm mit ReadFile(#Datei, Dateiname$) und ReadString(#Datei [, Flags]) in gewohnter Weise wieder eingelesen. Siehe da:
es funktioniert wie gewollt; ich kann beliebige Laufwerke und Pfade erzeugen und in meinem Programm weiterverarbeiten.
Ich habe zwar noch nicht das Abspeichern in anderen Formaten (Unicode) mit Erfolg hinbekommen, aber das wird auch noch.....
Erstmal Danke für den richtigen Tip !!!
Microman
ich habe den Gedanken mit der Zeichenkodierung von dir weiter verfolgt:
Es muss an der Zeichenkodierung liegen.
Ich habe mir mal ein kleines Prog gebaut und damit mittels CreateFile und WriteStringN die benötigte Parameterdatei erzeugen lassen.
Diese habe ich dann in meinem Programm mit ReadFile(#Datei, Dateiname$) und ReadString(#Datei [, Flags]) in gewohnter Weise wieder eingelesen. Siehe da:
es funktioniert wie gewollt; ich kann beliebige Laufwerke und Pfade erzeugen und in meinem Programm weiterverarbeiten.
Ich habe zwar noch nicht das Abspeichern in anderen Formaten (Unicode) mit Erfolg hinbekommen, aber das wird auch noch.....
Erstmal Danke für den richtigen Tip !!!
Microman
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Hää? Verstehe ich jetzt gerade gar nicht. Du hast dir ein Programm geschrieben, das dir die Konfig erzeugt. Dann kannst du mit der Datei in allen Programmen arbeiten. Wenn du nun aber die Konfig selbst mit einem Editor schreibst, dann geht das nicht? Also kommt die Datei auch nicht aus dem Programm? Oder wie meinste das jetzt?
Dann ist ja klar, das die Kodierung da eine Rolle spielt. Du kannst aber in den meisten Editoren die Kodierung einstellen.
Bei Notepad++ zum Beispiel unter Kodierung oben in der Menüleiste. Setzte mal auf UTF8. Wenn schon was drinne steht in der Datei nimmst du Konvertiere zu UTF8.
Dann ist ja klar, das die Kodierung da eine Rolle spielt. Du kannst aber in den meisten Editoren die Kodierung einstellen.
Bei Notepad++ zum Beispiel unter Kodierung oben in der Menüleiste. Setzte mal auf UTF8. Wenn schon was drinne steht in der Datei nimmst du Konvertiere zu UTF8.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
@TroaX
Also: ich schreibe eine Software für ein Labormessgerät aus dem elektronischen Bereich. Diese Software kann mit ca. 20 Parametern eingestellt werden. Dazu habe ich mit Hilfe des Editors aus dem TotalCommander eine Parameter.dat erstellt; in dieser sind Messbereiche, maximale Messwertgrössen, Speicherpfade, usw hinterlegt. Jetzt kommts:
Alle Parameter, die irgendwelche Zahlenwerte beinhalten, kann ich problemlos mit 'ReadString' auslesen und weiterverarbeiten, kein Problem.
Jedoch diejenigen Parameter, die Laufwerksangaben (zB. "D:\"), Pfadangaben(zB."Messdatenverzeichnis\") oder Com-Port Angaben (zB. "Com1") enthalten, werden zwar korrekt ausgelesen, ich kann sie aber nicht zum Weiterverarbeiten,
zB. im Befehl: 'CreateDirectory() benutzen !!
Schaue ich mir die eingelesenen Daten mittels Debug an, werden diese Parameter aber korrekt angezeigt !!!
Jetzt habe ich einfach ein einfaches Prog geschrieben, mit dem ich die Parameter-Zeilen, die in der 'Parameter.dat' stehen sollen,
mittels 'CreateFile' und 'WriteString' erstellen lasse.
Die so entstandene 'Parameter.dat' funzt einwandfrei, auch die Laufwerks- und Pfadangaben. Schaue ich mir meine, mit einem Editor erstellte und die, vom Prog erstellte Parameterdatei an, sehe ich KEINEN Unterschied !! Optisch absolut Gleich, nur die Dateigrösse unterscheidet sich beachtlich.
Daher auch meine Annahme, das du mir gestern schon den richtigen Tip mit UTF-8, oder dergleichen gegeben hast.
Ich habe heute Abend mal mit den verschiedensten Editoreinstellungen probiert, bekomme aber immer das gleiche Ergebnis:
Es funzt nicht, alle Parameter mit Pfadangaben, Laufwerksangaben und ComPortangaben werden beim Einlesen mit ReadString korrekt angezeigt; ich kann sie aber NICHT weiter verwenden!!!
Nehme ich zB. die Variable 'Speicherpfad', in die ich einen Verzeichnispfad geladen habe und lasse sie mit Debug anzeigen, wird der eingelesene Pfad korrekt angezeigt. Benutze ich diese Variable dann mit dem Befehl 'ergebnis=CreateDirectory (SpeicherPfad)', wird der Befehl nicht ausgeführt und eine 'Null' zurückgegeben --> Befehl nicht erfolgreich ausgeführt.
Parametriere ich aber von Hand die Variable zB. Speicherpfad = "Messdaten\" , wird 'createDirectory' erfolgreich ausgeführt.
Ich werde also wohl ein kleines Prog schreiben, mit dem ich die 'Parameter.dat' grafisch editieren und speichern kann; macht ja auch einen besseren Eindruck.
PS. Du schreibst vom NotePad++ ; ich habe es auch vorhin noch mit dem Crimson-Editor versucht, funzt aber auch nicht......
werde es aber aber Morgen nochmal mit Notepad++ versuchen
cu
Microman
Also: ich schreibe eine Software für ein Labormessgerät aus dem elektronischen Bereich. Diese Software kann mit ca. 20 Parametern eingestellt werden. Dazu habe ich mit Hilfe des Editors aus dem TotalCommander eine Parameter.dat erstellt; in dieser sind Messbereiche, maximale Messwertgrössen, Speicherpfade, usw hinterlegt. Jetzt kommts:
Alle Parameter, die irgendwelche Zahlenwerte beinhalten, kann ich problemlos mit 'ReadString' auslesen und weiterverarbeiten, kein Problem.
Jedoch diejenigen Parameter, die Laufwerksangaben (zB. "D:\"), Pfadangaben(zB."Messdatenverzeichnis\") oder Com-Port Angaben (zB. "Com1") enthalten, werden zwar korrekt ausgelesen, ich kann sie aber nicht zum Weiterverarbeiten,
zB. im Befehl: 'CreateDirectory() benutzen !!
Schaue ich mir die eingelesenen Daten mittels Debug an, werden diese Parameter aber korrekt angezeigt !!!
Jetzt habe ich einfach ein einfaches Prog geschrieben, mit dem ich die Parameter-Zeilen, die in der 'Parameter.dat' stehen sollen,
mittels 'CreateFile' und 'WriteString' erstellen lasse.
Die so entstandene 'Parameter.dat' funzt einwandfrei, auch die Laufwerks- und Pfadangaben. Schaue ich mir meine, mit einem Editor erstellte und die, vom Prog erstellte Parameterdatei an, sehe ich KEINEN Unterschied !! Optisch absolut Gleich, nur die Dateigrösse unterscheidet sich beachtlich.
Daher auch meine Annahme, das du mir gestern schon den richtigen Tip mit UTF-8, oder dergleichen gegeben hast.
Ich habe heute Abend mal mit den verschiedensten Editoreinstellungen probiert, bekomme aber immer das gleiche Ergebnis:
Es funzt nicht, alle Parameter mit Pfadangaben, Laufwerksangaben und ComPortangaben werden beim Einlesen mit ReadString korrekt angezeigt; ich kann sie aber NICHT weiter verwenden!!!
Nehme ich zB. die Variable 'Speicherpfad', in die ich einen Verzeichnispfad geladen habe und lasse sie mit Debug anzeigen, wird der eingelesene Pfad korrekt angezeigt. Benutze ich diese Variable dann mit dem Befehl 'ergebnis=CreateDirectory (SpeicherPfad)', wird der Befehl nicht ausgeführt und eine 'Null' zurückgegeben --> Befehl nicht erfolgreich ausgeführt.
Parametriere ich aber von Hand die Variable zB. Speicherpfad = "Messdaten\" , wird 'createDirectory' erfolgreich ausgeführt.
Ich werde also wohl ein kleines Prog schreiben, mit dem ich die 'Parameter.dat' grafisch editieren und speichern kann; macht ja auch einen besseren Eindruck.
PS. Du schreibst vom NotePad++ ; ich habe es auch vorhin noch mit dem Crimson-Editor versucht, funzt aber auch nicht......
werde es aber aber Morgen nochmal mit Notepad++ versuchen
cu
Microman
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Ahhhhh jetzt verstehe ich auch das Problem 
Notepad++ ist vor allem in der Lage, UTF8 mit und ohne BOM sogar konvertieren kann. Versuch einfach mal die Datei in NP++ zu öffnen unde die Datei in UTF-8 MIT BOM zu konvertieren. Denn wenn du keinen Unterschied in der Anzeige sieht, wird die Datei wohl von PB mit BOM geschrieben werden. Denn dank Byte Order Mark zeigen die Editoren den Text immernoch identisch an. Die Zeichen sind aber trotzdem anders kodiert. Also entweder mit oder ohne BOM. Aber ich vermute mal eher mit BOM.
Greetz
TroaX

Notepad++ ist vor allem in der Lage, UTF8 mit und ohne BOM sogar konvertieren kann. Versuch einfach mal die Datei in NP++ zu öffnen unde die Datei in UTF-8 MIT BOM zu konvertieren. Denn wenn du keinen Unterschied in der Anzeige sieht, wird die Datei wohl von PB mit BOM geschrieben werden. Denn dank Byte Order Mark zeigen die Editoren den Text immernoch identisch an. Die Zeichen sind aber trotzdem anders kodiert. Also entweder mit oder ohne BOM. Aber ich vermute mal eher mit BOM.
Greetz
TroaX
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
Hallo TroaX,
ich habe heute Morgen Notepad++ installiert und einen neuen Versuch gewagt.
Es funktioniert mit UTF-8.
Alles so, wie ich es will !!!
Danke nochmal für deine Bemühungen
cu
Microman
ich habe heute Morgen Notepad++ installiert und einen neuen Versuch gewagt.
Es funktioniert mit UTF-8.
Alles so, wie ich es will !!!
Danke nochmal für deine Bemühungen
cu
Microman
Re: Problem bei Pfadangabe mittels Konfigurationsdatei
ich irgendwie nicht. Das Problem scheint mir hausgemacht.TroaX hat geschrieben:Ahhhhh jetzt verstehe ich auch das Problem
@Microman: Wieso nutzt Du nicht die Preference-Library?
Grüße ... Kiffi
a²+b²=mc²