AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Exception beim Createn eines IniFiles
Thema durchsuchen
Ansicht
Themen-Optionen

Exception beim Createn eines IniFiles

Ein Thema von fortuneNext · begonnen am 22. Aug 2008 · letzter Beitrag vom 24. Aug 2008
Antwort Antwort
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

Re: Exception beim Createn eines IniFiles

  Alt 22. Aug 2008, 22:35
Also irgendwie ist dein Code grotesk, nicht?

Delphi-Quellcode:
procedure TBasicControl.OpenFile(LanguageName: string);
var
  SR: TSearchRec;
  x: integer;
begin
  x := 0;
  if FindFirst(ExtractFilePath(ParamStr(0)) + 'Language\*.ini', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        x := x + 1;
        SetLength(LanguageFiles, x + 1);
        LanguageFiles[x] := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Language\' + sr.Name);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
  x := 0;
  for x := 1 to high(LanguageFiles) do
  begin
    if ExtractFileName(LanguageFiles[x].FileName) = LanguageName + '.inithen
    begin
      UsedLanguageFile := LanguageFiles[x];
      UsedLanguageFilePath := UsedLanguageFile.FileName;
    end;
    LanguageFiles[x].Free;
  end;
end;
Wenn ich das richtig verstehe, listest du alle Files, lädst diese in einen dyn. Array und dann gehst du diesen Array ab und suchst nach Sprachdatei "Deutsch.ini", diese lädst du dann in UsedLanguageFile und den Rest gibst du frei.

(Was übrigens trotzdem fehlt, ist, dass du den LanguageFiles-Array wieder auf Größe 0 herunterfährst.)

Aber wieso lädst du nicht sofort die Datei LanguageName + '.ini' in dein UsedLanguageFile? Wieso der Umstand mit der Auflistung der Sprachen?

Delphi-Quellcode:
function TBasicControl.OpenFile(LanguageName: string): boolean;
begin
  if FileExists(ExtractFilePath(ParamStr(0)) + 'Language\' + LanguageName + '.ini') then
  begin
    UsedLanguageFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Language\' + LanguageName + '.ini');
    UsedLanguageFilePath := UsedLanguageFile.FileName;
    result := true;
  end
  else
  begin
    showmessage('Language file "'+LanguageName + '.ini" not found!');
    result := false; // Programm soll in diesem Fall beendet werden!
  end;
end;
Ich hoffe, dass ich deinen Code nicht verplant habe.

Gruß
blackdrake
Daniel Marschall
  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 06:06 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