AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit txt Dateien

Ein Thema von felro · begonnen am 19. Jan 2004 · letzter Beitrag vom 22. Feb 2004
Antwort Antwort
Seite 2 von 3     12 3      
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#11

Re: Problem mit txt Dateien

  Alt 19. Jan 2004, 16:29
Für die Arbeit mit Strings möchte ich gerne wieder auf Hier im Forum suchenreguläre Ausdrücke verweisen, mit denen eine Prüfung auf gültige IPs (jede Komponente 0-255) relativ kurz gestaltet werden kann:
Delphi-Quellcode:
function IsValidIPAddress(const AString: string): Boolean;
const
  RE255 = '([1-9]?\d|1\d\d|2([0-4]\d|5[0-5]))';
begin
  Result:= RegExp('^(%s\.){3}%:0s$', [RE255]).Execute(AString);
end;
Um also die IPs gem Deiner Beschreibung in ein Memo zu laden, felro, könnte mit dem passenden Ausdruck in ReIPFromLogFile dieser Code verwendet werden:
Delphi-Quellcode:
with TStringList.Create do
try
  LoadFromFile(AFilename);
  with RegExp(ReIPFromLogFile) do
    if Execute(Text) then
    repeat
      Memo1.Lines.Add(Match[0])
    until not ExecuteNext;
finally
  Free;
end;
Wenn Du in Zukunft häufiger mit Strings arbeitest, könnten Lösungen dieser Art einiges an Arbeit ersparen auch wenn sie auf den ersten Blick etwas kryptisch anmuten mögen...
gruß, choose
  Mit Zitat antworten Zitat
felro

Registriert seit: 26. Okt 2003
17 Beiträge
 
#12

Re: Problem mit txt Dateien

  Alt 20. Jan 2004, 14:03
Dass hört sich ja mal sehr gut an muss ich gleich mal porbieren. THX felro
  Mit Zitat antworten Zitat
felro

Registriert seit: 26. Okt 2003
17 Beiträge
 
#13

Re: Problem mit txt Dateien

  Alt 19. Feb 2004, 20:35
hmm hab jetzt nen paar Wochen immer ma wieder probiert aber so richtig weiter gekommen bin ich leider nicht! Kann mir jemand evtl nochma helfen?
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Problem mit txt Dateien

  Alt 19. Feb 2004, 21:11
Delphi-Quellcode:
procedure einlesen;
var f : textfile;
    s : string;
begin
  AssignFile(f,'C:\beispiel.txt');
  Reset(f);
  while not EOF(f) do
  begin
  Readln(f, s);
  Delete(s, Pos(' ',s),length(s));
  Memo1.Lines.Add(s);
  end;
  CloseFile(f);
end;
Bob
  Mit Zitat antworten Zitat
felro

Registriert seit: 26. Okt 2003
17 Beiträge
 
#15

Re: Problem mit txt Dateien

  Alt 19. Feb 2004, 21:21
Hmm ja dass einlesen hab ich ja schon

Mein Problem ist, dass ich den obrigen Quelltext nicht verstehe und es mir lieber wäre wenn es ein Befehl gibt, der nach 16 Zeichen alles abscneidet und dann noch alle leerzeichen und buchstaben entfernt. CU felro
  Mit Zitat antworten Zitat
Bit Juggler
(Gast)

n/a Beiträge
 
#16

Re: Problem mit txt Dateien

  Alt 19. Feb 2004, 23:11
Hi felo,
was genau verstehst Du denn nicht ?
Hier bist Du doch genau richtig zum fragen, oder ?

Zu Deinem Wunsch:
Delphi-Quellcode:
  //In Edit1 stehen zb. 40 Zeichen und Du willst nur die ersten 16
  Edit2.Text:= Copy(Edit1.Text,1,16);
und weiter:
Delphi-Quellcode:
//alle Leerzeichen entfernen
function DelSpace(Data:string):string;
var
  i: integer;
begin
  for i:= 1 to length(Data) do
    delete(Data,pos(' ',Data),1);
  DelSpace:= Data;
end;
und zum Schluss:
...String auf Zahlen überprüfen


Gruß Bit

P.S.
Die vor mir geposteten Sourcen sind aber bei weitem besser als das was Du jetzt vorhast !
  Mit Zitat antworten Zitat
Benutzerbild von Thunderchild
Thunderchild

Registriert seit: 12. Nov 2003
Ort: Nohra
139 Beiträge
 
Delphi 7 Personal
 
#17

Re: Problem mit txt Dateien

  Alt 20. Feb 2004, 15:44
Ich weis nicht, ob diese Ersetzen-Routine wirklich funzt.
Edit:
Denn wenn da mehrere Spaces hintereinander stehen, wird er jedes zweite übergehen, da alles nach dem Löschen um eins nach vorn rutscht, Dein Index aber auch um eins weiter geht. Das macht dann einen Suchschritt von zwei Zeichen.

Delphi-Quellcode:
function bla(s:string);
i:integer; c:char;
begin
  // s ist die aus der Datei eingelesene Zeile
  s:=copy(s,1,16);

// Eine Möglichkeit (benötigt Unit StrUtils):
  s:=AnsiReplaceStr(s,' ','');

// Zweite Möglichkeit:
  i:=pos(' ',s);
  while i>0 do begin
    delete(s,i,1);
    i:=pos(' ',s)
  end;

// Bzw auch für Ziffern:
  i:=1;
  while i<=length(s) do
    if s[i] in [' ','0'..'9'] then delete(s,i,1)
                              else inc(i);
  bla:=s
end;
Das letzte Schöne, das in C geschrieben wurde, war Schuberts 9. Sinfonie.
Meine Softwareseite (Link aktualisiert am 13.12.2006).
  Mit Zitat antworten Zitat
felro

Registriert seit: 26. Okt 2003
17 Beiträge
 
#18

Re: Problem mit txt Dateien

  Alt 20. Feb 2004, 16:32
Ok danke an euch beide, dass klingt ja schonmal wesentlich einfacher. Danke felro
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Problem mit txt Dateien

  Alt 20. Feb 2004, 16:37
..wie wäre es mit
Delphi-Quellcode:
function GetOnlyValidChars(aString:String):String;
  newString := '';
  for i := 0 to length(aString) do
  begin
     if not(aString[i] in [#0]) then //hier könntest du noch mehr zeichen ausschliessen
     begin
       newString := newString + aString[i];
     end;
  end;
  result := newString;
end;
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Problem mit txt Dateien

  Alt 20. Feb 2004, 16:54
Leerzeichen entfernen? Schon mal an StringReplace gedacht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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