Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in Spalte durch xxx ersetzen (https://www.delphipraxis.net/114959-string-spalte-durch-xxx-ersetzen.html)

SaFu 3. Jun 2008 14:54

Re: String in Spalte durch xxx ersetzen
 
ja das tut es aber nicht es stehen immernoch drei xxx drin??

Klaus01 3. Jun 2008 14:56

Re: String in Spalte durch xxx ersetzen
 
Delphi-Quellcode:
sl[i]:=copy(sl[i],1,length(sl[i])-3)+'xxx'
copy liefert einen LeerString zurück und es werden drei x angehangen.

Vielleicht solltest Du vorher prüfen ob der String auch mehr als 3 Zeichen beinhaltet.

Grüße
Klaus

SaFu 3. Jun 2008 15:01

Re: String in Spalte durch xxx ersetzen
 
Das mach ich doch ich prüfe vorher ob ein leer string vorhanden ist wenn ja soll er leer reinschreiben

DeddyH 3. Jun 2008 15:04

Re: String in Spalte durch xxx ersetzen
 
Du musst prüfen, ob der String länger ist als 3 Zeichen, Du löschst ja schließlich auch 3 Zeichen raus.

SaFu 3. Jun 2008 15:20

Re: String in Spalte durch xxx ersetzen
 
Na irgenwie will das net wenn ich auf länger prüfe schreibt er überall leer rei

Delphi-Quellcode:
procedure ConvertStrings(sl:TStrings);
var i :integer;
begin
  for i := 1 to Pred(sl.Count) do
  if sl[i] > Char(3) then
   begin
    sl[i]:='leer'
   end
   else
  sl[i]:=copy(sl[i],1,length(sl[i])-3)+'xxx'
end;

Klaus01 3. Jun 2008 15:23

Re: String in Spalte durch xxx ersetzen
 
Sascha, heute ist nicht Dein Tag, oder?

Delphi-Quellcode:
procedure ConvertStrings(sl:TStrings);
var i :integer;
begin
  for i := 1 to Pred(sl.Count) do
    begin
      if length(sl[i]) <= 3 then
        begin
          sl[i]:='kleiner als 3 Zeichen'
        end
      else
        sl[i]:=copy(sl[i],1,length(sl[i])-3)+'xxx'
    end;
end;
Grüße
Klaus

[edit] delphi tags vergessen

DeddyH 3. Jun 2008 15:25

Re: String in Spalte durch xxx ersetzen
 
Wieso fangt Ihr eigentlich bei 1 an, hab ich was übersehen?
Zitat:

Delphi-Quellcode:
for i := 1 to Pred(sl.Count) do


taaktaak 3. Jun 2008 15:26

Re: String in Spalte durch xxx ersetzen
 
Ja Kruzifix, Sascha!

Die Behandlung auf <=3 Zeichen muss natürlich in den else-Zweig.

Zunächst muss du aber einmal die Anforderung definieren: Was soll den geschehen, wenn der String nur aus 3 oder weniger Zeichen besteht?

Klaus01 3. Jun 2008 15:27

Re: String in Spalte durch xxx ersetzen
 
Zitat:

Zitat von DeddyH
Wieso fangt Ihr eigentlich bei 1 an, hab ich was übersehen?
Zitat:

Delphi-Quellcode:
for i := 1 to Pred(sl.Count) do


Vielleicht hat er ja eine FixedRow definiert.
Grüße
Klaus

taaktaak 3. Jun 2008 15:28

Re: String in Spalte durch xxx ersetzen
 
Hihi, gute Frage!
Zunächst hatten wir bei 0 begonnen, im Laufe des Gefechts hat sich da aber 'ne 1 eingeschlichen...

// edit: Autsch!!! - Die Hitze!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 Uhr.
Seite 2 von 3     12 3      

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