AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi An welcher Position war/ist die Variable im Template
Thema durchsuchen
Ansicht
Themen-Optionen

An welcher Position war/ist die Variable im Template

Ein Thema von RWarnecke · begonnen am 25. Jul 2016 · letzter Beitrag vom 26. Jul 2016
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:12
Hallo zusammen,

ich habe folgende Ausgangssituation. Ich habe ein Template, welches wie folgt aussieht :
Zitat:
P%counter%%year%
Beide Variablen werden mit StringReplace entsprechend bei der Benutzung des Templates ersetzt. Die Variable %counter% hat keine führenden Nullen und somit keine feste Länge. Also zum Beispiel P12016 oder P1002016. Das Template ist frei wählbar und ich habe damit keinen Anhaltspunkt um den String zum Beispiel anhand eines Zeichens zu trennen.

Wie muss ich jetzt darangehen um rauszubekommen, wie hoch mein Wert in der Variable %counter% ist ? Ich will den Wert für den Counter neu setzen, zum Beispiel nach einem Import von Datensätzen.
Rolf Warnecke
App4Mission
  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
 
#2

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:15
Das Jahr ist immer 4-stellig?
Vorne ist immer ein Zeichen, was nicht dazugehört?

Hört sich trivial an ...
counter := Integer.Parse( str.SubString( 1, str.Length - 5 ) );
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)

Geändert von Sir Rufo (25. Jul 2016 um 17:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:19
Das Template kann aber auch so aussehen :
Zitat:
100%counter%3081%year%
Rolf Warnecke
App4Mission
  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
 
#4

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:22
Das Template kann aber auch so aussehen :
Zitat:
100%counter%3081%year%
Dann ist deine Frage also:

Ich hab da irgendeine beliebige Zeichenfolge und will daraus den counter Wert ermitteln.

Antwort: No way
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 RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:25
Das ist Schade. Dann muss ich mir etwas anderes überlegen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:26
Das Template ist aber doch irgendwo gespeichert, oder?
Vor der eigentlichen Verarbeitung müßte man also im Template den %counter%-Text und den %year%-Text suchen und anhand ihrer Positionen sieht man, was der Anwender rundherum dazudefiniert hat. Dies wiederum muß man nun weglöschen und landet bei %counter%%year%, bei dem nun noch die letzten vier Characters weg müssen.
Nr.1 Delphi-Tool: [F7]
  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: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:26
Das ist Schade. Dann muss ich mir etwas anderes überlegen.
Ist dir das Template denn wenigstens bekannt? Damit könnte man noch etwas anfangen
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 Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:26
Oder anders gesagt: Wenn es wirklich eine feste (möglicherweise komplizierter als du bisher denkst) Regel für die Zusammensetzung gibt, es keine Trennzeichen gibt und du höchstens 1 Wert variabler Größe hast, dann geht es.

Und ein Template impliziert eigentlich ein vorgegebenes, festes Muster, sonst ist es kein Template.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:43
Könntest Du mir (oder vielleicht lieber dem Sir oder so ) denn erklären, wie ich die Korrektur händisch zuverlässig erledigen könnte?

Gibt es also klare Kriterien dafür? Wenn DAS zutrifft, dann nimm DIESE Ziffern bzw. wenn als Muster FOLGENDE Datei benutzt wurde dann DIESE Ziffern...

Wenn ja, sollte es einfach zu lösen sein, wenn nicht, dann nicht.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

AW: An welcher Position war/ist die Variable im Template

  Alt 25. Jul 2016, 17:58
Also das Template (z.B. 100%counter%3081%year%) steht so in der Datenbank. Der Inhalt des Templates wird in ein Eingabefeld eingefügt, wobei die Variablen %year% und %counter% mit StringReplace entsprechend mit Werten ersetzt wird. Jetzt ist es so, dass Datensätze über eine Importdatei importiert werden können. Ein Feld in den Datensätzen enthält das Template (z.B.100130812016). Wenn ich jetzt die Anfrage auf dieses Feld ausführe sollte er mir als Wert für %counter% = 1 ausgeben.

Hier noch ein paar Beispiele :

1001030812016 --> %counter% = 10
10012530812016 --> %counter% = 125
100217830812016 --> %counter% = 2178
10047930812016 --> %counter% = 479

Das heißt, wenn diese 4 Datensätze importiert wurden, muss ich als Endergebnis 2178 erhalten. So dass wenn ich jetzt wieder manuell einen Datensatz hinzufüge als nächstes das Template gefüllt wie folgt aussieht :

100217930812016

Ich hoffe, es ist etwas klarer geworden, was ich erreichen will. Ansonsten fragt nochmal nach.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 12:49 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