Bilderlisten löschen (virtuelle)

Bilderlisten 1

saumsockel

Mitglied
Dabei seit
11.01.05
Beiträge
94
Standort
Viersen
#1
Hallo !

Ich sortiere meine Urlaubsfoto´s vor dem Bearbeiten in Bilderlisten, um einen besseren Überblick zu den entsprechenden "Themen" zu behalten. Jetzt habe ich bemerkt, dass noch alte Bilderlisten da sind........
Meine Fragen dazu :
1. Kann ich für die Bilderliste vorher eine übergeordnete (Themen)Liste anlegen, um nachher alle nicht mehr benötigten Listen insgesamt zu löschen, und nicht einzeln über den Dialog "Bilderliste-Eintrag entfernen".
2. Gibt es einen anderen Weg meine Arbeitsschritte zu vereinfachen?

Vielen Dank im voraus
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.492
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#2
AW: Bilderlisten

Kann ich für die Bilderliste vorher eine übergeordnete (Themen)Liste anlegen, um nachher alle nicht mehr benötigten Listen insgesamt zu löschen, und nicht einzeln über den Dialog "Bilderliste-Eintrag entfernen".
Nein, geht nicht. Für die Bilderlisten ist (noch?) keine Hierarchiestruktur möglich.

Gruß
Alfred
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#3
AW: Bilderlisten

Ich verwende folgendes zum "Aufräumen"
Folgendes als BListBereinigen.jsim Scriptverzeichnis ablegen, Autokonfiguration laufen lassen.

Das Script entfernt dir leere Bilderlisten.
Leer meint, Listen die nur Einträge enthalten die auf Bilder verweisen die es jetzt nicht mehr gibt.


Code:
//FFSubmenu=Bilderlisten
//FFName=Bereinigen
//FFPath=BListBereinigen.js

/*********************************************************
' BListBereinigen.js  v1.0
' (C) Heinz Höfling 24.4.2007
' Email: fixfoto@gmx.de
'
' ablauffähig ab Fixfoto V2.80
' Fixfoto: http://www.j-k-s.com
'
' Dieses Script entfernt alle leeren virtuellen Bilderlisten
'*********************************************************/

 var r=0;
 var anzbl=0;
 var leerbl=0;

 r=FF_MessageBox("Sollen die leeren virtuellen\r\nBilderlisten entfernt werden?",32+4);
 if(r==6 )
  {
   var s;
   var ss = FF_IListGetLists().split("\r\n");
   for ( s in ss) 
   { 
    anzbl++;
    FF_IListUpdate(ss[s]);  // Liste aktualisieren lassen
    if( FF_IListGetCount(ss[s]) == 0 )  // leer?
     { 
      leerbl++;
      FF_IListDelete(ss[s]);
     } 
   }
  if (leerbl==0)
     FF_MessageBox("Es sind keine leeren Bilderlisten vorhanden",64);
  else 
     FF_MessageBox("Es wurden "+leerbl+" leere\n\rvon "+anzbl+" Bilderlisten gelöscht",64);
 }
 

guenter_w

Mitglied
Dabei seit
27.06.02
Beiträge
5.667
Standort
Talheim
Trophäen
ja
#4
AW: Bilderlisten

Hallo Heinz!

Da hast du ja was angerichtet! Aber wenn du schon den kleinen Finger reichst, ergreife ich doch schnell die ganze Hand:

Kannst du das Skript über Micha hochladen und ggf. modifizieren, dass man einerseits leere, andererseits auch andere virtuelle Bilderlisten in einem Rutsch löschen kann? Da ich ziemlich häufig mit virtuellen Bilderlisten arbeite, ärgert mich das Einzellöschen von nicht mehr benötigten schon lange...

Nix für ungut - aber schön wär's schon!

Gruß

Günter

PS: Wir haben doch die Apfelschorlewährung...
 

MarcoS

Mitglied
Dabei seit
09.08.02
Beiträge
564
Standort
24598 Boostedt
#5
AW: Bilderlisten

Hallo Heinz,

ich kann Günter nur zustimmen. Gibt es eigentlich eine Datumskennung, die den Erstellungszeitpunkt einer Bilderliste kennt? Danach löschen zu können wäre auch richtig prima. Oder nach einem einzugebenden Teil-String...

Laut Denken darf man ja mal ;)

Gruß Marco
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#6
AW: Bilderlisten

Hallo,

Datum gibt es nicht.
Wer wissen will, was alles gespeichert wird, sollte im Datenpfad die FixFotoImageList.ini anschauen.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#7
AW: Bilderlisten

:cool:

Also das Script arbeitet NUR mit Virtuellen Listen.
Also diejenigen die nur aus einer Aufzählung von Dateinamen bestehen,.
"Echte" Verzeichnislisten (also echte Datenverzeichnisse auf der Festplatte)
werden von mir nicht angetastet.

Die leeren lassen sich erkennen...... :D
aber die die du zusätzlich gelöscht haben möchtest, woran soll man die erkennen? :eek:
 

guenter_w

Mitglied
Dabei seit
27.06.02
Beiträge
5.667
Standort
Talheim
Trophäen
ja
#8
AW: Bilderlisten

...aber die die du zusätzlich gelöscht haben möchtest, woran soll man die erkennen?
Ganz einfach - alle haben ja -zwangsläufig - Namen.

Ich will ja auch nur die überflüssigen virtuellen loswerden. Das ist alle paar Wochen ein ewiges Gepfriemel derzeit! Über die anzahl der Apfelschorle können wir ja gerne diskutieren...;D

Gruß

Günter
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#9
AW: Bilderlisten

Also einen Dialog mit einer Liste der Listen, in der du Kreuzchen setzen oder anderweitig mehrere markieren kannst?

Das geht leider nicht mit Script-Mitteln. :(

Das ListView-Control hat keine "Mutliselect" Möglichkeit.
Es könnte also nur immer eine Bilderliste in der Namensliste ausgewählt
und gelöscht werden. Das ist dann nicht schneller als jetzt mit dem Kontextmenü.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#10
AW: Bilderlisten

Hallo Heinz,

zwei Listen. Übergabe per Doppelklick auf den Eintrag der Quellliste oder Button von einer Liste in die andere. Rest sind Array-Spielereien zum Listen vorhalten (Doppelpufferung).
Falls eine falsche Liste erwischt wurde: Doppelklick auf die Zielliste und/oder 2. Button schiebt das ganze wieder zurück.

Oder Button löscht markierten Eintrag in einer Liste. Ist die einfachere Variante ohne doppelten Boden. Liste muss nach jedem Löschvorgang natürlich neu aufgebaut werden und gleich eine neue Auswahl festgelegt werden. Mit HotKey auf dem Button gibt es Dauerfeuer und die ganzen Listen sind weg. (Hierbei wäre es einfacher, einfach die INI zu löschen.)

Sahnehäubchen wäre, wenn die Liste den Fokus nach dem Buttonklick zurückbekäme, damit man mit den Cursortasten die nächste Auswahl verschieben könnte.
Jetzt stört nur noch das Geflacker der Listbox bei vielen Einträgen.

Also gehen tut's. Ist halt die Frage, wie viel Zeit und Geduld man investieren will.

Nachtrag:
Ach ja: Combobox über dem Ganzen könnte festlegen, ob Verzeichnis-, Virtuelle-, FTP-Liste oder alle Listen angezeigen soll.
 
Zuletzt bearbeitet:

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#11
AW: Bilderlisten

Mit den zwei Listboxen hast du recht, das wäre eine Möglichkeit,

Nachtrag:
Ach ja: Combobox über dem Ganzen könnte festlegen, ob Verzeichnis-, Virtuelle-, FTP-Liste oder alle Listen angezeigen soll.
Korrekt, aber FF_IListDelete(VT_BSTR listname) gibt's nur für virtuelle Listen.
Die anderen müssten direkt in der INI Datei geändert werden und anschließend FF dazu überredet werden sie neu einzulesen (also Momentan ein FF Restart)

Nein, solange es die Löschfunktion nur für virtuelle Bilderlisten gibt, lösche ich nur diese.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#12
AW: Bilderlisten

Hallo Heinz,
es gibt für jeden Listentyp ein eigenes Interface.
Aber selbst wenn Du über INI gehst. Auch kein Problem! FF liest jedesmal die INI neu ein, wenn an der Bilderliste etwas getan wird. Bevor das Interface vollständig war, habe ich es nur so gemacht und es hat immer klaglos funktioniert. Einige Skripte habe ich nie umgeschrieben.

Die Namen holst Du mit:
FF_IPathGetLists und FF_IPathGetFolder
FF_IWebGetFolder

FF_IListDelete killt auch diese Einträge, wenn ich mich richtig erinnere. Bei den beiden Listen musst Du bzw. der Anwender allerdings entscheiden, ob Du die Bilder mit entsorgst, oder nur die Listen.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#13
AW: Bilderlisten

Ok,

nächste Version.....

Code:
//FFSubmenu=Bilderlisten
//FFName=Bereinigen
//FFPath=BListBereinigen.js

/*********************************************************
' BListBereinigen.js  v1.0
' (C) Heinz Höfling 18.8.2010
' Email: fixfoto@gmx.de
'
' ablauffähig ab Fixfoto V2.80
' Fixfoto: http://www.j-k-s.com
'
' Dieses Script entfernt virtuelle Bilderlisten
'*********************************************************/


var il = new Array();
var dl = new Array();

function RemoveA(was,worin)
{
  result=new Array();
  for( s in worin ) 
    {
     if ( worin[s] != was )
       result.push(worin[s]);
    }
  return result;
}

function Fillin(dlg,ilc,dlc)
 {

  FF_SetControl(dlg,ilc,""); 
  FF_SetControl(dlg,ilc,""); 
  for ( s in il) 
    FF_SetControl(dlg,ilc,il[s]); 
  FF_SetControl(dlg,dlc,""); 
  FF_SetControl(dlg,dlc,""); 
  for ( s in dl) 
    FF_SetControl(dlg,dlc,dl[s]); 
 }

function MainDialog()
{
//** Start Dialog Bilderlisten **
FF_AddDialog("Bilderlisten",262,127);
FF_AddControl("Bilderlisten","Zu löschende Bilderlisten","GROUP",131,3,128,104);
FF_AddControl("Bilderlisten","Vorhandene Bilderlisten (virtuelle)","GROUP",1,3,128,104);
FF_AddControl("Bilderlisten","iLists","LISTBOX",3,10,124,95);
FF_AddControl("Bilderlisten","iDelete","LISTBOX",132,10,125,95);
FF_AddControl("Bilderlisten",">>","BUTTON",95,109,33,11);
FF_AddControl("Bilderlisten","<<","BUTTON",132,109,33,11);
FF_AddControl("Bilderlisten","Löschen","BUTTON",188,109,70,12);
FF_AddControl("Bilderlisten","Leere >>","BUTTON",53,109,33,11);
FF_AddControl("Bilderlisten","Hilfe!","BUTTON",4,109,33,11);
//** End Dialog Bilderlisten **
var dlg="Bilderlisten";

 var r=""; 


  // Dialog initialiesieren

 il=FF_IListGetLists().split("\r\n");
 Fillin(dlg,"iLists","iDelete");

for(;;)
{
  r = FF_ShowDialog(dlg);
  if( (r=="CANCEL") ) break;
  
  switch(r)
  {
   case "Leere >>":     var delop=true;
                     while ( delop )
                     { 
                      delop=false;
                      for( s in il)
                      {
                        elem=il[s];
                         if( FF_IListGetCount(elem) == 0 )  // leer?
                         {
                            dl.push(elem);
                            il=RemoveA(elem,il);
                            delop=true;  // schleife neustarten da il nun eins weniger
                            break;
                         } // if
                      } // for 
                     }  // while 

                  Fillin(dlg,"iLists","iDelete");
   				  break;
   case ">>":
   case "iLists" : var elem=FF_GetControl(dlg,"iLists");
                   if(elem!="")
                    {
                     dl.push(elem);
                     il = RemoveA(elem,il);
                     Fillin(dlg,"iLists","iDelete");
                    } 
   				  break;
  case "<<":
  case "iDelete" : var elem=FF_GetControl(dlg,"iDelete");
                   if(elem!="")
                    {
                     il.push(elem);
                     dl = RemoveA(elem,dl);
                     Fillin(dlg,"iLists","iDelete");
                    } 
   				  break;
   case "Hilfe!": FF_MessageBox("Löschen von virtuellen Bilderlisten\n\n"+
                                "Mit den Knöpfen [<<] und [>>] oder durch Doppelklick in den Listen\n"+
                                "können die Einträge umgrupiert werden.\n"+
                                "[Leere >>] setzt die leeren Bilderlisten auf die Lösch-Seite\n"+
                                "[Löschen] löscht die Bilderlisten die in der rechten stehen",   
   							    64);
   				 break;
  }
 if( (r=="Löschen") ) break;
}

 FF_CloseDialog(dlg);
 if ( r == "Löschen" )
  { 
    if( dl.length > 0)
     {
       if( 6==FF_MessageBox("Sollen nun "+dl.length+" Bilderlisten gelöscht werden?",32+4) )
       {
        var bl=0;
        for( s in dl ) 
        { 
         bl++;
         FF_IListDelete(dl[s]);
        }  
        FF_MessageBox("Es wurden "+bl+" Bilderlisten gelöscht",64);
      }
    }  
  }
 return r;
} 

MainDialog();
Bitte ausprobieren.
Hier klappt es mit der 3.02B4
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#16
AW: Bilderlisten

ich würde die 3 Transfer-Schaltflächen zwischen die Listen setzen. Das wird auch anderweitig so gehandhabt.
Ja, aber dann wird der Dialog so breit.....
Ich denke das geht auch so.

Man könnte auch noch den "Füllstand" der Listen anzeigen.
Dann bräuchte man ein Listview mit Header und zwei Columns's
aber das haben wir ja leider auch nicht. :(
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#18
AW: Bilderlisten

Hallo Heinz,

schreib es doch einfach daneben. Einziger Nachteil: Du musst vor dem Ausführen den Listeneintrag wieder zerlegen.
Dann wäre nur noch zu überlegen, ob davor oder danach, wegen der Übersichtlichkeit. Aber einen Tod muss man immer sterben.

Nachtrag: Fehlt noch die Freischaltung eines Admins.
 
Zuletzt bearbeitet:

saumsockel

Mitglied
Dabei seit
11.01.05
Beiträge
94
Standort
Viersen
#19
AW: Bilderlisten

Hallo Ihr Helfer !

Mann, da hab ich was losgetreten. Ich wollte es mir vereinfachen, meine Bilderlisten zu löschen. Jetzt kommen Vorschläge , die ich nicht nachvollziehen kann. Lösungen, die mich von meinem kleinen Problem entfernen. Und Vorschläge (Script), die ich mit meinen beiden linken "Kompjuter" Händen, nicht umsetzen kann. Eine HowToDo Liste würde helfen, oder ich bleibe beim händischen löschen.

Erst einmal vielen Dank
 
Oben