Autor Beitrag
combie
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 31.07.05 21: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:
ausblenden 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 user profile iconTino: 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 01:46, insgesamt 7-mal bearbeitet
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 01.08.05 02:47 
ausgezeichnete idee mit dem eingebetteten pascal-script ! user defined image
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



BeitragVerfasst: Mo 01.08.05 16: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 01.08.05 22:10 
Hallo combie und :welcome: 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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 01.08.05 22:57 
Titel: Erstes Posting editiert
Danke für die Grüße :oops:
Grishnak
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 221

Windows XP Home
Delphi 7 PE, Delphi 2005 PE
BeitragVerfasst: Sa 10.09.05 00:46 
Einen komfortablen kostenloses Mehrfach-Dateiumbenenner gibts auf LAB1.de und hört auf den tollen Namen JOE!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Fr 11.11.05 03:21 
so, endlich hatte ich gelegenheit dein programm auszuprobieren

also erstens mal: einfach genial user defined image

hier mein skript (sollte das ' Kopie' von per droplet erstellten bmp's weglöschen)
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 11.11.05 16: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Fr 11.11.05 16:40 
user profile iconcombie 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Sa 16.09.06 19: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)

ausblenden 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:
user defined image
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von 0xCC am Do 01.03.07 01:04, insgesamt 3-mal bearbeitet
combie Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 25.09.06 12:43 
[quote] ich hoffe, dass combie damit einverstanden ist...[/quote]

Aber sicherlich!!
Es ist viel schöner so.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mo 25.09.06 18:58 
@combie:
Hast du was mit dem Moderator aus dem PHP-Forum zu tun, der auch combie heißt?!? :zwinker:

_________________
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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 25.09.06 19:07 
Jawoll!
Warum??
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mo 25.09.06 19:36 
user profile iconcombie hat folgendes geschrieben:
Jawoll!
Warum??

Nix warum, war mir nur sofort aufgefallen, dass ich den Namen schon mal gehört hatte. :mrgreen:

_________________
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



BeitragVerfasst: Di 20.02.07 00:34 
Titel: Benutzerfreundlichkeit von OxCC Modifikationen
Hallo OxCC. Das Programm (was übrigends super ist, thx to combie :dance2: ) 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Mi 28.02.07 13: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Do 01.03.07 01: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:
ausblenden volle Höhe Delphi-Quelltext
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,'_',' ');
    //result := leadingzero(FileNumber,2) + ' - ' + result;

  end;
  
  result := StrRem(result, 'Track ');
  //result := copy(result,6,maxint);
end;

Begin
// Main Function can stay empty or be abandoned
End.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
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
BeitragVerfasst: Do 01.03.07 07: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148
Erhaltene Danke: 2

Windows 7
Delphi XE3 Pro + HTML5Builder
BeitragVerfasst: So 18.03.07 16: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]user defined image[/url]

Hoffe, das geht in Ordnung!? :D
DonManfred
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148
Erhaltene Danke: 2

Windows 7
Delphi XE3 Pro + HTML5Builder
BeitragVerfasst: So 18.03.07 18: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

ausblenden volle Höhe Delphi-Quelltext
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);  // start auf 0 setzen. Die 1. datei hat dann 1...
  // Hier könnte man nun das ganze weglassen und so eine fortlaufende durchnummerierung zu erhalten... Für Backups z.B. ganz nett
  
  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
    // Datei ist eine mp3, also umbenennen...
    Result := Vorspann+expand(s,stellen)+'_'+fname+fext;
  end else begin
    // Datei nicht umbenennen. Originaldateiname zurückliefern...
    result:=InStr;
  end;
  WriteInteger('Startcount', s);
End;


Mirror für Setup mit Source inkl. allen 3rd Party Components 7,14mb
Einloggen, um Attachments anzusehen!