Nur einen Teil des Names lesen

Habe jetzt eine andere Methode gefunden, ist zwar über 25 ecken, aber irgenwie logischer, finde ich.
Für alle die es interesiert:
Code:
function PosEx(const Substr: string; const S: string; Offset: Integer): Integer;
begin
  if Offset <= 0 then Result := 0 else
    Result := Pos(Substr, Copy(S, Offset, Length(S)));

  if Result <> 0 then
    Result := Result + Offset - 1;
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  lDir: String;
  lSearchRecord: TSearchRec;
  Dateiname : String;
  Pos1 : Integer;
  Test : String;
  Pos2 : Integer;
  Test2 : String;
  Pos3 : integer;
begin
ComboBox1.Clear;
ComboBox2.Clear;
lDir := IncludeTrailingPathDelimiter(ExtractFilePath('X:\'));
if FindFirst(lDir + '*.ini', faAnyFile, lSearchRecord) = 0 then
begin
    repeat
      if (lSearchRecord.Attr <> faDirectory) then
        Dateiname := lSearchRecord.Name;
        Pos1 := Pos('.', lSearchRecord.Name);
        Pos2 := PosEx('.', lSearchRecord.Name, Pos1 + 1);
        Test := copy(Dateiname, 1,Pos1 - 1);
        Pos3 := Pos2 - Pos1 -1;
        Test2 := copy(Dateiname, Pos1 + 1,Pos3);
        ComboBox1.Items.Add(Test);
        ComboBox2.Items.Add(Test2);
    until FindNext(lSearchRecord) <> 0;
FindClose(lSearchRecord);

Nochmals danke, für deine Hilfe, aber mit der Split funktion habe ich es irgenwie nicht auf die Reihe bekommen.
 

Neue Beiträge

Zurück