ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
8068
8068
EMPFEHLEN
-
Hallo ich bin ziehmlicher Delphi 7 neuling.
Habe folgendes Vor.
Möchte eine test.txt öffnen und dort nach Strings suchen.
bsp:
i v=1
oder
x 1.6 Linker Innenrand:
oder
i A=0
oder
x 1.7 Rechter Innenrand:
oder
i R=0
...
möchte dann denn z.b. x 1.6 Linker Innenrand: fehlt diesen einfügen.
Dachte da an If abfragen.
if (aktuelle Zeile != "x 1.6 Linker Innenrand:")
{
"enter einfügen" und dann "x 1.6 Linker Innenrand: einfügen"
}
ein anderes Programm liest die test.txt aus und nutze die darin enthaltenen Informationen um damit zu arbeiten. Ich habe ca 70 Zeilen die befehle/Informationen enthalten.
Wenn z.B. eine Zeile fehlt bekommt das andere Programm ein Error.
Daher muss ich dafür sorgen das alles Zeilen da sind und wenn diese nicht vorhanden sind mit ein standart wert füllen und abspeichern.
Kann mir da bitte einer helfen ?
danke im vorraus
Mfg
Robert
Ich denke, also bin ich.
-
Verwende doch einfach eine Memo-Komponente.
Mit bspw.
Memo1.Lines.LoadFromFile( Dateiname)
kann man eine Textdatei öffnen.
Auf die einzelnen Zeilen kannst Du über in einer Schleife
for i:= 0 to Memo1.Lines.Count-1 dobegin
Machwasmit( Memo1.Lines[i] );
end;
zugreifen.
Hoffe das hilft schon mal
vop
-
mit
kann ich die einzelnen Zeilen vergleichen ob im "soll Text" die Zeilen im "ist text" sind.Code :1
if pos(soll[zeilennrsoll], ist.Text)=0 then begin ...
wenn aber in ist text.
"wohnort = werl"
steht und im soll text
"wohnort = standart"
sagt pos das er den "wohnort = standart" im ist text nicht finden kann weil er ja ganze Zeile untersucht und nicht nur das erste Wort.
Eigentlich sollte der bei diesen Beispiel nichts machen.
Mein Quell text jedoch fügt eine neue Zeile ein mit "Wohnort = standart".
Habe dann im "ist text"
"wohnort = werl"
"wohnort = standart"
stehen. Also ein doppelten eintrag.
GIbt es eine function die nur das erste Wort in einer Zeile einliest?
oder die ersten 2 Wörter, etc ?
Quelltext:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
procedure TForm1.Button2Click(Sender: TObject); var soll: TStringList; var ist: TStringList; var zeilenfehlen: Array[1..1000] of integer; var zeilennrsoll: integer; var zeilennrist: integer; var richtig: integer; begin soll:=TStringList.Create; //Objekt erzeugen ist:=TStringList.Create; //Objekt erzeugen richtig:=0; try soll.LoadFromFile('C:\soll.hbs'); //Datei in Stringliste laden ist.LoadFromFile('C:\ist.hbs'); //Datei in Stringliste laden for zeilennrsoll:=0 to soll.Count-1 do begin //Schleife über alle Zeilen, Zählung //beginnt mit 0, die Eigenschaft Count //enthält die Gesamtzahl der Zeilen if pos(soll[zeilennrsoll], ist.Text)=0 then begin ShowMessage('Zeile '+IntToStr(zeilennrsoll+1)+' wurde nicht gefunden'); ist.Insert(zeilennrsoll,soll[zeilennrsoll]); ist.SaveToFile('C:\ist.hbs'); end end; finally soll.free; //Objekt wieder freigeben end; end;Ich denke, also bin ich.
-
Wenn Du StringListen verwendest, kannst du auch mit den Namen/Werte-Paaren arbeiten
ist.IndexOfName('wohnort')
liefert dir den Index der Zeile in der Stringliste, die mit wohnort=... beginnt
ist.ValueFromIndex( index )
liefert Dir dazu den Wert zu dieser Zeile,
also in deinem bsp. 'stanard'
alles klar?
vop
-
ok das ist super danke
Ich teste es gleich morgen früh.
Danke vop für die super schnelle HilfeIch denke, also bin ich.
-
Hallo,
ist das Programm, welche die Werte aus xx.txt verwendet schon fertig? Wenn nicht, solltest du dir ev. auch TIniFile in der Delphihilfe ansehen. Diese Komponente unterstützt genau das, was du brauchst.
Ähnliche Themen
-
in Strings suchen und ausschneiden
Von Binio im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 04.11.05, 12:06 -
Strings in TXT Datei Suchen und ausgeben
Von uzo im Forum C/C++Antworten: 5Letzter Beitrag: 13.07.05, 09:37 -
Strings suchen und abspeichern
Von Neral im Forum .NET ArchivAntworten: 2Letzter Beitrag: 30.08.04, 15:04 -
bestimmte Strings aus Textdatei kopieren
Von Kimble im Forum C/C++Antworten: 1Letzter Beitrag: 10.08.03, 21:57 -
professionelles suchen in strings
Von Visual EZ++ im Forum Delphi, Kylix, PascalAntworten: 6Letzter Beitrag: 13.05.02, 13:54





Zitieren
Login





