Einzelnen Beitrag anzeigen

DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

Gibt es einen einfacheren Weg zur INI als diesen?

  Alt 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
  Mit Zitat antworten Zitat