AGB  ·  Datenschutz  ·  Impressum  







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

Problem bei textfile

Ein Thema von devilone · begonnen am 30. Apr 2006 · letzter Beitrag vom 30. Apr 2006
Antwort Antwort
devilone

Registriert seit: 27. Jun 2004
18 Beiträge
 
#1

Problem bei textfile

  Alt 30. Apr 2006, 00:12
Hi ..

Habe ein Problem..

und zwar möchte ich ein Textfile durchsuchen, nach einer bestimmten zahl.

Vor der Zahl steht immer das selbe und hinter der Zahl immer ein Leerzeichen..

wie bringe ich dem programm das bei das er das hinter dem Leerzeichen nichtmehr beachtet...

hoffe ihr könnt mir helfen..

Mfg Devilone
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem bei textfile

  Alt 30. Apr 2006, 00:19
Hi,

dann denke ich, wäre es das einfachste, die Datei zeilenweise durchzugehen.
  Mit Zitat antworten Zitat
devilone

Registriert seit: 27. Jun 2004
18 Beiträge
 
#3

Re: Problem bei textfile

  Alt 30. Apr 2006, 00:26
hi Matze

ja aber wie habe kein ahnung wie ich da anfangen soll...
hier mal ne andere suchfunktion die auch klappt.. da nach dem suchwort nichts mehr steht..

Delphi-Quellcode:

procedure TForm1.Button7Click(Sender: TObject);
begin
if fileexists ('world.save') then
 begin
     assignfile (w,'world.save');
reset (w);
tota:=0;
repeat
  readln (w,line);
  if line = '[OBJECT]then
  tota:=tota+1;
until eof (w);
label4.Caption:= inttostr (tota);
closefile(w);
 end
 else
 begin
     showmessage ('Kein World.save vorhanden');
 end;
end;
aber bei den anderen suchwörtern steht immer noch was dahinter..
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Problem bei textfile

  Alt 30. Apr 2006, 00:32
du prüfst ja auch ob dein Wort gleich der ganze String ist, du musst aber prüfen ob dein Wort in dem String vorkommt, "pos" heist hier das Lösungswort.

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin
  if fileexists('world.save') then begin
    assignfile(w, 'world.save');
    reset(w);
    tota := 0;
    repeat
      readln(w,line);
      if pos('[OBJECT]', line) <> 0 then tota := tota + 1;
    until eof(w);
    Label4.Caption := IntToStr(tota);
    CloseFile(w);
  end
  else ShowMessage('Kein World.save vorhanden');
end;
Diese Lösung funktioniert aber nur wenn '[OBJECT]' höchstens einmal pro Zeile vorkommt.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
devilone

Registriert seit: 27. Jun 2004
18 Beiträge
 
#5

Re: Problem bei textfile

  Alt 30. Apr 2006, 00:35
Hmm.. mal schauen ob ich das hinbekomme .. )

Rechtschönen dank erstmal..

Mfg Devilone
  Mit Zitat antworten Zitat
devilone

Registriert seit: 27. Jun 2004
18 Beiträge
 
#6

Re: Problem bei textfile

  Alt 30. Apr 2006, 02:13
hmm.. das was du gepostet hast klappt super..

aber wie bekomme ich das hin , wenn sich die zahle immer ändert??

das hier habe ich probiert klappt aber nicht..

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var
sn:integer;
begin
 try
 listbox1.Items.Append('SPAWN='+label1.Caption) ;
 sn:= 0 ;
 assignfile (w,'world.save');
 reset (w);
 assignfile (t,'tests.scp');
 rewrite (t);
repeat
readln(w,line);
if pos('SPAWM='+(label1.Caption)+' ', line) <> 0 then sn:= sn + 1;
until eof(w);
 label5.Caption:= inttostr (sn);
 closefile (w);
 closefile (t);
 finally
 button2.Show;
 button3.Show;
 button4.Show;
 label1.Caption:='';
 button1.Hide;
 end;
end;

ok ist zwar nicht sehr elegant aber funtz jetzt...
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var
sn:integer;
sie:string;
begin
 try
 listbox1.Items.Append('SPAWN='+label1.Caption) ;
 label7.Caption:= label1.Caption + ' ';
 sie:='SPAWN='+label1.Caption;
 sie:=sie+' ';
 sn:= 0 ;
 assignfile (w,'world.save');
 reset (w);
 assignfile (t,'tests.scp');
 rewrite (t);
repeat
readln(w,line);
if pos(sie, line) <> 0 then sn:= sn + 1;
until eof(w);
 label5.Caption:= inttostr (sn);
 closefile (w);
 closefile (t);
 finally
 button2.Show;
 button3.Show;
 button4.Show;
 label1.Caption:='';
 button1.Hide;
 end;
end;

Danke für eure hilfe..

bis zur nächsten Frage...
  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 21:27 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