AGB  ·  Datenschutz  ·  Impressum  







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

Zeichen aus einem String filtern/löschen

Ein Thema von Blubbel · begonnen am 29. Nov 2011 · letzter Beitrag vom 2. Dez 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 10:48
Poste doch mal einen Beispieldatensatz (oder noch besser 2 verschiedene) mit dem beabsichtigten Ergebnis. Diese Raterei macht irgendwie keinen Spaß.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 10:58
[28.11.2011 16:54:04.875]:<PSSourceGraphThread> Reinit successful processed.
[28.11.2011 14:20:16.930]:<PSRenderGraphTCPBuilder><DS>Graph.Connect

Naja Zerteilen dann die zeichen löschen und ganz später ne andere funktion solls dann kürzen aber das hab ich glaub ich schon

Wie genau das nachher aussehen soll weiß ich auch net genau

Geändert von Blubbel (30. Nov 2011 um 11:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 11:01
[28.11.2011 16:54:04.875]:<PSSourceGraphThread> Reinit successful processed.
[28.11.2011 14:20:16.930]:<PSRenderGraphTCPBuilder><DS>Graph.Connect

Naja Zerteilen dann die zeichen löschen und ganz später ne andere funktion solls dann kürzen aber das hab ich glaub ich schon
Ich habe irgendwie das Gefühl, dass der String sich immer wieder ändert

Wo bitte kommt denn jetzt der Doppelpunkt her?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 11:03
das ist das womit wir es machen sollen hatte den doppelpunkt wohl immer übersehen... so langsam macht mir diese aufgabe keinen spaß mehr

Also das ist irgendwas fürn server was der ausspuckt wie ich das verstanden habe und wenn man das in der eingabeaufforderung eingibt soll das dann gekürzt sein auf eine bestimmte zeilen länge... wieso ich das erst splitten soll keine ahnung

Geändert von Blubbel (30. Nov 2011 um 11:06 Uhr)
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 11:21
das hier hatte er und gegeben:



Parameter:
-1. einzelne Zeile
(out parameter)
-2. Datum als TDateTime
-3. Array of Ident (String)
-4. Logmessage
-5. severity Status (Fehler Anzahl *chen)
Result: Boolean


Parameter:
-1. einzelne Zeile
(outparameter)
-2. Gekürzte Zeile
Result: Boolean
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 11:49
BIs dahin hab ich schon was gebastelt

Delphi-Quellcode:
function TForm1.Filter(lLine: String; out lDate: TDateTime; out lIdent: array of String; out lLogMessage,
  lSeverityStatus: String): Boolean;
var
  Pos: Integer;
begin
  Result:= false;
  for lLine := 1 to SetLength do
  begin
    if Pos:= Pos('<','>','[',']','*',':', lLine) then
    begin
      Delete(Pos);
    end;
  end;
  Result:= true;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 12:23
das ist das womit wir es machen sollen hatte den doppelpunkt wohl immer übersehen... so langsam macht mir diese aufgabe keinen spaß mehr

Also das ist irgendwas fürn server was der ausspuckt wie ich das verstanden habe und wenn man das in der eingabeaufforderung eingibt soll das dann gekürzt sein auf eine bestimmte zeilen länge... wieso ich das erst splitten soll keine ahnung
Ich nehme jetzt mal stark an, du hast da ein paar ganz entscheidende Sachen im Unterricht nicht mitbekommen.
Das hört sich irgendwie nach "Geh mah und hol wat zum Kuchen backen" denn ausser "Kuchen" ist hier nix klar.
Versuch mit der Information mal die Zutaten für den Kuchen zu kaufen. Richtig, geht auch nicht.

Also mal die Mitschüler oder auch den Lehrer gefragt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 13:22
Also so schwer ist das ja eigentlich nicht. In die Funktion rein geht der String vom Server, wahrscheinlich wird da was geloggt. Rauskommen soll der in seine Bestandteile zerlegte String.

procedure SplitLogLine(LogLine: string; out TimeStamp: string; out Indent1: string; out Indent2: string; out LogMessage: string); Das sagt eigentlich schon alles, was passieren soll.

Jetzt haben wir noch den Aufbau von dem String der vom Server kommt:
Code:
[TimeStamp]:<Indent1><Indent2>LogMessage
Mit Pos und PosEx kann ich jetzt nach "[", "]", "<" und ">" suchen und mit Copy die Bestandteile in die out Parameter kopieren. Kein Problem. Eigentlich nur eine Fingerübung, wenn da jetzt nicht noch eine kleine Gemeinheit wäre. So wie es aussieht, ist Inden2 optional, also nicht in jeder LogLine enthalten. Aber auch das lässt sich lösen, in dem man eine Fallunterscheidung macht in Abhängigkeit von der Anzahl der "<".

Ich denke, das sollte auch für einen Anfänger lösbar sein. Sieh und Zweck der Übung ist es wohl, dass ihr die Zeichenmanipuilationsroutinen (Pos, PosEx, Copy, Delete) von Delphi kennen lernen sollt.

So, deswegen guck mal in der Hilfe, was die Routinen machen und wie man sie anwendet. Wenn du das verstanden hast, sollte es kein Problem sein, die Aufgabe zu lösen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Zeichen aus einem String filtern/löschen

  Alt 30. Nov 2011, 13:41
Danke!!!
Ich hatte mir auch grad was überlegt:
Wenn ich immer nach diesen Zeichen es in einem Buffer speichern lasse und ab dem zeichen was grad ausgemacht wurde weiter suche usw. Das könnte doch auch gehen...
  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 13:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz