Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe eine LV-Programm erstellt (LV 7.0), bei der alle Parameter in einem configuration file gespeichert sind.
Problem: Der Pfad des configuration files muss nicht im Programmcode fest vorgegeben werden,
sondern auch als parameter im configuration file aufrüfbar sein: Also ich möchte das config file path in der Konfigurationsdatei selbst speichern. Welche mögliche Lösungen sind dafür notwendig.
du kannst doch einen Filepath einfach in einen String umwandeln und dann als String in deinem config file speichern.
Was du jetzt natürlich irgendwie wissen musst, wo liegt dieser config-file in Relation zu deinem Programm. Soll er immer im selben Verzeichnis liegen? Oder relativ dazu in einem Unterverzeichnis? Dann nimmst du die Funktion "current vi path" und baust dir daraus den Pfad zu deinem config-file.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
du kannst doch einen Filepath einfach in einen String umwandeln und dann als String in deinem config file speichern.
Was du jetzt natürlich irgendwie wissen musst, wo liegt dieser config-file in Relation zu deinem Programm. Soll er immer im selben Verzeichnis liegen? Oder relativ dazu in einem Unterverzeichnis? Dann nimmst du die Funktion "current vi path" und baust dir daraus den Pfad zu deinem config-file.
MfG, Jens
Hallo und Danke erstmal für die Antwort,
ich habe es etwas so gebaut, aber es funktionniert nicht. Der config-file soll nicht immer im selben Verzeichnis liegen.
In meiner Konfigurationsdatei habe ich so initialisiert -> C:=Dokumente und EinstellungenofodjoEigene DateienLaser.ini
kannst du vielleicht deine Idee noch genaue formulieren bitte. Danke im vorraus
Irgendwie verstehe ich jetzt nicht mehr so ganz, was du willst.
Ich fass mal zusammen, was ich verstehe:
1. Du hast einen Ini-File.
2. In dem Ini-File stehen Datenpfade.
3. Der Pfad zu diesem Ini-File soll nicht im Programm codiert sein.
Jetzt kommen wir aber zum Problem:
- Woher weiss jetzt dein Programm, wo der Ini-File gespeichert ist?
- Soll der Benutzer in einem Dialog den File auswählen?
- Wo soll der ini-File (wenn es nur einen gibt) in Relation zur exe gespeichert sein. Dass er irgendwo im System liegt, ist ja schlecht möglich. Irgendwas musst du schon vorgeben, wie soll sonst das Programm was zusammenbasteln?
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:Irgendwie verstehe ich jetzt nicht mehr so ganz, was du willst.
Ich fass mal zusammen, was ich verstehe:
1. Du hast einen Ini-File.
2. In dem Ini-File stehen Datenpfade.
3. Der Pfad zu diesem Ini-File soll nicht im Programm codiert sein.
Jetzt kommen wir aber zum Problem:
- Woher weiss jetzt dein Programm, wo der Ini-File gespeichert ist?
- Soll der Benutzer in einem Dialog den File auswählen?
- Wo soll der ini-File (wenn es nur einen gibt) in Relation zur exe gespeichert sein. Dass er irgendwo im System liegt, ist ja schlecht möglich. Irgendwas musst du schon vorgeben, wie soll sonst das Programm was zusammenbasteln?
MfG, Jens
Deine Zusammenfassung ist genau was ich versuche zu erstellen:
1. Ich habe einen Ini-File
2.In dem Ini-File stehen Datenpfade
3.Der Pfad zu diesem Ini-File soll nicht im Programm codiert sein, "sondern muss auch im Ini-File stehen"--> aber warum will ich das?-->ich möchte damit folgendes erreichen:
Wenn ich zum beispiel meinem Pfad nicht mehr unter C:Dokumente und EinstellungenMixEigene DateienLaser.ini speichern möchte, gehe in meinem Ini-File ändere ich die name, also ich schreibe als neue Pfadname zum Beispiel: D:Monitor EinstellungenMultiNeulaser.ini dann soll der neuen Speicherort des Ini-File so heissen.
Das will ich eigentlich erreichen, aber geht wohl nicht? oder?...vielleicht muss einfach im meinem Front Panel einen Pfad Control implementieren so dass ich dort die Pfadänderung machen kann.
Also Jens G hat das ja schon deutlich gemacht: Irgendwie muss das Programm wissen, wo die Ini steht, sonst funktionieren alle relativ/dynamisch gebauten Pfade im Programm nicht!
Als Workaround wäre aber folgendes denkbar: Du baust dir eine Initialisierungsdatei, die du z.B. als "BasicIni.xyz" als Binärdatei abspeicherst. Diese Datei liegt immer direkt "neben" deiner eigentlichen Applikation und kann nur aus der Applikation heraus sinnvoll bearbeitet werden, weil nur du (d.h. dein Programm) den "Schlüssel" kennt, wie der Inhalt der BasicIni.xyz zu interpretieren ist. In dieser Datei - deren Pfad relativ zur Applikation hart codiert ist - steht nur eine einzige Angabe, nämlich der Pfad zur richtigen/eigentlichen Ini-Datei.
Wenn jemand die BasicIni-Datei löscht, blendest du bei Programmstart nen Dialog mit PathControl ein mit der Meldung "Ini-Datei nicht gefunden...bitte auswählen...blabla..." und speicherst dann diesen Pfad wieder in ne neue BasicIni-Datei.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' schrieb:Wenn ich zum beispiel meinem Pfad nicht mehr unter C:Dokumente und EinstellungenMixEigene DateienLaser.ini speichern möchte, gehe in meinem Ini-File ändere ich die name, also ich schreibe als neue Pfadname zum Beispiel: D:Monitor EinstellungenMultiNeulaser.ini dann soll der neuen Speicherort des Ini-File so heissen.
Das will ich eigentlich erreichen, aber geht wohl nicht? oder?...vielleicht muss einfach im meinem Front Panel einen Pfad Control implementieren so dass ich dort die Pfadänderung machen kann.
Irgendwie drehst du dich im Kreis:
Du willst in der Datei selber den Pfad zu dieser Datei abspeichern, aber nicht zulassen, dass das Programm/VI irgendwie intern davon weiss. Wie soll das gehen?
Die Lösung aus diesem Dilemma habe ich dir in meiner ersten Antwort schon angedeutet und Achim hat es gerade noch mal auf den Punkt gebracht.
Also, überdenke mal dein Konzept. Oder arbeite mit relativen Pfaden.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:Irgendwie drehst du dich im Kreis:
Du willst in der Datei selber den Pfad zu dieser Datei abspeichern, aber nicht zulassen, dass das Programm/VI irgendwie intern davon weiss. Wie soll das gehen?
Die Lösung aus diesem Dilemma habe ich dir in meiner ersten Antwort schon angedeutet und Achim hat es gerade noch mal auf den Punkt gebracht.
Also, überdenke mal dein Konzept. Oder arbeite mit relativen Pfaden.
MfG, Jens
habt Ihr vielleicht ein Screenshot,damit ich mir das ganze im bild darstellen kann.