![]() |
TMUnit < wasn das ?
Hallo,
habe seit langem mal wieder Delphi geöffnet, nach dem formatieren und nun habe ich ein vorhandenes Programm geöffnet und oben steht
Delphi-Quellcode:
File not Found: 'TMUNIT.dcu' ist der Fehler und selbst bei google findet man nichts zu tmunit, kann mir einer helfen ? Wo kriege ich das her ?
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TMUNIT, StdCtrls, FileCtrl, Gauges, ComCtrls, ShellCtrls, Menus; In dem Programm steht z.B. "DateienLoeschen" ich gehe mal stark davon aus, dass ich die Datei dafür brauche. Bin für jede Hilfe dankbar. |
Re: TMUnit < wasn das ?
hast du dir diese Unit vielleicht selbst mal geschrieben. Denn eine Funktion wird eigentlich nie "DateienLoeschen" genannt wenn sie für weitergabe bestimmt ist. Und ein T führt eignetlich auch niemand dafür an. Das "M" steht vermutlich für "my".
|
Re: TMUnit < wasn das ?
Ne hab ich nicht, habe auch noch jemanden
![]() Evtl. kennt jemand ja ne Unit die ich dafür brauche ... habe z.B. folgendes im Code drin:
Delphi-Quellcode:
Damit lösche ich z.B. alle jpeg Dateien.
DateienLoeschen(path+'\','*.jpeg');
|
Re: TMUnit < wasn das ?
Ich schätze mal damit habe ich die Funktion nachprogrammiert:
Delphi-Quellcode:
Die Funktion tut genau das und gibt am Ende die Anzahl gelöschter Dateien zurück.
function dateienloeschen(filename:string):integer;
var f:tsearchrec; fi:file; files:array of string; i:integer; begin result:=0; if findfirst(filename,0,f)<>0 then exit; setlength(files,1); files[0]:=f.Name; while findnext(f)<>0 do begin setlength(files,length(files)+1); files[length(files)-1]:=f.Name; end; findclose(f); for I:=0 to length(files)-1 do begin try begin assignfile(fi,files[i]); erase(fi); inc(result); end; except end; end; end; |
Re: TMUnit < wasn das ?
Irgendein Fehler gibts noch .. "Too many actual parameters" :-( och menno
|
Re: TMUnit < wasn das ?
HI!
Wie rufst du denn auf? Ciao Frederic |
Re: TMUnit < wasn das ?
Hier mal der ganze Code vom Programm ;)
Delphi-Quellcode:
unit mtifd; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TMUNIT, StdCtrls, FileCtrl, Gauges, ComCtrls, ShellCtrls, Menus; type TForm1 = class(TForm) Button1: TButton; ShellTreeView1: TShellTreeView; GroupBox1: TGroupBox; Bilddateien: TCheckBox; Textdateien: TCheckBox; Videodateien: TCheckBox; Webdateien: TCheckBox; Gepacktedateien: TCheckBox; AlleDateien: TCheckBox; label1: TEdit; MainMenu1: TMainMenu; Datei1: TMenuItem; Beenden2: TMenuItem; Hilfe1: TMenuItem; Anleitung1: TMenuItem; Info1: TMenuItem; procedure Button1Click(Sender: TObject); procedure AlleDateienClick(Sender: TObject); procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode); procedure Beenden2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; path: String; self: String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin path := ShellTreeView1.SelectedFolder.PathName; if (Bilddateien.checked = true) then begin DateienLoeschen(path+'\','*.jpeg'); DateienLoeschen(path+'\','*.jpg'); DateienLoeschen(path+'\','*.jpe'); DateienLoeschen(path+'\','*.jfif'); DateienLoeschen(path+'\','*.bmp'); DateienLoeschen(path+'\','*.gif'); DateienLoeschen(path+'\','*.png'); DateienLoeschen(path+'\','*.tif'); DateienLoeschen(path+'\','*.psd'); DateienLoeschen(path+'\','*.dib'); DateienLoeschen(path+'\','*.tiff'); end; if (Textdateien.checked = true) then begin DateienLoeschen(path+'\','*.doc'); DateienLoeschen(path+'\','*.txt'); DateienLoeschen(path+'\','*.rtf'); end; if (Videodateien.checked = true) then begin DateienLoeschen(path+'\','*.mp3'); DateienLoeschen(path+'\','*.wav'); DateienLoeschen(path+'\','*.wmv'); DateienLoeschen(path+'\','*.avi'); end; if (Webdateien.checked = true) then begin DateienLoeschen(path+'\','*.htm'); DateienLoeschen(path+'\','*.html'); DateienLoeschen(path+'\','*.php'); DateienLoeschen(path+'\','*.php3'); DateienLoeschen(path+'\','*.php4'); DateienLoeschen(path+'\','*.css'); end; if (Gepacktedateien.checked = true) then begin DateienLoeschen(path+'\','*.rar'); DateienLoeschen(path+'\','*.zip'); DateienLoeschen(path+'\','*.ace'); DateienLoeschen(path+'\','*.cab'); DateienLoeschen(path+'\','*.tar'); DateienLoeschen(path+'\','*.iso'); end; if (AlleDateien.checked = true) then begin DateienLoeschen(path+'\','*.*'); end; end; procedure TForm1.AlleDateienClick(Sender: TObject); begin if (Alledateien.checked = true) then begin Bilddateien.Checked := true; Textdateien.Checked := true; Videodateien.Checked := true; Webdateien.Checked := true; Gepacktedateien.Checked := true; end; end; procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode); begin path := ShellTreeView1.SelectedFolder.PathName; label1.text := path+'\'; end; procedure TForm1.Beenden2Click(Sender: TObject); begin close; end; end. |
Re: TMUnit < wasn das ?
Du wirst doch wohl noch FindFirst, FindNext, FindClose und DeleteFle in der richtigen Reihenfolge und den entsprechenden Parametern benutzen können, wenn Du schon in deiner Freizeit programmierst, und uns bittest, uns doch wenigstens auf deiner Homepage zu verewigen. Das in der Delphi Hilfe angeführte Beispiel sollte ausreichen, um diese Dateilöschen-Routine zu schreiben.
Alternativ kannst Du auch den Befehl 'DEL' ausführen, den 'del c:\mydir\*.jpeg' funktioniert ja auch. Und Befehle des Command-Prozessors CMD.EXE kann man als Parameter an selbigen übergeben. Dann gibt es beim Command-Prozessor CMD.EXE eine Option, die ihn veranlasst, nur den als Parameter übergebenen Befehl auszuführen, um sich dann zu beenden. Programme kann man von Delphi aus starten: Es gibt hier im Forum genug Hilfe dazu. Viel Spass |
Re: TMUnit < wasn das ?
Du brauchst das Komma garnicht. Ruf einfach so auf:
Delphi-Quellcode:
Eine Funktion die 2 Parameter erfordert, so wie du sie verwendest, sieht so aus:
//Nicht so:
DateienLoeschen(path+'\','*.jpeg'); //Sondern so: DateienLoeschen(path+'\*.jpeg');
Delphi-Quellcode:
function dateienloeschen(filepath,fileext:string):integer;
var f:tsearchrec; fi:file; files:array of string; i:integer; filename:string; begin result:=0; filename:=filepath+fileexit; if findfirst(filename,0,f)<>0 then exit; setlength(files,1); files[0]:=f.Name; while findnext(f)<>0 do begin setlength(files,length(files)+1); files[length(files)-1]:=f.Name; end; findclose(f); for I:=0 to length(files)-1 do begin try begin assignfile(fi,files[i]); erase(fi); inc(result); end; except end; end; end; |
Re: TMUnit < wasn das ?
Ok ich teste es mal
*edit* Das Programm hängt sich jedes mal auf, weißte warum ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz