AGB  ·  Datenschutz  ·  Impressum  







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

String zerlegen

Ein Thema von value is NULL · begonnen am 7. Okt 2010 · letzter Beitrag vom 6. Apr 2013
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von Luckie
Luckie

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

AW: String zerlegen

  Alt 7. Okt 2010, 11:29
Es passiert doch nichts, wenn copy fehlertolerant ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#22

AW: String zerlegen

  Alt 7. Okt 2010, 11:40
Stimmt eigentlich schon...

...man übersieht so halt manchmal leicht einen Fehler, weil es richtig aussieht und beim Debuggen woanders gesucht wird.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: String zerlegen

  Alt 7. Okt 2010, 11:55
[sehr OT]
Eigentlich sollten auch sämtliche Listen immer von 1 an gezählt werden. Zumindest würde das wohl jeder Programmieranfänger erwarten und als logisch ansehen.
Und man könnte Schleifen von "0 to Count - 1" einfacher als "1 to Count" schreiben. Logischer wäre das allemal.
Also würde ich die Vorwürfe nicht Copy und Pos machen, sondern vielmehr als Vorreiter der guten Sache bezeichnen .
[/sehr OT]
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: String zerlegen

  Alt 7. Okt 2010, 11:58
[sehr OT]
Da aber intern Basisadresse + Index * Elementbreite zum Berechner der Addresse verwendet wird, wird oft bei einem Index von 0 gestartet.
[/sehr OT]
Markus Kinzler
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#25

AW: String zerlegen

  Alt 7. Okt 2010, 12:11
Delphi-Quellcode:
      a := Copy(tmp_date, 0, 4);
      b := Copy(tmp_date, 5, 2);
      c := Copy(tmp_date, 7, 2);
so funktionierts perfekt

DANKE
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#26

AW: String zerlegen

  Alt 7. Okt 2010, 12:14
Wie schon gesagt
a := Copy(tmp_date, 0, 4); muss eigentlich
a := Copy(tmp_date, 1, 4); heissen
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824

Geändert von mkinzler ( 7. Okt 2010 um 12:16 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#27

AW: String zerlegen

  Alt 7. Okt 2010, 13:20
das funktioniert prima, ich stehe allerdings schon wieder vor einer
neuen herausforderung... ich habe jetzt nämlich diesen string:

2010\10\07\vctrkdielskdoivüqöökd.wav

um genau zu sein habe ich einige die so aufgebaut sind:

2010\10\07\vctrkdielskdoivüqöökd.wav
2010\10\07\vctrkdkkdow9322qöökd.wav
2010\10\07\vctrkkk3ß2kclsß2kc04.wav

usw usw....
das heisst mit pos usw komme ich hier nicht weiter oder?

gibt es die möglichkeit, das ich delphi sage, schreibe mir alles AB dem 3. Backslash in eine variable?

Danke schon mal

LG
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#28

AW: String zerlegen

  Alt 7. Okt 2010, 13:26
gibt es die möglichkeit, das ich delphi sage, schreibe mir alles AB dem 3. Backslash in eine variable?
Ja, per Regex. In neuen Delphi-Versionen ist dies gleich eingebaut, in alten Versionen kannst du die Reg-Ex-Kompos z.B. von LMD oder diversen anderen Quellen nehmen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: String zerlegen

  Alt 7. Okt 2010, 13:27
Hi,

und was würde dir das bringen?
Oder ist dein Ziel jetzt nicht mehr Tag Monat und Jahr zu bekommen?


Mögiche Lösung wäre über AnsireplaceStr

Delphi-Quellcode:
     
tmp_date := Ansireplacestr(tmp_date, '\', '');
 a := Copy(tmp_date, 1, 4);
      b := Copy(tmp_date, 5, 2);
      c := Copy(tmp_date, 7, 2);
Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#30

AW: String zerlegen

  Alt 7. Okt 2010, 13:28
Dafür gibt es Delphi-Referenz durchsuchenPosEx oder du zählst manuell mit einer Schleife:

Delphi-Quellcode:
var
  i : Integer;
begin
  i := 1;
  while (i <= Length(S)) and (S[i] <> '\') do
    Inc(i);
Da steht dann nachher in i die Position wo das "\" steht. Und dann mit Delphi-Referenz durchsuchenCopy einlesen:
NewS := Copy(S, i + 1, Length(S) - i); Beides ungetestet.

Übrigens RegEx wären hier etwas overkill oder?

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 22:26 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