AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Bestimmte Strings aus einer Datei in StringGrid einlesen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte Strings aus einer Datei in StringGrid einlesen

Ein Thema von pp-deluxe · begonnen am 7. Apr 2006 · letzter Beitrag vom 18. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#1

Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 11:13
Hallo,

ich bekomme noch nen Koller , ich habe ein Programm zu schreiben, das bestimmte Strings aus einer *.TXT Datei in ein StringGrid-Gitter einlesen soll.

Soweit so gut ^^

Die Datei ist wie folgt aufgebaut:

23:13:24.44122112 PP:2 PP2:3 xD LOL VLC/VXX = 150/77
... jetzt kommen weitere Zeilen


Es soll generell xD, LOL und 150/77 NICHT eingelesen werden.

Delphi-Quellcode:

var
  i,int: Integer;
  int2: String;
  f: file of Integer;
begin
  AssignFile(f,'rofl.txt');
  ReWrite(f);

  Seek(f,4); // glaube das ist die 5 Stelle ^^
  Read(f,int2);

  ShowMessage((Int2));
  CloseFile(f);
end;
In diesem Fall soll der String nur in eine Messagebox gepostet werden!

Kann mir jemand bitte helfen?
Ich bin gerupft, getert und gefiedert wenn ich das nicht bald hinbekomme ^^

Danke für eure Hilfe
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 11:20
mit Rewrite(f) überschreibst Du das File.
Zum Lesen öffnet man es mit Reset.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#3

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 11:38
unit1.pas(198,13) Error: Incompatible types: got "AnsiString" expected "LongInt"

sry ich bin halt kein Profi-Programmierer, was soll ich da machen?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 11:43
Delphi-Quellcode:
var
  dummy:String;
begin
  AssignFile(f,'rofl.txt');
  Reset(f);

  Seek(f,4); // glaube das ist die 5 Stelle ^^
  Read(f,dummy);
 
  ShowMessage(dummy);
{  //voher prüfen ob der String auch eine Zahl ist             
  int2:=StrToInt(dummy);

  ShowMessage(IntToStr(int2));
}

  CloseFile(f);
end;
So ungefähr sollte es gehen.

Bist Du Die sicher, dass das ganze ein File of Integer ist?
Oder ist es doch ein Textfile, dann kannst Du aber nicht mit Seek arbeiten.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#5

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 12:32
ehrlich gesagt, ich hab keine Ahnung
Wie gesagt, die Datei besteht aus aus Strings und Integern.

Das ist die aktuelle Fehlermeldung:
unit1.pas(197,15) Error: Incompatible types: got "AnsiString" expected "LongInt"
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:05
Delphi-Quellcode:
var
  i,int: Integer;
  int2: String;
  f: TextFile;
  data :String;
 
begin
  AssignFile(f,'rofl.txt');
  {$I-}
    Reset(f);
  {$I+}
  
  if IOResult = 0 then
    while not eof(f) do
      begin
        Readln(f,data);
        // datenverarbeitung
        ShowMessage(data);
      end
  else
    // Fehler beim Datei öffnen

  CloseFile(f);

end;
Bei diesem Code kommt da auch die Fehlermeldung?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:22
Kannst Du die Datei im Notepad öffnen?
Besteht sie aus einzelnen Zeilen?

Dann ist es eine Textdatei, die zeilenweise eingelesen werden kann.

In jeder Zeile musst Du dann die entsprechenden Elemente suchen und extrahieren. Hier hilft Dir 'Pos' und 'Copy' weiter.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#8

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:34
Zitat:
Bei diesem Code kommt da auch die Fehlermeldung?
Nein es kommt keine Fehlermeldung, er zeigt halt nur die erste Zeile an.
Wie liest man die nächsten Zeilen ein?


Zitat:
Kannst Du die Datei im Notepad öffnen? Besteht sie aus einzelnen Zeilen?
ja

Zitat:
Hier hilft Dir 'Pos' und 'Copy' weiter.
Ich kenne diese Befehle überhaupt nicht, die Deklaration im Internet verstehe ich nicht, könntest du das anhand eines Beispiels mal zeigen?

ThX
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#9

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:39
Zitat von pp-deluxe:

Ich kenne diese Befehle überhaupt nicht, die Deklaration im Internet verstehe ich nicht, könntest du das anhand eines Beispiels mal zeigen?

ThX
mit copy kannst Du einen Teilstring aus einem String auslesen.
TeilString := copy(String,AnfangStelle,EndStelle)
AnfangStelle und EndStelle sind vom Typ Integer!

pos gibt dir die Stelle des ersten Auftretens eines Teilstrings in einem String wieder.
bsp.: position := pos(Teilstring,String);
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#10

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:44
Moin
Zitat von pp-deluxe:
ehrlich gesagt, ich hab keine Ahnung
Wie gesagt, die Datei besteht aus aus Strings und Integern.

Das ist die aktuelle Fehlermeldung:
unit1.pas(197,15) Error: Incompatible types: got "AnsiString" expected "LongInt"
DIe Fehlermeldung allein hilft uns nicht weiter, weil wir ja nicht wissen, was in der angemeckerten Zeile von Dir gecodet wurde

Im allgemeinen:
1. In TextFiles werden Integer,Datum etc als String abgespeichert.
2. Ein SEEK(F,n) erwartet für den Parameter n eine Variable vom Typ LongInt, somit dürfte SEEK(F,4) zu Compilerfehler führen...

Wie Klaus01 richtig andeutet: komplette Zeile mit ReadLn(f,Data) auslesen und den resultierenden String entsprechend auseinanderpflücken:
Code:
Teilstring := Copy(data,1,Pos('xD',data)-1);
Mehrere Zeilen auslesen:
Code:
...
while not Eof(f) do
  bein
    ReadLn(f,data);
    //... weitere Anweisungen um Data zu extrahieren etc
end;
  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 05: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