AGB  ·  Datenschutz  ·  Impressum  







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

Einen String "verkleinern"

Ein Thema von qb-tim · begonnen am 31. Mai 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Einen String "verkleinern"

  Alt 31. Mai 2006, 16:25
Hi,

ich weiß, dass schon mehrere Fragen zum Thema Copy und Pos gestellt wurden aber in keiner fand ich was ich richtig brauchte...

Ich habe in einem meiner Programme eine Searchlist der Dateien eines Ordners von dem ich weiß, dass er nur *.txt Dateien enthält (also: nicht einmal Ordner), weil sie von meinem Programm erstellt wurden.

Diese Searchlist wird dann in eine ListBox geladen und da kommt mein Problem:

Die Searchlist enthält die Dateinamen inklusive .txt - Dies will ich aus der String entfernen.

Da ich aber nicht weiß wie lange der eigentliche Dateiname ist, weiß ich nicht wie ich Copy oder Pos anwenden soll um die letzten vier Zeichen eines Strings zu entfernen.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Einen String "verkleinern"

  Alt 31. Mai 2006, 16:28
schau Dir mal die Prozedur ChangeFileExt(const FileName, Extension: string): string; an
hier kannst Du als Extension auch '' eingeben, damit ist die Extension weg.


Ansonsten mit delete arbeiten. length bekommst Du die Stringlänge.
procedure Delete(var S: string; Index, Count:Integer); delete(AString,length(AString)-4,4)

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Einen String "verkleinern"

  Alt 31. Mai 2006, 16:30
setLength( s, Length( s)-1);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#4

Re: Einen String "verkleinern"

  Alt 31. Mai 2006, 16:40
Ihr habt mich auf folgendes gebracht:

Delphi-Quellcode:
// Dateiname := '*.txt'
// ich möchte DateiName ohne '.txt'
DateiName := Copy(Dateiname, 1, length(DateiName)-4);
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: Einen String "verkleinern"

  Alt 31. Mai 2006, 16:41
Zitat von Klaus01:
Ansonsten mit delete arbeiten. length bekommst Du die Stringlänge.
procedure Delete(var S: string; Index, Count:Integer); delete(AString,length(AString)-4,4)

Grüße
Klaus
Falsch.

Um die letzten 4 Zeichen eines Strings zu löschen, benötigst du folgenden Code:
Delete(s, Length(s)-3, 4);
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Einen String "verkleinern"

  Alt 31. Mai 2006, 17:21
@MArc,

danke, passiert mir immer wieder :o(

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#7

Re: Einen String "verkleinern"

  Alt 1. Jun 2006, 15:46
Warum macht ihr euch da überhaupt einen Kopp?

Macht doch:

Delete(s, pos('.', s), length(s)); length(s) geht, da delete die Länge des Strings eh überprüft.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Einen String "verkleinern"

  Alt 1. Jun 2006, 16:03
@Vjay
Filename := 'Dies.ist.nur.ein.Beispiel.txt'; Die einfachste und sauberste Lösung hat Klaus01 mit ChangeFileExt beschrieben.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#9

Re: Einen String "verkleinern"

  Alt 1. Jun 2006, 16:24
Ging mir eigentlich auch mehr um die Verwendung von delete ansich.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
guste

Registriert seit: 23. Apr 2006
19 Beiträge
 
#10

Re: Einen String "verkleinern"

  Alt 2. Jun 2006, 17:12
ListBox .Text := StringReplace(ListBox.Text,'.txt','',[rfReplaceAll]) Das würde auch gehen. ChangeFileExt wäre aber mein Favorit.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:40 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