![]() |
Listview für Dateinamen
Hallo,
ich möchte Dateien (PDF, TIF, etc.) bestimmten Verträgen zuordnen, die sich in einem für den jeweiligen Vertrag vorgesehenen Ordner befinden. Die Dateiliste soll immer sichtbar sein. Sonst würde ich ja den OpenFileDialog nehmen. Es gibt als fertiges FileView ja nur diese Komponente von der 3.1 Palette. Das ist wohl so ein Überbleibsel aus der 16-bit-Zeit. Wer hat mal eine Empfehlung dafür? Eine Komponente von Drittanbietern möchte ich dafür nicht installieren. Gruß K.-D. |
AW: Listview für Dateinamen
Wenn es keine großen optischen Anforderungen gibt, kannst Du ja einen Standard-ListBox nehmen und mit
![]() |
AW: Listview für Dateinamen
denke ja. Wenn es mal mehrere Dateien sind, wäre sortieren ganz nett, Dateidatum, Dateigröße wäre ganz gut.
Man könnte auch ein Stringgrid nehmen. Bei einer Listbox oder Listview ist das mit mehreren Feldern wohl schlecht zu machen. |
AW: Listview für Dateinamen
Du kannst ja einmal einen Blick auf meinen
![]() |
AW: Listview für Dateinamen
Ich muß das nochmal aufgreifen. Vielleicht hat jemand noch eine andere Idee.
Es geht mit hauptsächlich um die Automatisierung von Schriftverkehr per Mail. Ich habe einen Dokumentversand mit diversen Textbausteinen in Delphi 10 implementiert. Damit ist ein vollatomatischer Versand möglich. Bei einem erheblichen Teil der Mails müssen Anhänge mit versand werden. Die Anhänge befinden sich derzeit in einem 7-zip-Container. Der Pfad zum jeweiligen Zip-Container steht in der Datenbank. Soweit ist das schon sehr komfortabel. Das Problem ist das Anhängen der Anlagen. Ich kopiere diese dann immer in ein temporäres Verzeichnis um sie an die Mail zu hängen. Das hat mit automatisch ja nichts zu tun. Daher hatte ich die Idee, die Anlagen statt im Zip-Container, in einem Ordner abzulegen. Dann ist das mit automatisch anhängen ja kein Problem. Die Alternative wäre eben, wenn man das mit dem Anhängen aus dem Zip-Container doch automatisieren könnte. Vieleicht hat jemand da eine Idee. K.-D. |
AW: Listview für Dateinamen
Nur eine Anregung: Ich habe etwas ähnliches für Labordaten gemacht, die jeweils einem Vorgang angehängt werden. Ich schreibe aber die Anhänge nicht in ein ZIP oder einen Ordner sondern in BLOB-Felder einer Firebird-Datenbank. Die Labordaten sind nicht so riesig (jeweils etwa 50kB) , es gibt nur etwa 2500 Vorgänge und pro Vorgang wohl höchstens zwischen 20 und 50 Labordatensätze. Das hat den Charme, dass in der zweigeteilten Ansicht (links Vorgänge, rechts Labordaten) nur ein bisschen SQL und Stream-Handling notwendig ist. Kein Zip, keine Probleme mit Vertraulichkeit und Schutz, keinen Ärger mit Verfügbarkeit und Verzeichnisproblemen. Und ein "Umzug" oder Datensicherung ist auch kein Problem...
Die Verträge könnte man ja ebenfalls in einer Tabelle speichern. |
AW: Listview für Dateinamen
Zitat:
Zitat:
Oder wo genau geht es nicht weiter? (Es gibt wohl auch irgendwelche 7zip-DLLs, die man aus Delphi heraus nutzen kann, wenn es denn unbedingt 7z als Format sein muss, aber das habe ich selber nie genutzt) |
AW: Listview für Dateinamen
Zitat:
Ich habe aber das komplette Sortiment an Dateien, die auch mit Doppelklick zu öffnen sein sollen (word, excel, pdf, tif, etc.). Das wird dann recht kompliziert und umständlich. K.-D. |
AW: Listview für Dateinamen
Zitat:
TZipFile finde ich nicht. Ist das ggf. in der Prof. nicht dabei? 7z habe ich nur wegen der Windows-Oberfläche genommen. Ansich ist das so vom Handling recht gut, bis auf das Anhängen an eine Mail. K.-D. |
AW: Listview für Dateinamen
Schau dir dies mal an:
MustangpeakCommonLibrary MustangpeakListView MustangpeakVirtualShell VirtualTreeView dazu noch die unit sevenzip aus der JCL, etwas Arbeit, fertig:) |
AW: Listview für Dateinamen
Zitat:
|
AW: Listview für Dateinamen
Liste der Anhänge anzeigen (Anzahl: 1)
Bezogen auf Deinen ersten Beitrag, meinst Du einfach eine komfortablere Auswahlmöglichkeit von Dateien, wie z.B in der Anlage dargestellt?
|
AW: Listview für Dateinamen
genau so könnte das aussehen. Ggf. könnte da noch eine Mehrfachauswahl sein, damit man gleichzeitig mehrere ausgewählte Dateien nehmen kann.
|
AW: Listview für Dateinamen
Zitat:
![]() |
AW: Listview für Dateinamen
Zitat:
|
AW: Listview für Dateinamen
Zitat:
Mehr Informationen hierzu gibt es hier: ![]() Ich bin gerade dabei die Seite wieder neu aufzubauen. Es sind also keine Komponenten, sondern Frames (bin mir nicht sicher, ob sich Dein Ausschluss der Lösungen von Drittherstellern nur auf Komponenten bezog oder generell, weil Du evtl. nur eine kostenlose Lösung wolltest). Ich persönlich habe auch eine gewisse Aversion gegen die Verwendung von Komponenten von Drittherstellern, da man bei jedem Delphi-Update die erst mal nicht nutzen kann. Das Problem stellt sich aber bei den Frames hier im Prinzip nicht, da sie wie eigene Projekt-Units behandelt werden und sich i.d.R. mit jeder neuen Delhpi-Version einfach kompilieren lassen. Ich hatte jedenfalls noch nie hier ein Problem. |
AW: Listview für Dateinamen
@kdf #8
Entschuldigung, dass ich den "toten Zweig" der Diskussion nochmal hochhole... ich war gestern nicht online Wenn Du die Dateien (Anhänge) nicht nur verschicken, sondern auch öffnen willst, müssen die entsprechenden Programme auf dem Rechner installiert (und in Windows registriert) sein. Du kannst die Auswahl also i.d.R. Windows überlassen: ShellExecute ist Dein Freund. Es gibt natürlich Fälle, die komplizierter sind, aber die hast Du bei den anderen Lösungen auch. Und die Steuerung der Listen inklusive Spezialfällen ist extrem einfach, weil Du immer nur mit Tabelleneinträge hast, für die es ja wunderbare Komponenten (auch mit Mehrfachauswahl) gibt. |
AW: Listview für Dateinamen
@kdf
Hier laufen anscheinend zwei Diskussionen überlappend, Zip und Liste. Was die Liste an Daten angeht, so kann das einfach gelöst werden. Man muss es nur machen. Was man nicht machen sollte ist die Informationen in der Komponente ListView speichern. Vielmehr sollte man eine Klasse für alle nötigen Informationen erstellen. Die Informationen dann in die Objekte packen, und diese mit dem Item binden. Die Informationen im Item, also für die Darstellung, kommen dann aus dem Objekt. So ist es am saubersten, und, auch wenn es sich kompliziert anhört, schnell zu realisieren. Noch besser ist mit TObjectList zu arbeiten. Auch hier eine Klasse für die Informationen (Dateiname, Größe, Icon, usw.). Das schöne an ObjectList ist, dass man sich nicht um das Freigeben der Objekte kümmern muss. Das macht TObjectList selbst. Klein wenig mehr Aufwand, aber man spart sich auch Aufwand. Und nun kommt der Clou. Die Informationen kann man in ListView virtuell darstellen. |
AW: Listview für Dateinamen
@billa
Das läuft bisher natürlich mit ShellExecute und sollte auch so bleiben. In Verbindung mit der Oberfläche von 7-Zip (7zFM) läuft das ansich sehr schön. Das sind nie mehr als 20 - 30 Dateien in einem Ordner/Archiv. Da stellt sich nur die Frage, ob man das Anhängen dieser Dateien an eine Mail vereinfachen kann. Die Mail wird mittels Textblock automatisch generiert. Es bleiben immer diese manuellen Schritte - Anlagen in einen TMP-Ordner kopieren und anhängen. Wenn die Anlagen in einem normalen Ordner stehen, geht das auch automatisch. Eine Liste wird natürlich immer benötigt. 7zFM stellt diese Liste aber bereits zur Verfügung. Ob nun 7z oder auch die Delphi-interne Zip-Lösung, die Anhänge müssen zunächst aus dem Archiv entpackt werden. @Alallart Als 2 Diskussionen sehe ich das nicht unbedingt. Eine Auswahl geht nicht ohne eine Liste. Bei dieser 7z-Oberfläche (7zFM) ist diese recht komfortable Liste bereits da. Bei Windows Ordner oder Delphi-Zip muß eine Liste gebaut werden. 7-Zip hat den Nachteil, dass das Programm fertig ist, der Programmierer nicht erreichbar ist. Zumindest sind meine Versuche ihn zu erreichen fehlgeschlagen. Wenn ich in diesen Container eine Datei schiebe, die dort schon existiert, wird die einfach ohne Rückfrage überschrieben. Eine Datei Rechnung.pdf überschreibt also eine vorhandene Rechnung.pdf ohne Rückfrage, obwohl etwas ganz anderes drin steht. Das kann nicht sein. Daher würde ich es vielleicht gern selbst bauen. Die Liste muß nichts können außer anzeigen und sortieren, eine Mehrfachauswahl zur Verfügung stellen. Es geht eigentlich nur um die Frage, welche Lösung ist besser zu automatisieren. Textbaustein für die Mail auswählen, Anhänge auswählen, an Outlook übergeben. Outlook Display, oder sofort senden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz