Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
|
Gibt es einen einfacheren Weg zur INI als diesen?
18. Apr 2004, 22:16
Delphi-Quellcode:
//INIDATEI
function suchdatei(pfad,datei:string):string;
var
sr:TSearchRec;
begin
result:='';
if findfirst(pfad+'*.*',$27,sr)=0 then
repeat
if ansilowercase(sr.name)=ansilowercase(datei) then
begin
result:=pfad;
break;
end;
until findnext(sr)<>0;
FindClose(Sr);
end;
function finden(start,datei:string):string;
var
sr:TSearchRec;
hlp:string;
begin
if ansilastchar(start)<>'\' then
start:=start+'\';
result:=suchdatei(start,datei);
if result <> '' then exit;
if findfirst(start+'*.*',faAnyfile,sr)=0 then
begin
repeat
if (sr.Attr and faDirectory > 0)and(sr.name[1]<>'.') then
begin
hlp:=start+sr.name;
result:=finden(hlp,datei);
if result <> '' then break;
end;
until findnext(sr)<>0;
FindClose(Sr);
end;
end;
//INIDATEI
Delphi-Quellcode:
if not FileExists('DRPEncME.ini')
then begin
Startverzeichnis:='C:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini');
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
Startverzeichnis:='D:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini') ;
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
Startverzeichnis:='E:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini');
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
Startverzeichnis:='F:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini');
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
Startverzeichnis:='G:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini');
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
Startverzeichnis:='H:';
Dateiname:='DRPEncME.exe';
screen.cursor:=crhourglass;
Ergebnis:=finden(Startverzeichnis,Dateiname);
if Ergebnis <> '' then
begin
listINI.Items.Clear;
ListINI.Items.add(Ergebnis);
listINI.Items.SaveToFile('DRPEncME.ini');
ListLOAD.Items.LoadFromFile('DRPEncME.ini');
INI.Text:=ListLOAD.Items[0];
end
else
showmessage('DRPEncME.exe not found');
screen.cursor:=crdefault;
end;
begin
makecmd.Click;
end;
end;
Im endeffekt brauch ich die Information fom Ordner in dem sich die EXE befindet. Müsste doch einfacher gehen oder?
CU
DRPEnc
|
|
Zitat
|