Autor |
Beitrag |
combie
Hält's aus hier
Beiträge: 8
|
Verfasst: So 31.07.05 22:40
Eigendlich ist meine Digitalkamera schuld. Die mühselige Dateiumbenennung mit dem Explorer ging mir schon beim ersten mal auf den Geist. Zu dem Zweck hab ich mir dann ein kleines Tool gebastelt.
Eine Beispiel Filter Funktion:
Delphi-Quelltext 1: 2: 3: 4:
| Function Filter(InString : String) : String; Begin Result := 'Davor_'+InString; end; |
diese Filterfunktion wird für jede Datei einmal aufgerufen.
Der Quell Code befindet sich mit im SetupPaket.
MultiUmbenner Hompage
Ja, ich weiß, es ist noch lange nicht perfekt.
Für Anregungen, Tipps und FilterScripte bin ich dankbar.
Moderiert von Tino: Topic aus Projekte (Freeware) verschoben am Mo 01.08.2005 um 07:50
*edit*
Wenn selbsterzeugte Scripte gespeichert werden, bleiben sie beim Uninstall erhalten.
Danksagung:
Für das Setup Tool: www.jrsoftware.org
Pascal Script: www.remobjects.com
Der Syntax Editor: synedit.sourceforge.net
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von combie am Fr 16.09.05 02:46, insgesamt 7-mal bearbeitet
|
|
retnyg
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Mo 01.08.05 03:47
ausgezeichnete idee mit dem eingebetteten pascal-script !
ich werde auf dein programm zurückkommen sobald ich bedarf an dateiumbenennung habe ...
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
Uwe Niepel
Hält's aus hier
Beiträge: 1
|
Verfasst: Mo 01.08.05 17:11
Titel: Einfach Super
Ich hab eine Sony Memory Stick für die Cybershot H1. Jetzt wollte ich ein paar Fotos vom PC auf den Stick speichern um dann mit der am Fernsehen angeschlossenen Kamara mir eine Dia Show anzuschauen. Leider hatte ich natürlich vorher die Dateien alle umbennant. Diese umbenannten Dateien kann aber wiederum die Sony nicht lesen. Dank des tollen Tools vom Uli ist mir es jetzt doch gelungen und alles klappt schnell und Super. Ein ganz großen Dank an Uli und wenn Du mal fragen zu fenstern hast dann helf ich Dir auch gerne weiter [url] www.fensterbaudueren.de[/url] Uwe
|
|
Tino
Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mo 01.08.05 23:10
Hallo combie und hier im Delphi-Forum.de!
Bitte beachte das "Wichtig" Topic in dieser Sparte. Besonders die beiden folgenden Punkte:
Zitat: | - Benutzt Du eine oder mehrere fremde Komponenten? Wenn ja dann postet bitte den Link zu der Homepage dieser Komponenten.
- Gib bitte einen direkten Downloadlink zu Deinem Programm bzw. Komponente an.
|
Bitte ergänze die fehlenden Informationen in deinem ersten Posting. Danke.
Gruß
Tino
|
|
combie
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 01.08.05 23:57
Titel: Erstes Posting editiert
Danke für die Grüße
|
|
Grishnak
Beiträge: 221
Windows XP Home
Delphi 7 PE, Delphi 2005 PE
|
Verfasst: Sa 10.09.05 01:46
Einen komfortablen kostenloses Mehrfach-Dateiumbenenner gibts auf LAB1.de und hört auf den tollen Namen JOE!
|
|
retnyg
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Fr 11.11.05 04:21
so, endlich hatte ich gelegenheit dein programm auszuprobieren
also erstens mal: einfach genial
hier mein skript (sollte das ' Kopie' von per droplet erstellten bmp's weglöschen)
Delphi-Quelltext 1: 2: 3: 4:
| Function Filter(InString : String) : String; Begin Result := copy(InString,1,7) + '.bmp'; end; |
das einzige, was noch verbesserungswürdig ist, ist dass immer alle dateien des verzeichnisses umbenannt werden.
hier sollte man einen filter setzen können, z.b. dass nur *.bmp verarbeitet werden.
hilfreich wäre vielleicht auch noch ein editfeld, in das man den pfad pasten kann, ohne rumklicken zu müssen.
evtl. auch noch ein anderes icon, dann ist das tool perfekt
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
combie
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 11.11.05 17:13
Zitat: | hier sollte man einen filter setzen können, z.b. dass nur *.bmp verarbeitet werden. |
------------
Das geht auch im FilterScript Wenn (InString = Result), dann wird keine Umbenennung vorgenommen. Aber die Anregung wird doch gern von mir gehöhrt. Die jetzigen Steuerelemente stammen aus win3.1, lieber wäre mir eine Explorer ähnliche Auswahlbox mit Baumstruktur,Multiselect und Sortierung. Das habe ich aber noch nicht so richtig hinbekommen.
Man möge mir gerne sagen, wo ich ein solches Tool finden kann...
|
|
retnyg
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Fr 11.11.05 17:40
combie hat folgendes geschrieben: | Zitat: | hier sollte man einen filter setzen können, z.b. dass nur *.bmp verarbeitet werden. | ------------
Das geht auch im FilterScript Wenn (InString = Result), dann wird keine Umbenennung vorgenommen. Aber die Anregung wird doch gern von mir gehöhrt. Die jetzigen Steuerelemente stammen aus win3.1, lieber wäre mir eine Explorer ähnliche Auswahlbox mit Baumstruktur,Multiselect und Sortierung. Das habe ich aber noch nicht so richtig hinbekommen.
Man möge mir gerne sagen, wo ich ein solches Tool finden kann... |
im reiter "beispiele" findest du die shelltreeview usw. komponenten, wahrscheinlich genau das was du brauchst.
ein zusätzliches edit-feld wäre trotzdem nicht schlecht, ich bin so ein mensch der nur mit STRG_C STRV_V arbeitet ^^
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
0xCC
Beiträge: 150
|
Verfasst: Sa 16.09.06 20:47
ich habe mir mal die mühe gemacht, die oberfläche des programmes zu verbessern, da ich es ansonsten für ausgezeichnet halte, und oft einsetze. ausserdem habe ich mir noch die freiheit genommen, das Programm als Version 2.0 zu betiteln.
ich hoffe, dass combie damit einverstanden ist...
hier noch ein alter quelltext-schnipsel von mir, der für replace-funktionen im filterscript genutzt werden kann (da auf die funktion stringreplace in den sysutils nicht zugegriffen werden kann)
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function strreplace(s,what, whit:string):string; var lastfound: integer; begin lastfound := 0; result := s; while pos(what, copy(result,lastfound+1,length(result))) > 0 do begin lastfound := lastfound + pos(what, copy(result,lastfound+1,length(result))); result := copy(result,1,lastfound-1) + whit + copy(result,lastfound + length(what),length(result)); lastfound := lastfound - (length(what)-length(whit)); end; end; |
ahja, so sieht die neue version aus:
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von 0xCC am Do 01.03.07 02:04, insgesamt 3-mal bearbeitet
|
|
combie
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 25.09.06 13:43
[quote] ich hoffe, dass combie damit einverstanden ist...[/quote]
Aber sicherlich!!
Es ist viel schöner so.
|
|
Marco D.
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Mo 25.09.06 19:58
@combie:
Hast du was mit dem Moderator aus dem PHP-Forum zu tun, der auch combie heißt?!?
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
combie
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 25.09.06 20:07
|
|
Marco D.
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Mo 25.09.06 20:36
combie hat folgendes geschrieben: | Jawoll!
Warum?? |
Nix warum, war mir nur sofort aufgefallen, dass ich den Namen schon mal gehört hatte.
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
haeuptling843
Hält's aus hier
Beiträge: 3
|
Verfasst: Di 20.02.07 01:34
Titel: Benutzerfreundlichkeit von OxCC Modifikationen
Hallo OxCC. Das Programm (was übrigends super ist, thx to combie ) ist zwar durch deine Modifikationen anschaulicher geworden, aber leider auch Benutzerunfreundlicher für Leute, die nicht alzu viele delphi kenntnisse haben. Könntest du nicht vielleicht einen Anfangsscript einfügen, denn man auch als Frischling modifizieren kann (so wie bei combie)? Das würde die Sache nämlich um einiges erleichtern.^^
Aber trotzdem very nice^^
|
|
0xCC
Beiträge: 150
|
Verfasst: Mi 28.02.07 14:46
habe deine wünsche berücksichtigt, und eine neue version hochgeladen (bei der auch ein paar fehler bei nichtvorhandesein eines pfades gefixt sind) --- siehe letztem BEITRAG !
es hat nun ausserdem zusätzlich zum treeview ein edit-feld, das sich wie der "Ausführen"-Dialog des explorers verhält.
man kann damit schnell zu gepasteten pfaden wechseln, wie retnyg es mal wünschte.
edit: noch nen bug gefixt, aktuell ist v2.1.0.3
|
|
0xCC
Beiträge: 150
|
Verfasst: Do 01.03.07 02:27
hi, habe noch einige stunden mit dem tool zugebracht und folgende neuerungen eingebaut:
built-in variables:
FileNumber: Number of the actual File.
built-in Functions:
Function StringReplace(const S, OldPattern, NewPattern: string; ReplaceAll: boolean; IgnoreCase : boolean):string;
Function StrRepl(const S, OldPattern, NewPattern: string):string; (same but both flags true)
Function StrRem(const S, RemovePattern: string):string; (remove a substrlng)
Function LeadingZero(const aNumber, digits : integer):string;
and most other delphi stringFunctions like copy.
ID3 Functions :
Function GetID3Track: string;
Function GetID3Artist: string;
Function GetID3Album: string;
Function GetID3Title: string;
Function GetID3Year: string;
demo-code der das arbeiten mit mp3s veranschaulicht:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| program Mp3EnumFilesAndReplaceUnderScores;
Function Filter(InString : String) : String; var id : string; Begin result := InString; id := GetID3Track; if lowercase(ExtractFileExt(InString)) <> '.mp3' then begin FileNumber := FileNumber - 1; exit; end; if id <> '' then begin
result := LeadingZero(strtoint(id),2) + ' - ' + GetID3Title + ExtractFileExt(InString); end else begin
result := strrepl(result,'_',' '); end; result := StrRem(result, 'Track '); end;
Begin End. |
|
|
Chatfix
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Do 01.03.07 08:40
Ich hab mir vorerst nur die EXE angeschaut und mir ist aufgefallen das das Fenster nicht zentriert startet. Bei mir ist es unten rechts in der Ecke.
Wenn ich Save-Script mache gibt es keine Dateitypen dich ich auswählen kann. Ist zwar nicht ganz so schlimm aber der Form halber sollte da was hin...
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
DonManfred
Beiträge: 148
Erhaltene Danke: 2
Windows 7
Delphi XE3 Pro + HTML5Builder
|
Verfasst: So 18.03.07 17:10
Titel: V2.3
Ich war so frei und habe die Version ein wenig verändert.
V2.3 18.3.2007
- neue Komponenten TFormSize, TFileListBoxEx, TDirectoryListBoxEx, TDriveComboBoxEx und TAdvDirectoryEdit. Alle von www.tmssoftware.com (sind in dem Archiv inkl 3rd Party mit dabei).
- Fenstergrösse und Position wird nun gespeichert
- das Fenster lässt sich nun auch auf einem erweitertem Desktop auf den anderen Monitor schieben, zwei weitere Beispiele. Das wurde bisher verhindert.
- Datei öffnen und speichern-Dialog jeweils mit Defaultextender pas belegt.
- Redesign; Siehe Snapshot
- Zwei neue Beispiele (OnlyMP3 und WebSave). Einmal um nur mp3-Dateien umzubenennen. WebSave filtert Umlaute und wandelt den Dateinamen in einen "Websicheren Namen".
[url= iDreamFactory.de/dow...MultiUmbenenner.png][/url]
Hoffe, das geht in Ordnung!?
|
|
DonManfred
Beiträge: 148
Erhaltene Danke: 2
Windows 7
Delphi XE3 Pro + HTML5Builder
|
Verfasst: So 18.03.07 19:10
Titel: v2.4
v2.4 18.3.2007
- Neue funktions bzw procedures
function ReadString(const Ident: string; Default: string): string; (Liest String aus ini-Datei)
function ReadInteger(const Ident: string; Default: Integer): Integer; (Liest Integer aus ini-Datei)
function ReadBool(const Ident: string; Default: boolean): boolean; (Liest Boolean aus ini-Datei)
procedure WriteString(const Ident: string; Default: string); (Schreibt String in ini-Datei)
procedure WriteInteger(const Ident: string; Default: Integer); (Schreibt Integer in ini-Datei)
procedure WriteBool(const Ident: string; Default: boolean); (Schreibt Boolean in ini-Datei)
Hier wird jeweils in die mu.ini in die Section UserVars geschrieben oder gelesen...
function increase(const x:integer): integer; (Integer hochzählen)
function decrease(const x:integer): integer; (Integer runterzählen)
- Neues Beispiel
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| Const Stellen = 5; Vorspann ='backup_';
Function Expand(nr,stellen :integer): String; begin result := inttostr(nr); while stellen > length(result) do result := '0'+result; end;
Function Filter(InStr : String) : String; Var fext,fname,fpath:string; s:integer; Begin if FileNumber = 1 then WriteInteger('Startcount', 0); fext:=LowerCase(ExtractFileExt(InStr)); fname:=Copy(ExtractFileName(InStr),0, Length(ExtractFileName(InStr))- Length(ExtractFileExt(InStr)) ); fpath:=ExtractFilePath(InStr); s:=increase(ReadInteger('Startcount', 1)); if LowerCase(fext)='.mp3' then begin Result := Vorspann+expand(s,stellen)+'_'+fname+fext; end else begin result:=InStr; end; WriteInteger('Startcount', s); End; |
Mirror für Setup mit Source inkl. allen 3rd Party Components 7,14mb
Einloggen, um Attachments anzusehen!
|
|
|