Zurück   PixAndMore - Support Forum > Programmierung > Pascal

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.03.2010
Benutzerbild von moguay
moguay moguay ist offline
Administrator
Admin
Guru
Registriert seit: 10.2006
Ort: Halle (Saale)
Beiträge: 512
moguay befindet sich auf einem aufstrebenden Ast
Standard Automatisch erzeugte Filme mit den entsprechenden Verzeichnisnamen versehen

Die Nutzung erfolgt auf eigene Gefahr! Bitte eure Produktiv-Datenbanken SICHERN bevor Ihr diese Aktion nutzt.
Bei mir (Imabas 7.3 auf MySQL 5.1.45) läuft diese Aktion nach meinen Wünschen. Aber ich kann keine Garantie für jede beliebige Imabaskonfiguration und -Version übernehmen. Falls jemand diese Funktion ausprobiert, wäre ich an einem Feedback interessiert.

28.03.2010 Korrektur eines Bugs: das SQL-Update der Filmbezeichnung wird jetzt auf 50 Zeichen beschränkt, sonst kommts zumindest unter MySQL zu einem SQL-Fehler und Imabas hängt...

Beschreibung: Diese Aktion benennt die beim Importieren automatisch erzeugten Filme um. Wenn Verzeichnisse aus dem Windows-Explorer z.B. per Drag&Drop auf ein passendes Volume im Imabas-Explorer gezogen und importiert werden, legt Imabas für jedes Verzeichnis einen Film mit der Bezeichnung "Automatisch erzeugt - TT.MM.JJJJ" an. Da bei mir diese Filme gleich in einer bestimmten Filmgruppe landen, ist ein Aufruf über diese Filmgruppe für meinen Workflow am sinnvollsten. Diese Aktion verwendet die Funktion getMostUsedParentDirFromFilmImages die den entsprechenden Verzeichnisnamen zurückliefert.
Nach dem Aufruf wird ein Dialog angezeigt, der die umbenannten Filme auflistet.
Ein Refresh des Filmgruppenknotens ist danach erforderlich, um die geänderten Filmbezeichnungen zu sehen!

Abhängigkeiten: Funktion getMostUsedParentDirFromFilmImages
Einsprungspunkt: Filmgruppe

Code:
function PerformAction(ObjectKey: String): Boolean;
var
   film : TIFilm;
   films: TICollection;
   filmGroup : TIFilmGroup;
   newName,caption,prefix,info,info2 : String;
   query : TIQuery;
   i : Integer;

begin
   filmGroup := TIFilmGroup.Create;
   if filmGroup.Load(ObjectKey) then begin
      films := filmGroup.Films;
      info := '';
      info2 := '';
      ProgressWindow( films.Count );
      for i := 0 to films.Count-1 do begin
         caption := TIFilm(films[i]).Caption;
         prefix := 'Automatisch erzeugt - ';
         if Copy(caption,1,Length(prefix)) = prefix then begin
            newName := getMostUsedParentDirFromFilmImages(TIFilm(films[i]).Key);
            if Length(newName)>0 then begin
               query := TIQuery.Create;
               query.SQL := Format(
                  'UPDATE filme SET caption=LEFT(''%s'',50) WHERE ukey=''%s''',
                  [newName,TIFilm(films[i]).Key]
               );
               query.ExecSQL;
               query.Free;
               info := Format(
                  '%s(%.4d) "%s"  in  "%s"%s',
                  [info,TIFilm(films[i]).Nummer,caption,newName,chr(10)]
               );
            end else begin
               info2 := Format(
                  '%s(%.4d) "%s"%s',
                  [info2,TIFilm(films[i]).Nummer,caption,chr(10)]
               );
            end;
         end;
         ProgressWindowStep;
      end;
      ProgressWindowHide;
      if Length(info)>0 then begin
         info := 'Folgende Filme wurden umbenannt:'+chr(10)+chr(10)+info;
         if Length(info2)>0 then begin
            info:=info+chr(10)+chr(10)+'für folgende Filme wurde kein Verzeichnisname gefunden:'+chr(10)+chr(10)+info2;
         end;
         Message(info);
      end else begin
         Message('Es wurden keine Filme mit dem Prefix '+chr(10)+''''+prefix+'...'' gefunden!');
      end;
      films.Free;
   end else begin
      Message('Die Filmgruppe konnte nicht geöffnet werden!');
   end;
   filmGroup.Free;
   Result := True;
end;
__________________
Grüße Holger

Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Volumes automatisch erzeugen jdk1111 Imabas Allgemein 8 09.12.2008 13:57
Volume absolut/relativ Filme automatisch KSCEIN3 Imabas Allgemein 19 21.04.2008 08:36
Sortierreihenfolge Filme Spinat Imabas Allgemein 7 02.04.2008 14:09
Volume für automatisch erstellte Filme zuweisen DrAntiForce Imabas im Netzwerk 12 18.01.2008 09:34
Attribute abhängig von Exif Daten automatisch zuordnen bernd! Imabas Allgemein 3 28.09.2006 07:24


Powered by vBulletin® Version 3.7.1 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.