AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Gibt es einen einfacheren Weg zur INI als diesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es einen einfacheren Weg zur INI als diesen?

Ein Thema von DRPEnc · begonnen am 18. Apr 2004 · letzter Beitrag vom 18. Apr 2004
Antwort Antwort
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
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Gibt es einen einfacheren Weg zur INI als diesen?

  Alt 18. Apr 2004, 22:22
Hallo,
klar - geht auch viel einfacher.
Jede Anwendung bekommt bei Aufruf den Pfad und Dateinamen als Paramter mit.
Code:
PfadUndDateiname:=ParamStr(0)
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Gibt es einen einfacheren Weg zur INI als diesen?

  Alt 18. Apr 2004, 22:23
Hallo DRPEnc,
mit ExtractFilePath(Application.ExeName) bekommst du den Pfad der Exe. Vielleicht hilft es dir.

Tschüß Markus
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Gibt es einen einfacheren Weg zur INI als diesen?

  Alt 18. Apr 2004, 22:24
Und nur der Pfad ist:
Pfad := ExtractFilePath(ParamStr(0))
  Mit Zitat antworten Zitat
DRPEnc

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

Re: Gibt es einen einfacheren Weg zur INI als diesen?

  Alt 18. Apr 2004, 22:50
danke, wie einbinden?

habs danke...
CU

DRPEnc
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz