AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) PDF-Datein nach Datenbankvorgabe verschieben
Thema durchsuchen
Ansicht
Themen-Optionen

PDF-Datein nach Datenbankvorgabe verschieben

Ein Thema von darky95 · begonnen am 22. Mai 2015 · letzter Beitrag vom 29. Mai 2015
Antwort Antwort
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 22. Mai 2015, 17:09
..
[klugscheiß]
Ich verschicke Email aus Oracle DB. Quasi mit Bordmitteln. Den Code dazu findet man im Internet.
Es ist auch m.E. gar nicht so unsinnig. Alle Daten die dabei entstehen bzw. benötigt werden, passen prima in eine DB und gehören da auch hin.
..
b) ist zum Glück bei uns abgeschaltet, was meinst Du wieviele Mails ich jede Woche aus der Queue kratze die irrtümlich versendet wurden?
..
b) Ist ja eher ein organisatorisches oder Schulungsproblem oder so? Welches Tool zum Mail verschicken verwendet wird, ist ja zweitrangig, wenn der Benutzer dabei pennt.

Vlt. sollte ich noch ergänzen, dass es nicht um hauseigene Emails geht, sondern eine Seriendruckerweiterung eines Kundensystems. Bei regulierten Worklows kann da eigentlich nichts schief gehen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#2

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 22. Mai 2015, 20:32
Also, wenn man so eine Frage in einem Delphiforum stellt, gehe ich davon aus, dass auch eine Lösung, oder vielmehr ein Lösungsansatz, in Delphi/Lazarus erwartet wird.
Ansonsten würde man die Frage ja in einem Forum passend zur verwendeten DB z.b. Oracleforum stellen.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 23. Mai 2015, 07:21
Ja, schon klar. Ich hab ja extra den [Klugsch..] Modus aktiviert. Ist nicht so wichtig und hilft dem TE sicher nicht.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 23. Mai 2015, 08:51
Wozu die Dateien verschieben? Ich kann jede Datei in einen beliebigen Ordner eines ZIP-Archivs packen.

Also können die Dateien da bleiben, wo die sind und erzeuge einfach das ZIP-Archiv. Das kommt an die Mail und raus damit.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (23. Mai 2015 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 23. Mai 2015, 12:06
Naja wie Jobo schon zart andeutete, ist eine Frage der Organisation und Ausbildung. Wenn man ein Verzeichnis für eine Zieladresse hat, ist für die meisten Menschen einfacher damit umzugehen. Und so wie der TE das Problem beschrieben hat, ist der Arbeitsablauf sehr menschlich.

Gruß
k-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 23. Mai 2015, 12:38
Hm. Nach dem Dateinamen in der DB suchen. Feld auslesen wohin und verschieben.

Code:
Dateiname | Ziel
a        | Verzeichnis A
b        | Verzeichnis B
c        | Verzeichnis C
So habe ich es verstanden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
darky95

Registriert seit: 7. Okt 2013
11 Beiträge
 
#7

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 28. Mai 2015, 06:03
Okay, habe mich vllt wirklich etwas blöd angestellt bei dem Erstellen des Themas.

Habe mir jetzt folgendes zusammengeschustert:

Code:
procedure TForm1.btnstartSortClick(Sender: TObject);
var i:Integer; fname, dirname : string;

begin
 
      for i:=1 to 248 do begin
      fname:= StringGrid.Cells[1,i];
      dirname:=StringGrid.Cells[2,i];

       if not DirectoryExists('C:\pdfbenannt\'+dirname+'\') then
              CreateDir('C:\pdfbenannt\'+dirname+'\') else
       if not FileExists('C:\pdfbenannt\'+fname+'.pdf') then break else
    end;
    showmessage('Schritt 1 fertig');

    for i:=1 to 248 do begin
      fname:= StringGrid.Cells[1,i];
      dirname:=StringGrid.Cells[2,i];

      renamefile('C:\pdfbenannt\'+dirname+'.pdf','C:\pdfbenannt\'+dirName+'\'+fname+'.pdf') ;
    end;
    showmessage('Schritt 2 fertig');
end;
Bis jetzt erstellt der Ablauf genau die richtigen Ordner, verfrachtet die Dateien jedoch nicht hinein. Kann mir jetzt jemand weiter helfen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#8

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 28. Mai 2015, 08:17
Wieso gibst du eigentlich DirectoryExists und CreateDir einen Pfad ("Path" mit abschließendem "\") und kein Verzeichnis ("Dir") ?

Wenn man das mal halbwegs irdentlich formatiert ... Warum wird das Break nur gemacht, wenn das Verzeichnis existierte, aber die Datei nicht?
Wenn das Verzeichnis nicht existiert, dann existiert die Datei doch auch nicht.
Delphi-Quellcode:
if not DirectoryExists('C:\pdfbenannt\'+dirname+'\') then
  CreateDir('C:\pdfbenannt\'+dirname+'\')
else
  if not FileExists('C:\pdfbenannt\'+fname+'.pdf') then
    Break
  else
    {nix};
Warum eigentlich zwei Schleifen und wieso nur in der Ersten das Break?
Wenn man jetzt eine Fehlerprüfung einfügt, würde einem das schön auf die Füsse fallen, da die Funktion natürlich den Fehler "Datei existiert nicht" wirft.

Tipp: Delphi-Referenz durchsuchenForceDirectories

verfrachtet die Dateien jedoch nicht hinein. Kann mir jetzt jemand weiter helfen?
Nee, aber warum fragst du RenameFile nicht? Das weiß doch das Warum und nennt es dir auch.

Delphi-Quellcode:
procedure TForm1.btnstartSortClick(Sender: TObject);
var
  i: Integer;
  fname, dirname: string;
begin
  for i := 1 to 248 do begin
    fname := StringGrid.Cells[1, i];
    dirname := StringGrid.Cells[2, i];
    if not FileExists('C:\pdfbenannt\'+fname+'.pdf') then
      Break; // oder Continue?
    ForceDirectories('C:\pdfbenannt\'+dirname);
    if not RenameFile('C:\pdfbenannt\'+dirname+'.pdf','C:\pdfbenannt\'+dirName+'\'+fname+'.pdf') then
      RaiseLastOSError;
  end;
  ShowMessage(fertig');
end;
Delphi-Referenz durchsuchenRaiseLastOSError oder Delphi-Referenz durchsuchenRaiseLastWin32Error (in alten Delphis), bzw. MSDN-Library durchsuchenGetLastError und Delphi-Referenz durchsuchenSysErrorMessage
oder Delphi-Referenz durchsuchenTDirectory.CreateDirectory + Delphi-Referenz durchsuchenTFile.Move (CreateDirectory = ForceDirectories).
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Mai 2015 um 08:20 Uhr)
  Mit Zitat antworten Zitat
darky95

Registriert seit: 7. Okt 2013
11 Beiträge
 
#9

AW: PDF-Datein nach Datenbankvorgabe verschieben

  Alt 28. Mai 2015, 11:09
Habe das StrigGrid nochmal überarbeitet. Der Code sieht jetzt so (übernommen) aus:

Code:
procedure TForm1.btnstartSortClick(Sender: TObject);
var i:Integer; fname, dirname : string;
begin

    for i := 1 to 248 do begin
     fname := StringGrid.Cells[0, i];
     dirname := StringGrid.Cells[1, i];
     if not FileExists('C:\pdfbenannt\'+fname+'.pdf') then
       Continue; // oder Continue?
     ForceDirectories('C:\pdfbenannt\'+dirname);
      if not RenameFile('C:\pdfbenannt\'+dirname+'.pdf','C:\pdfbenannt\'+dirName+'\'+fname+'.pdf') then
       RaiseLastOSError;
   end;
   ShowMessage('fertig');
Nur kann ich mit der Fehlermeldung nichts anfangen (Das System kann die Datei nicht finden - obwohl sie genau in dem Ordner liegt!)
Angehängte Grafiken
Dateityp: png error Code 2.PNG (18,6 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 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