AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichen aus Textdatei auslesen

Ein Thema von Hellcat · begonnen am 13. Mär 2003 · letzter Beitrag vom 13. Mär 2003
Thema geschlossen
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#1

Zeichen aus Textdatei auslesen

  Alt 13. Mär 2003, 17:11
Hi Leute!

Ich bin mal wieder zu vernagelt um ein Problem zu lösen...es geht um folgendes:

Ich will aus einer Textdatei eine Zeile auslesen (das geht mit ReadLn), muß dann aber diese Textzeile noch nach einem bestimmten Zeichen durchsuchen. Wie macht man das?
Schon mal vielen Dank im Voraus!

Hellcat
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 13. Mär 2003, 17:28
Wie wäre es mit Pos(SearchStr, Zeile) als Lösungsansatz?

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
 
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 13. Mär 2003, 18:10
Ok, eine dumme Frage kommt ja bekanntlich beim Programmieren selten alleine: Wie muß ich denn dann hinten den String angeben, da ich ja nur die Zeilennummer kenne, aber nicht den String? Oder anders ausgedrückt: wie kriege ich das Ergebnis von ReadLn in einen String gepackt?


Danke @Eddy: Die Zeilennummer kriege ich natürlich nicht über readLn sondern habe ich über eine gesonderte Funktion ermittelt.
 
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4
  Alt 13. Mär 2003, 18:35
Hi,
wenn ich dich richtig verstehe, dann ist das, was du meinst, folgendes:
Delphi-Quellcode:
var
  aLine: string;
begin
  {...}
  readln(aFile, aLine);
  {...}
end;
Chris
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5
  Alt 13. Mär 2003, 18:37
Hallo,
procedure Readln([ var F: Text; ] V1 [, V2, ...,Vn ]); Du setzt einfach Deine String-Variable als zweiten Parameter hinter die Dateivariable:
ReadLn( myFile, myString );
Daniel R. Wolf
mit Grüßen aus Hamburg
 
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 13. Mär 2003, 18:51
Hallo Hellcat,

das ist keine dumme Frage, das ist Kauderwelsch. Readln liefert, soweit ich weiß, keine Zeilen-Nummer sondern einen String. Würde ich in einer Textdatei nach einem bestimmten String suchen, sähe das bei mir so aus oder so ähnlich:

Code:
procedure TFInfoFinder.sbTestClick(Sender: TObject);
const
  fn = 'C:\tmp\InfoFinder1.PAS';
  srch = 'begin';
var
  f : TextFile;
  cnt : integer;
  s : string;
begin
  {$I-}
  AssignFile(f, fn);
  Reset(f);
  if IOResult <> 0 then begin
    MessageDlg('War wohl nicht''s', mtConfirmation, [mbOK],0);
    exit;
  end;

  cnt := 0;
  while not Eof(f) do begin
    Readln(f, s);
    s := AnsiLowerCase(s);
    if Pos(srch, s) > 0 then inc(cnt);
  end;

  MessageDlg('In ' + AnsiUpperCase(fn) + ' wurde die Zeichenkette: ' + #13
             + '"' + srch + '" ' + IntToStr(cnt) + ' Mal gefunden',
             mtInformation, [mbOK], 0);
  CloseFile(f);
  {$I+}
end;
Ich setze dabei voraus, daß begin nur einmal pro Zeile verwendet wird.

mfg
eddy
 
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 13. Mär 2003, 20:49
Hi Leute,

Danke für die schnelle Hilfe - jetzt stellt sich mir in dem zusammenhang ein anderes Problem: Ich speichere zunächst einen Farbwert (Hexadezimal) in einer Textdatei
writeln (save, TimeToStr(Now)+ '#' + HName + '#' + IntToStr(HFarbe) + '#' + BoolToStr(Schloss) + '#'); doch wenn ich den Wert wieder auslese und versuche einem Objekt diese Farbe zuzuweisen wird das Objekt schwarz...

Delphi-Quellcode:
repeat
    begin
      Fabezaehler := Fabezaehler + Zeile[Zaehler];
      inc (Zaehler);
    end;
  until Zeile[Zaehler] = '#';
  HalFarbe := StrToInt(Fabezaehler);
  inc (Zaehler);
Panel1.Color := HalFarbe; Beim Speichern wird das "$" abgeschnitten, daher vermute ich mal stark daß es daran liegt, aber wie integriere ich das wieder in meinen Farbwert?
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 13. Mär 2003, 20:56
Neues Problem, neuer Thread bitte, sonst geht es hier durcheinander und es wird außerdem schwieriger etwas mit der suche wiederzufinden. Ich mache hier mal dicht und würde dich bitten einen neuen Thread aufzumachen. Danke für dein Verständnis.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Thema geschlossen


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 13:15 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