Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ungültige Zeigeroperation

  Alt 8. Apr 2011, 17:56
Ohne da jetzt durchgestiegen zu sein, wie sieht es so aus (ungetestet)? Allerdings fülle ich nichts auf, da mir die Länge der längsten Zeile ja nicht im Voraus bekannt ist.
Delphi-Quellcode:
function GetLanguages: Boolean;
var
  LstValues, LstFile: TStringList;
  i, j: Integer;
  Filename: string;
begin
  Result := false;
  Filename := ChangeFileExt(Application.ExeName, '.lng');
  if not FileExists(Filename) then
    Exit;
  TraceFile(DateTimeToStr(Now()) + ' - ' + TRACESYS +
    ': Sprachdatei wird eingelesen');
  // LanguageFile einlesen
  LstFile := TStringList.Create;
  try
    LstFile.LoadFromFile(Filename);
    LstValues := TStringList.Create;
    try
      LstValues.Delimiter := ';';
      LstValues.StrictDelimiter := true; //ggf. weglassen
      SetLength(myLangValues, LstFile.Count);
      for i := 0 to LstFile.Count - 1 do
        begin
          LstValues.DelimitedText := LstFile[i];
          SetLength(myLangValues[i], LstValues.Count);
          for j := 0 to LstValues.Count - 1 do
            myLangValues[i, j] := LstValues[j];
        end;
      Result := true;
    finally
      LstValues.Free;
    end;
  finally
    LstFile.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat