AGB  ·  Datenschutz  ·  Impressum  







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

strings aus txt file lesen

Ein Thema von agm65 · begonnen am 24. Jun 2005 · letzter Beitrag vom 26. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#1

strings aus txt file lesen

  Alt 24. Jun 2005, 21:24
nochmal guten abend leute...

naja nun zu meinem problem...
also ich möchte aus einer txt file mehere strings auslesen, die strings sind getrennt durch einen
':'. ich weiss also immer den ersten teil der stings: bsp:


name1: string
name2: string
name3: string


und jetzt möchte ich nur diese strings auslesen, die namen vor dem ':' sind immer die selben !


Code:
if s <> '' then
    begin
    KeyPath := s + '\dir\textfile.text;
    if FileExists(KeyPath) then
    begin
    AssignFile(F, KeyPath);
    Reset(F);
    ReadLn(f,s) ; // eine split funktion geziehlt auf die werte name1-X
     
 
    CloseFile(F);
    end;
    end;
was muß ich meiner funktion hinzufügen, damit er mir alle stings (name1-X) ausgibt ?



danke euch allen ....
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:04
wenn du es dir einfach machen willst: Delphi-Referenz durchsuchenTIniFile

Wenn nicht:

Delphi-Quellcode:
function getdata(filename:string):TStrings;
var f:textfile;
    s,s1:string;
    mark:integer;
begin
result:=TStirngList.create;

assignfile(f,filename);
reset(f);
while not eof(f) do
 begin
  readln(f,s);
  mark:=pos(':',s);
  s1:=copy(s,0,mark) + '=' + copy(s,mark+2,length(s));
  // key trennzeichen value
  result.add(s1);
 end;

end;
liest alles in eine handliche stringlist im format 'key=value' ein, mit dem du dann nach belieben verfahren kannst.
(wobei da auch ein stringreplace('. ','=',[rfReplaceAll]) gereicht hätte

und dann würde ich vom namen(string1,string2,string3) weggehen und mit reinen indizes arbeiten(0,1,2).
macht es einfacher, da du dann in die stringlist nur noch value reinschreiben musst.
wenn du namen behalten willst, ist der Königsweg TInifile.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#3

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:12
du meinst wenn ich als seperator ein = nehme, dann kann ich die wie ini files behandeln ?
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:13
Delphi-Quellcode:
while not EoF(f) do
  begin
    ReadLn(f, s);
    s := copy(s, pos(':', s)+1, length(s)-pos(':', s));
    Memo1.Lines.Add(s);
  end;

Is ungetestet, müsste aber gehen.
Musst halt u.U. n bissl mit dem +1 rumspielen, evtl. musst dus vergrößern/verkleinern.

//rotes Kästerli?!
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#5

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:18
aber es gibt ja auch noch ':' die nichts mit diesen strings zu tuen haben ....da macht er das ja dann auch ....kann man nicht noch mehr angeben Name1: also seperator ?
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#6

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:28
hmm ne also geht leider nicht !
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#7

Re: strings aus txt file lesen

  Alt 24. Jun 2005, 23:46
Aber der erste : ist doch immer zum trennen, oder? Dann klappt es doch mit Pos(), du musst nur bei StringReplace() das rfReplaceAll weglassen, falls du es verwendest, die [] müssen dabei stehenbleiben.
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#8

Re: strings aus txt file lesen

  Alt 26. Jun 2005, 20:58
so ich hab das jetzt fast das ganze wochenende rumgebastelt...und es läuft nicht !

ich hab es gedreht und gewendet wie ich wollte...meine text file sieht so aus:

**************************** Head *****************************

Time: 10:55:03 PM
Date: 6/25/2005

**************************** DATA ****************************

NAME1: wert1
NAME2: wert2
NAME3: wert3
NAME4: wert4
NAME5: wert5

***************************** End *****************************

und ich brauche die werte hinter den namen !
aber es sind manchmal auch nur 2 namen + werte oder 30 !

jeder wert soll ein extra string werden ....ich brauch die werte in getrennten strings !
erbitte dringend hilfe...


thx cu
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#9

Re: strings aus txt file lesen

  Alt 26. Jun 2005, 21:10
dann mach es mit inifiles.....

ansonsten:

Delphi-Quellcode:
type TTextfile = record
 date:string;
 time:string;
 Data: array of string;
end;

function getfile(filename:string):TTextfile;
var f:textfile;
    s:string;
begin
assingfile(f,filename);
reset(f)
readln(f,s); //head skippen
readln(f,s); //leerzeile skippen
readln(f,s);
result.date:=copy(s,length('Time: ')+1,length(s));
readln(f,s);
result.time:=copy(s,length('Date: ')+1,length(s));
readln(f,s);readln(f,s),readln(f,s); //drei zeilen skippen
readln(f,s);
while (s<>'') do
 begin
  setlength(result.data,length(result.data+1));
  result.data(high(result.data)):=s;
  readln(f,s);
 end;
end;
reicht dir das? du musst den rückgabewert der funktion natürlich iener variablen zuweisen.

dazu sei noch gesagt, dass das setlength in der schleife unelegant und unperformant ist.

und ausserdem hast du jetzt nur immer "namex: wertx" in dem array drin, da solltest du aber wohl mit den tipps, die du bekommen hast, selbst rankmen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#10

Re: strings aus txt file lesen

  Alt 26. Jun 2005, 21:13
thx ich werde es testen ! auch das mit ini files.... !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:53 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