AGB  ·  Datenschutz  ·  Impressum  







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

Platzhalter mal andersrum bzw. Parser ?

Ein Thema von Bitworm · begonnen am 14. Feb 2005 · letzter Beitrag vom 14. Feb 2005
Antwort Antwort
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#1

Platzhalter mal andersrum bzw. Parser ?

  Alt 14. Feb 2005, 16:15
Hi !

Folgende Problemstellung: ein String von variabler Länge hat einen definierten Aufbau, um
so bestimmte Substrings herausschnibbeln zu können.
Beispiel: hinterlegt ist als Formataufbau *%a*%b=%cEUR [%d].
Strings die rein kommen sehen so aus :

*444*333=2345EUR [Test]
*123432*22=111111EUR [Willi Wacker]
usw.

Ich suche nun eine Funktion (vielleicht kennt jemand ja eine fertige Lösung), in der ich das
Ganze auslesen kann (also der entgegengesetzte Vorgang, wie er sonst bei Platzhaltern durch-
geführt wird).
Der Aufruf wäre dann also der, daß ich den String zerlegt bekomme und als Ergebnis eine
StringListe bekomme wie folgt:

Aufruf mit *%a*%b=%cEUR [%d] und *444*333=2345EUR [Test]
%a=444
%b=333
%c=2345
%d=Test

Kann man das Ganze als Parser bezeichnen ? Wenn jemand einen Tipp für mich hat wäre ich sehr dankbar.
Rolf Heinen
Bye und bis denne

Bitworm
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Platzhalter mal andersrum bzw. Parser ?

  Alt 14. Feb 2005, 16:40
Hi,

am einfachsten geht das mit regulären Ausdrücken.

Da diese in Delphi aber nicht standardmäßig unterstützt werden, kannst du dir eine entsprechende Klasse zum Beispiel hier herunterladen. Unter Hier im Forum suchenTRegExpr findest du auch einige Beispiele zur Verwendung.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
opfer.der.genauigkeit

Registriert seit: 14. Feb 2005
66 Beiträge
 
#3

Re: Platzhalter mal andersrum bzw. Parser ?

  Alt 14. Feb 2005, 16:56
Ist % immer vorhanden und a, b, c nur ein fortlaufender Bezeichner?
Dann könntest du nach % parsen ohne dir vorher RegEx reinzuziehen.. wobei das schon ziemlich stylisch ist.
Stellen Sie sich bitte Zirkusmusik vor.
  Mit Zitat antworten Zitat
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Platzhalter mal andersrum bzw. Parser ?

  Alt 14. Feb 2005, 17:55
Zitat von opfer.der.genauigkeit:
Ist % immer vorhanden und a, b, c nur ein fortlaufender Bezeichner?
Dann könntest du nach % parsen ohne dir vorher RegEx reinzuziehen.. wobei das schon ziemlich stylisch ist.
Das % zur Identifikation des Platzhalters ist immer vorhanden.
Rolf Heinen
Bye und bis denne

Bitworm
  Mit Zitat antworten Zitat
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Platzhalter mal andersrum bzw. Parser ?

  Alt 14. Feb 2005, 17:59
Zitat von Niko:
Hi,

am einfachsten geht das mit regulären Ausdrücken.

Da diese in Delphi aber nicht standardmäßig unterstützt werden, kannst du dir eine entsprechende Klasse zum Beispiel hier herunterladen. Unter Hier im Forum suchenTRegExpr findest du auch einige Beispiele zur Verwendung.
Den Link werde ich mir mal genau ansehen. Danke für den Hinweis !
Rolf Heinen
Bye und bis denne

Bitworm
  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 08:22 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