Foro | | | | 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! |
| | | 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 [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 [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 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. |
| | | | |
| | 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~*
|
| | | | |
|
AnswerTopic-Options | 13.969 Views |
ThemeninformationenDieses Thema hat 11 subscriber: |