Auslesen der Position einer neu erzeugten .pdf Datei im Filesystem:
Als erstes ein kleiner Exkurs mit meinen Vermutungen / Beobachtungen zum Filesystem:
Wenn ich eine .pdf Datei erzeuge, wird sie im Ninox Filesystem eingefügt.
Die Postion bestimmt Ninox anhand des Dateinamens.
Füge ich eine Datei per Hand hinzu, so wird für mich eine Sortierung verwendet die ich nicht verstehe:
Beispiel.
Datei [2.jpg] wird hinzugefügt und erscheint korrekt in der folgenden Reihenfolge:
[1.jpg] - [2.jpg] - [MC-IL-V01.pdf] - [MC-IL-V02.pdf]
Das ist soweit alles logisch und korrekt.
Füge ich zu diesen Dateien nun die Datei [frame.png] hinzu dann wird die Datei als letztes angezeigt:
[1.jpg] - [2.jpg] - [MC-IL-V01.pdf] - [MC-IL-V02.pdf] - [frame.png]
Das ist nicht logisch weil die Datei gemäß Alphabet VOR den Dateien die mit dem Buschstaben "M" eingefügt werden müsste.
Korrekt wäre meiner Meinung nach aber die folgende Position:
[1.jpg] - [2.jpg] - [frame.png] - [MC-IL-V01.pdf] - [MC-IL-V02.pdf]
Ändere ich den Dateinamen auf [a.png] bleibt die Postition der Datei am Ende erhalten:
[1.jpg] - [2.jpg] - [MC-IL-V01.pdf] - [MC-IL-V02.pdf] - [a.png]
Ändere ich den Dateinamen aber auf [3.png] wird diese wieder logisch einsortiert:
[1.jpg] - [2.jpg] - [3.png] - [MC-IL-V01.pdf] - [MC-IL-V02.pdf]
Das ist mir im Grunde aber egal weil ich ja eigentlich auf etwas anderes hinaus wollte:
Die eigentliche Problematik die sich mir stellt ist:
Die Position der jeweiligen Datei kann man auslesen indem man sie per "Try & Error" ansteuert.
So ist die:
1. Position = 0
2. Position = 1 etc. etc.
Hier nun meine erste Frage:
Erzeuge ich über diese Funktion eine neue .pdf Datei:
importFile(this, printAndSaveRecord(this, myFormName), 'VAR-Doc-Name');
??? Wie kann ich die Postion "auslesen" an der sie gespeichert wurde ???
Ich könnte dann direkt nach der "Erzeugung" in einem separaten Reiter [Files] in einem großen Format anzeigen lassen:
Dazu benutze ich:
openRecord(this,Files)
Und auf dem Reiter [Files] kann ich dann mittels der Funktion die Datei in groß anzeigen lassen:
item(files(this), 'VAR-FileCounter')
(meine User sind zum Teil etwas "oldstyle" und benötigen deswegen soviel wie möglich Anwenderführung)
Leider schaffe ich es nicht die Position auszulesen und er Variablen 'VAR-FileCounter' zuzuordnen.
Ich habe ja den Filenamen im der Variablen myFormName gespeichert.
Das muss doch irgendwie möglich sein!
Kann mir jemand helfen:
a.) die Position der neu eingefügten Datei zu bestimmen.
Ich würde mich auch zusätzlich darüber freuen wenn jemand
b.) mich bezüglich der Sortierungsreihenfolge erhellen?
(Das ist eigentlich egal, interessiert mich aber)
Danke
Tomi
3 Antworten
-
Hallo Tomi,
ich bin mir nicht ganz sicher, ob ich das eigentliche Problem richtig verstanden habe:
Du möchtest eine Dokument-Datei mittels printAndSaveRecord() erzeugen, speichern und sofort wieder anzeigen?
Mein Lösungsansatz hierfür:
Ein Image-Field verwenden => hier: 'letztesDok' (ggf. verstecken)
Code zum Erzeugen des Dokument-Files:
letztesDok := importFile(this, printAndSaveRecord(this, myFormName), 'VAR-Doc-Name')
Auf die Karteikarte [Files] ein Funktionsfeld 'Letztes Dokument' mit dem Code
'Letztes Dokument' := letztesDok
openRecord(this,"Files")
=> sollte jetzt das Dokument anzeigen
-
Anmerkung zur Sortierung: Diese ist Case-Sensitiv. Es kommen also zuerst Großbuchstaben, dann Kleinbuchstaben
-
Hallo Tomi,
baue dir doch dein eigenes Filesystem. Lege eine Untertabelle "Files" an, und lasse für jedes erzeugte PDF darin einen Datensatz mit der Datei in einem Bildfeld erzeugen. Darin kannst Du dann noch weitere "Metadaten" ablegen wie Kategorien, Erstellungsdatum usw...
Content aside
- vor 10 MonatenZuletzt aktiv
- 3Antworten
- 63Ansichten
-
3
Folge bereits