AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi eine bestimmte position in text dateien auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

eine bestimmte position in text dateien auslesen

Ein Thema von Jesus_Hunter · begonnen am 19. Dez 2005 · letzter Beitrag vom 19. Dez 2005
Antwort Antwort
Jesus_Hunter

Registriert seit: 18. Dez 2005
Ort: Calw
3 Beiträge
 
#1

eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 13:15
Also ich häng jetzt schon seit einigen tagen an einem Fehler ihr seind meine letzte Rettung.

Ich will eine bestimmte text passage aus einer text datei auslesen z.B. erste zeile fünftes bis neuntes zeichen. Und nur diese 5 Zeichen sollen dann in einem Label angezeigt werden. Bis jetzt konnte ich nur bestimmte zeilen anzeigen lassen aber nicht ein einelnes wort oder eine zahlenfolge.
Das problem ist das ich auch nicht einfach nach der stelle suchen kann weil die zeichenfolge zufällig generiert wird. Sie ist jedoch immer gleich lang und an der selben Stelle.

Wäre nett wenn ihr ne Lösung für mein Problem hätter.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 13:33
Herzlich willkommen in der Delphi-PRAXiS.

Wenn du deine Zeile eingelesen hast und iStart und iEnd die Stellenangaben sind, dann sollte es so funktionieren:

Delphi-Quellcode:
var
  line: string;
begin
  DeinLabel.Caption := Copy(line, iStart, Succ(iEnd - iStart));
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#3

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 13:41
Oder Du nimmst diese Funktion !
Delphi-Quellcode:
function GetString (Zeile,StartIndex,Anzahl : Integer; filename : String) : String;
var list : TstringList;
begin
  Result := '';
  list := TStringList.Create;
  try
    list.LoadFromFile(filename);
  except
  end;
  Result := copy(list[zeile-1],StartIndex,Anzahl);
  list.Free;
end;
//Aufruf mit z.Bsp:
Label1.Caption := GetString(2,12,10,'c:\meintext.txt');
//für die 2 Zeile ab 12 Zeichen 10 Zeichen lang aus der Datei 'c:\meintext.txt
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 13:51
Moin, ....ist ungetestet, aber ich würde es eher so machen..

Delphi-Quellcode:
function ReadString(AFile: string; ABeginPos, AEndPos: Integer): string;
var LFs: TFileStream;
begin
  LFs := TFileStream.Create(AFile, fmOpenRead);
  try
    LFs.Position := ABeginPos;
    SetLength(result, (AEndPos-ABeginPos));
    LFs.Read(Pointer(result)^, (AEndPos-ABeginPos));
  finally
    LFs.Free;
  end;
end;

Edit: Sry, grad erst mitgekriegt, daß du die Zeile auch angeben möchtest...erst Zeile...dann Position
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 13:56
Zitat von chrisw:
Delphi-Quellcode:
try
  list.LoadFromFile(filename);
except
end;
Geniales Exception-Handling . Gerade für einen Anfänger sollte man nicht solch einen Code posten, das ist nur kontraproduktiv. Und dass "Zeile" nicht nullindiziert ist, verwirrt auch eher, als dass es einem Anfänger hilft.

@Tyrael: Wenn die Zeilenlängen nicht konstant sind, muss man die CRLFs ohne TStringList einzeln herausfischen, da ja nur die Zeilennummer bekannt ist.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
19. Dez 2005, 13:59
Dieses Thema wurde von "sakura" von "Projekte" nach "Sonstige Fragen zu Delphi" verschoben.
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#7

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 14:02
Zitat von Khabarakh:
@Tyrael: Wenn die Zeilenlängen nicht konstant sind, muss man die CRLFs ohne TStringList einzeln herausfischen, da ja nur die Zeilennummer bekannt ist.
Schon klar,...hatte es zuerst anders verstanden...dachte er möchte von einer bestimmten bekannten Position bis zu einer zweiten Position alles lesen...

StringListen bieten sich natürlich in diesem Zusammnehang eher an
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Jesus_Hunter

Registriert seit: 18. Dez 2005
Ort: Calw
3 Beiträge
 
#8

Re: eine bestimmte position in text dateien auslesen

  Alt 19. Dez 2005, 15:46
Es Geht!!! Ihr habt mir echt geholfen ;D ThX
  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:19 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