Ich habe eine TCL UI mit ein paar Eingaben entwickelt, die vom Benutzer eingegeben werden müssen. Der erste Benutzer wird alle Dateien Pfad eingeben, aber dann wollte ich die benutzerdefinierten Einträge in einer Datei speichern und dann später laden. Speichern ist in Ordnung ... Ich denke, alle diese Variablen in einer Datei speichern, aber das Laden von einer Datei benötigt eine Zuordnung, wie es gemacht werden kann? Jedes Beispiel wird hilfreich sein SaveTCL Eingabe Eintrag in einer Datei und später laden
Antwort
Ich erreichte dies durch folgenden Code, obwohl nicht sehr optimiert. Zuerst speichere ich eine Eingabedatei mit Variablenwerten und lese sie dann in der gleichen Reihenfolge.
proc save_input_entries {} {
global ENTRYfilename ENTRYfilename2 ENTRYfilename3 ENTRYfilename4 ENTRYfilename5 ENTRYfilename6 ENTRYfilename7 ENTRYfilename8 ENTRYfilename9 ENTRYfilename10 ENTRYfilename11 ENTRYfilename12 ENTRYfilename13 ENTRYfilename14 ENTRYfilename15 ENTRYfilename16 ENTRYfilename17 topdir corner_dir corner_name
set filename Input_entries.txt
set fileId [open $filename "w"]
puts $fileId $ENTRYfilename
puts $fileId $ENTRYfilename3
puts $fileId $ENTRYfilename4
puts $fileId $ENTRYfilename5
puts $fileId $ENTRYfilename7
puts $fileId $ENTRYfilename8
puts $fileId $ENTRYfilename15
puts $fileId $ENTRYfilename14
puts $fileId $ENTRYfilename16
puts $fileId $ENTRYfilename17
close $fileId
}
proc load_input_entries {} {
global ENTRYfilename ENTRYfilename2 ENTRYfilename3 ENTRYfilename4 ENTRYfilename5 ENTRYfilename6 ENTRYfilename7 ENTRYfilename8 ENTRYfilename9 ENTRYfilename10 ENTRYfilename11 ENTRYfilename12 ENTRYfilename13 ENTRYfilename14 ENTRYfilename15 ENTRYfilename16 ENTRYfilename17
set fp [open Input_entries.txt]
set stuff [read $fp]
set lines [split $stuff "\n"]
set ENTRYfilename [lindex $lines 0]
set ENTRYfilename3 [lindex $lines 1]
set ENTRYfilename4 [lindex $lines 2]
set ENTRYfilename5 [lindex $lines 3]
set ENTRYfilename7 [lindex $lines 4]
set ENTRYfilename8 [lindex $lines 5]
set ENTRYfilename15 [lindex $lines 6]
set ENTRYfilename14 [lindex $lines 7]
set ENTRYfilename16 [lindex $lines 8]
set ENTRYfilename17 [lindex $lines 9]
}
Wenn Sie die Flexibilität haben, um das Format der Datei zu definieren, wo der Inhalt gespeichert wird, würde ich empfehlen, den Inhalt in einer Weise zu speichern, so dass das Lesen/Karten, um die Schlüssel zu schreiben und um unabhängig ist. Dadurch können Sie Ihre Benutzeroberfläche aktualisieren, um Eingabefelder hinzuzufügen oder zu löschen, ohne sich Gedanken über die Reihenfolge machen zu müssen, in der sie in der Datei erfasst wurden.
Zum Beispiel Dateiformat etwas dies sein könnte:
Top Directory: <value>
LEF File: <value>
.
.
.
Sie werden sorgfältig wählen müssen, um eine Trennlinie zwischen dem Schlüssel (Label) und dem Wert.
Wenn dies in TCL immer verwendet wird, können Sie es einfacher machen, indem Sie ein Array in einer Datei speichern. Dies wird auch schneller, wenn Sie die Datei laden, um die Einträge in der Benutzeroberfläche zu füllen. Beispielsweise könnte Ihr Dateiformat etwas davon sein:
set inputFields("Top Directory") <value>
set inputFields("LEF File") <value>
- 1. Laden einer Liste in separate Eingabe Widgets
- 2. Alle Benutzereingaben in einer Shiny App in Datei exportieren und später laden
- 3. jQuery später als Fenster laden
- 4. awk: Pattern-Substitution in einer Datei basierend auf einer Eingabe von einer anderen Datei
- 5. Fortschrittsbalken und Datei laden
- 6. CSV-Datei von einer Eingabe in Angular
- 7. oktave: Laden vieler Funktionen aus einer Datei
- 8. Eintrag Textdatei durch jQuery Ajax in PHP und laden Sie die Antwort
- 9. muss den Inhalt der Tabellenansicht als TXT-Datei speichern und später neu laden
- 10. RuntimeException: Eingabe beim Laden einer Seite in AEM nicht
- 11. Was bedeutet "StartupWMMClass" -Eintrag aus einer .desktop-Datei in Ubuntu?
- 12. Laden einer AAC/MP3-Datei "manuell"
- 13. So erstellen, laden und löschen Sie Datei in einer Anfrage
- 14. Laden und Rendern einer ASPX-Datei in einem Serversteuerelement
- 15. Laufende Ameise aus einer Batch-Datei: Später Befehle laufen nicht
- 16. Laden einer JSON-Datei Javascript
- 17. Variable speichern und später abrufen
- 18. Jade Laden einer JSON-Datei und Zuweisen einer Variablen
- 19. Laden einer NIB-Datei in einen UIViewController
- 20. Eingabe mit einer Datei vergleichen und die Reihenfolge beachten
- 21. Laden einer Datei in einen Clob
- 22. Unterpläne erzeugen und später in MATLAB zu einer Figur zusammenfügen
- 23. Knoten - Laden einer JSON-Datei in Code
- 24. VBA zu lesen Eingabe aus einer Datei
- 25. Laden einer PowerShell-Hashtabelle aus einer Datei?
- 26. Unterschied zwischen Ajax-Datei laden und Datei laden?
- 27. bash Eingabe eingeben und Datei auswählen
- 28. eine Liste der Wörterbücher als Eingabe aus einer Datei unter
- 29. Eingabedaten in eine Datei speichern und aus der Datei laden
- 30. Knoten JS Laden js & CSS-Datei in einer Datei ejs
Fügen Sie ein Beispiel des Codes hinzu, den Sie zum Speichern der Variablen verwenden. –