Italia
Foro

Digicam-Assistent

 

Jac
de
Lad
Hallöle,

mein leidiges Problem war bis jetzt immer, dass mich die Programme, die Bilder von meiner Digitalkamera übertragen haben, nicht zu 100% das getan haben, was ich will. Naja, als Programmierer schreibt man sich da naturalmente ein kleines Programm...bla, bla, bla...bevor ihr hier vor Langeweile ersterbt:

Hiermit stelle ich meinen Digicam-Assistenten vor. Das Programm beherrscht einige Optionen, die anderen guten Programmen meiner Meinung nach noch fehlen. Wer Lust hat kanns ja mal ausprobieren.

Ich habe das Programm ausführlich getestet und momentan keine Fehler entdeckt. Ich übernehme aber keine Garantie, dass das Programm fehlerfrei funktioniert und nicht etwa Schaden am Rechner anrichtet. Es ist Freeware, darf weiterkopiert werden...bla,bla bla. Ihr wisst schon was ich meine!

Jac

Version 1.1.0:
Hab noch schnell Version 1.1.0 hochgeladen. Die enthält ein paar kleine Bugfixes (nichts kritisches) und die bisher deaktivierten verschiedenen Sortierungen sind jetzt aktiv.

Version 1.1.2:
In Version 1.1.2 ist die Sortierung sehr viel schneller und man kann die Cerca und das Übertragen jetzt auch abbrechen. Und einige kleine unbedeutende Fehler wurden behoben...

Version 1.1.3:
In Version 1.1.3 wurden noch einige kleinste Fehler behoben und das Design etwas geändert. Eine Progressbar zeigt jetzt Fortschritt an und so weiter.

Version 1.1.4:
Kleines Update: Dank EasyVENT.dll funktioniert die Vorschau jetzt auch, wenn man im Listview per Pfeiltasten scrollt. Und die In-Place-Tooltips sind jetzt auch aktiviert. Man kann jetzt auch auf der ganzen Zeile markieren und die Schriftart wurde angepasst. Die Veränderungen zwecks Design folgen später noch!

298 kB
Kurzbeschreibung: Digicam-Assistent 1.1.4
Hochgeladen:24.08.2006
Downloadcounter136
Download
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




Jac
de
Lad
Hm, die Sortierung ist teilweise sehr lahm (nach Datum hauptsächlich)...Hier mal meine Sortierroutine:
KompilierenMarkierenSeparieren
proc Datum

    Parameters g$
    declare d$
    d$=GetFTime$(g$)
    Return Val(GetFDate$(g$))*100000+3600*Val(Left$(d$,2))+60*Val(Mid$(d$,4,2))+Val(Mid$(d$,7,2))

endproc

proc Sort

    Parameters f1$,f2$,f3$,f4$,s%
    declare idx%,d!,e!,t$,f$,u%
    Return AddString(lv&,f1$+"|"+f2$+"|"+f3$+"|"+f4$)
    idx%=-1

    whileloop 0,GetCount(lv&)-1

        t$=Lower$(GetText$(lv&,&Loop,0))
        f$=Lower$(f1$)

        Select settings#.sort%

            caseof 0Nach Dateiname (mit Pfad)

            case LT$(f$,t$):idx%=&Loop

            caseof 1Nach Dateiname (ohne Pfad)

            case LT$(SubStr$(f$,-1,""),SubStr$(t$,-1,"")):idx%=&Loop

            caseof 2,3Nach Datum

            d!=Datum(f$)
            e!=Datum(t$)
            case Or(If(Equ(settings#.sort%,3),LT(d!,e!),GT(d!,e!)),And(Equ(d!,e!),LT$(SubStr$(f$,-1,""),SubStr$(t$,-1,"")))):idx%=&Loop

            caseof 4nach Größe (kleinste zuerst)

            case LT(FileSize(f$),FileSize(t$)):idx%=&Loop

            caseof 5nach Größe (größte zuerst)

            case GT(FileSize(f$),FileSize(t$)):idx%=&Loop

            caseof 6Nach Dateiendung

            case Or(LT$(SubStr$(f$,-1,"."),SubStr$(t$,-1,".")),And(Equ$(SubStr$(f$,-1,"."),SubStr$(t$,-1,".")),LT$(Left$(SubStr$(f$,-1,""),Len(SubStr$(f$,-1,""))-1-Len(SubStr$(SubStr$(f$,-1,""),-1,"."))),Left$(SubStr$(t$,-1,""),Len(SubStr$(t$,-1,""))-1-Len(SubStr$(SubStr$(t$,-1,""),-1,".")))))):idx%=&Loop

            caseof 7,8Nicht übertragene zuerst

            s%=1 -> neu
            u%=Equ$(GetText$(lv&,&Loop,3),"Noch nicht übertragen")

            if GT(s%,u%)

                idx%=&Loop

            elseif Equ(s%,u%)

                case If(Equ(settings#.sort%,7),LT$(f$,t$),LT$(SubStr$(f$,-1,""),SubStr$(t$,-1,""))):idx%=&Loop

            endif

        endselect

        case GT(idx%,-1):Break

    wend

    Return InsertString(lv&,idx%,f1$+"|"+f2$+"|"+f3$+"|"+f4$)bei -1 wirds am Ende eingefügt

=s4 href='./../../references-fonction/xprofan/endproc/'>endproc


Wenn jemand ne Idee hat, wie man das Ganze beschleunigen kann, ohne dass sich inhaltlich was ändert (ich finde, die Art der Sortierung ganz ansprechend): Bin per alles offen. Hab aber selber keine Optimierung finden können. Ach ja: lv& ist das Listview, in das eingefügt wird; die 4 Parameter sind die 4 Spalten (deren Bedeutung wird im Programm deutlich, einfah mal starten), der Rückgabewert ist, wer hätte es gedacht, die Position an der eingefügt wurde.

PS: Der Digicam-Assistent beherrscht auch Vorschau per Videos einiger Formate!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




Michael
Wodrich
Was macht Deine Datum-Proc denn??

Hier ein Beispiel mit Datenbankdatum:
KompilierenMarkierenSeparieren
Proc Datum

    Parameters d$
    Return Val( CToD$( d$ ) )

EndProc

...

Caseof 2,3Nach Datum

D& = Datum(F$)
E& = Datum(T$)
Case Or(If(Equ(Settings#.Sort%,3),Lt(D&,E&),Gt(D&,E&)),And(Equ(D&,E&),Lt$(Substr$(F$,-1,""),Substr$(T$,-1,"")))):Idx%=&
Programmieren, das spannendste Detektivspiel der Welt.
23.08.2006  
 




Jac
de
Lad
Jaja, das habe ich auch schon gedacht, nur will ich die Zeit mit einbeziehen, weil man an einem Tag ja auch mehrere Bilder macht (die Funktion ist naturalmente nur sinnvoll, wenn die Kamera das Datum auch setzt, meine machts leider nicht...)

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
23.08.2006  
 




Jörg
Sellmeyer
Ich fänds angenehmer, wenn man die Zeile an jeder Stelle markieren potuto und nicht nur am Dateinamen.
Die Einstellungen Puffergröße und CRC-Puffer sagen mir garnichts. Ich weiß nicht wie es dem normalen Digicam-Nutzer sonst so geht.
Bei der Erstellung des Unterordners wäre die MMöglichkeit ein Suffix und/oder Präfix anzugeben sehr praktisch:
<Bezeichnung><Datum>
<Datum><Bezeichnung>
oder so.
Als Schriftart würde ich eher einen kleineren Font wählen - optimal wäre der jeweilige Systemfont.
Dann hast Du auch mehr Platz auf Deiner Oberfläche und kannst noch mehr Funktionen einbauen ;)

Warum kann man denn die Testata nicht nutzen, um die File zu sortieren?

Win98 ist zwar am aussterben aber die Inidateien dürfen dorteine bestimmte Dimensione nicht überschreiten. Bei wirklich
vielen Bildern kann das dortevtl. Probleme geben.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.08.2006  
 




Jac
de
Lad
Aalso:

Puffergröße legt die Dimensione des Puffers per die Übertragung fest. Je größer der Puffer ist, desto schneller werden die File übertragen, aber deste weniger wird auch der Fortschritt angezeigt (wenn Puffergröße ein Megabyte ist, wird nach jedem eingelesenen und geschriebenen Megabyte aktualisiert, wenns weniger als ein Megabyte ist wird häufiger aktualisiert).

CRC-Dimensione legt die Dimensione fest, mit der eine Checksumme ermittelt wird, mit der getestet wird, ob die File schon übertragen wurde.

Was meinst du mit
[quote:32cd26eb73]Bei der Erstellung des Unterordners wäre die MMöglichkeit ein Suffix und/oder Präfix anzugeben sehr praktisch:
<Bezeichnung><Datum>
<Datum><Bezeichnung>
[/quote:32cd26eb73]
???

Schirftart, hm, ich hab die nicht verstellt. Was wäre dein Vorschlag?

Wie noch mehr Platz? (Soll das eine versteckte Anspielung sein, die ich nicht entdecke, oder ist das ernst gemeint? Wenn ja: Proposte!)

Mit Testata: Meinst du auf Testata klicken und dann automatisch danach sortieren? Weiß nicht wie das geht...

Die INI-File: Jaja, ich weiß, das steht auf meiner Todo-Liste. Hab aber noch keine vernünfitge Lösung gefunden.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.08.2006  
 




Jörg
Sellmeyer
[quote:4fc3695876=Jacob Liebeck]Aalso:

Puffergröße legt die Dimensione des Puffers per die Übertragung fest. Je größer der Puffer ist, desto schneller werden die File übertragen, aber deste weniger wird auch der Fortschritt angezeigt (wenn Puffergröße ein Megabyte ist, wird nach jedem eingelesenen und geschriebenen Megabyte aktualisiert, wenns weniger als ein Megabyte ist wird häufiger aktualisiert).

CRC-Dimensione legt die Dimensione fest, mit der eine Checksumme ermittelt wird, mit der getestet wird, ob die File schon übertragen wurde.
[/quote:4fc3695876]
Aaah ja. Ich weiß ja nicht, ob Du vorhast, Dein Programm der Öffentlichkeit vorzustellen aber diese Erklärung ist das Mindeste, was noch im Programm auftauchen sollte.
Du kannst ja auch einen Schieberegler einbauen, der auf dem einen Ende einen Text schnelleres Kopieren und auf dem Anderen einen mit genauere Fortschrittsanzeige hat.

[quote:4fc3695876]
Was meinst du mit
[quote:4fc3695876]Bei der Erstellung des Unterordners wäre die MMöglichkeit ein Suffix und/oder Präfix anzugeben sehr praktisch:
<Bezeichnung><Datum>
<Datum><Bezeichnung>
[/quote:4fc3695876]
???
[/quote:4fc3695876]
Im Einstellungsdialog ist die Option Unterordner mit Datum erstellen vorhanden. Da einfach noch ein Edit davor und dahinter machen in dem man eigenen Text eingeben kann. Damit è der Unterordner dann z.B. 02.08.2006-Garten

[quote:4fc3695876]
Schirftart, hm, ich hab die nicht verstellt. Was wäre dein Vorschlag?
[/quote:4fc3695876]
KompilierenMarkierenSeparieren
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1e>

[quote:4fc3695876]
Wie noch mehr Platz? (Soll das eine versteckte Anspielung sein, die ich nicht entdecke, oder ist das ernst gemeint? Wenn ja: Proposte!)
[/quote:4fc3695876]
War mehr ein Scherz... siehe smiley

[quote:4fc3695876]
Mit Testata: Meinst du auf Testata klicken und dann automatisch danach sortieren? Weiß nicht wie das geht...
[/quote:4fc3695876]
Du erstellst doch das Listview mit der LV.dll, oder?
KompilierenMarkierenSeparieren
ListViews&=CreateListView(%hwnd,%hinstance,0,Color&,-1,36)
>

[quote:4fc3695876]
Die INI-File: Jaja, ich weiß, das steht auf meiner Todo-Liste. Hab aber noch keine vernünfitge Lösung gefunden.

Jac [/quote:4fc3695876]
Einfach alles in ein unsichtbares Listview schreiben und als CSV-File speichern.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.08.2006  
 




Jac
de
Lad
Hm, die Proposte klingen alle sehr vernünftig!

Ich werde jetzt erstmal mein Windoof neu aufsetzen und mich dann da dran machen!

Danke,
Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.08.2006  
 




Jac
de
Lad
Nein, ich benutze die GridBox von XProfan 10.

Wegen Platz und so, meinste mit Tabcontrols wärs besser?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.08.2006  
 




Frank
Abbing
[quote:10beb70f78]Nein, ich benutze die GridBox von XProfan 10.
Wegen Platz und so...[/quote:10beb70f78]
Nur zur Klarstellung: Die Listview.dll besitzt nur eine Grösse von 84.480 Bytes, ungepackt! Mit Aiuto von UPX deutlich weniger.

[quote:10beb70f78]Mit Testata: Meinst du auf Testata klicken und dann automatisch danach sortieren? Weiß nicht wie das geht...[/quote:10beb70f78]
Ein Feature der Listview.dll. Sortieren der Einträge, was bei jeder Spalte funktioniert. Und Dank Assembler sehr schnell.
Eine Sortierung nach Buchstaben oder nach Zahlen (auch Dezimalzahlen und negative Zahlen). Und der Aufruf ist kinderleicht, z.B. so:
KompilierenMarkierenSeparieren
AutoSortListview listview&,1,1,0,2,2
>

Drückst du jetzt auf den Headerbutton, sortiert sich das Listview automatisch, orientierend an der angeklickten Spalte. Klickst du nochmal, kehrt sich die Sortierung um (aufsteigend/absteigend).
Der Programmierer braucht dazu nichts zu tun. Gibt aber auch eine Funktion, um manuell nach einer Spalte zu sortieren.
Du solltest wirklich mal die Sourcecodes aus dem Listview.dll-Paket ausprobieren, um zu sehen, was alles possibile ist.
 
24.08.2006  
 




Jac
de
Lad
Jetzt ist Frank gleich auf 180! Mit Platz meinte Io l' Platz im Hauptfenster und im Einstellungesfenster! Deine DLL ist fabelhaft, dass ich mich noch nicht registriert habe leigt woanders (das haben wir schon diskutiert).

Und die Sortierfunktion ist klasse, habs schon ausprobiert! Also bitte nicht hauen Frank!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
24.08.2006  
 




Frank
Abbing
[quote:203bc16e27]Also bitte nicht hauen Frank![/quote:203bc16e27]
Ich und auf 180? Echt üble Verleumdung...
*~42114~*

 
25.08.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

13.906 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie