![]() |
Delphi-Version: 5
komma am ende von string entfernen
hallow ie kann ich eigtl. ein komma am ende von einem String entfernen?
Code:
danke
procedure TForm2.Button1Click(Sender: TObject);
var i: Integer; begin i := 0; repeat inc(i); memo1.Lines.Add(inttostr((i))); until (i = 100); end; procedure TForm2.Button2Click(Sender: TObject); var iZaehler: Integer; sKstring: string; begin for izaehler := 1 to 100 do begin sKstring := sKstring + inttostr(iZaehler) + ', '; // Hier das Komma ; end; memo1.Lines.add(sKstring); end; end. |
AW: komma am ende von string entfernen
:wiejetzt:
Du fügst ein Komma an das Ende vom String ein und willst jetzt wissen, wie man das wegbekommt? Lass es einfach sein ... dann kommt da auch kein Komma hin ... (bzw. so wie du das aufgeschrieben hast geht das ja schon mal gar nicht ... das wird so nicht compiliert) |
AW: komma am ende von string entfernen
Zitat:
doch wird compiliert |
AW: komma am ende von string entfernen
ich nehme an Du meinst so etwas
Delphi-Quellcode:
var iZaehler: Integer;
sKstring: string; begin for izaehler := 1 to 100 do begin sKstring := sKstring + inttostr(iZaehler)+ ', ' ; // Hier das Komma end; memo1.Lines.add(Copy(sKstring,1,Length(sKstring) - 2)); end; |
AW: komma am ende von string entfernen
Zitat:
|
AW: komma am ende von string entfernen
Zitat:
Wenn du aber dort kein Komma haben möchtest, dann lass das doch einfach weg? |
AW: komma am ende von string entfernen
In der Schleife
Delphi-Quellcode:
So wird das Komma bei jedem Durchlauf außer beim Letzten hinzugefügt.
if izaehler <> 100 then
sKstring := sKstring + ', '; |
AW: komma am ende von string entfernen
Zitat:
|
AW: komma am ende von string entfernen
Eine Alternative wäre auch nach der Schleife folgendes:
Delphi-Quellcode:
SetLength(sKstring,Length(sKstring)-1);
|
AW: komma am ende von string entfernen
Möchtest du etwa folgendes Ergebnis haben:
Code:
Dann füge einfach die Zahlen in ein StringList (jede Zahl mit Add immer rein)
1,2,3,4,5,6,7,8, .... ,100
Und mit der Eigenschaft CommaText bekommst du dann die gewünschte Ausgabe ;)
Delphi-Quellcode:
var iZaehler: Integer;
sl : TStringList; begin sl := TStringList.Create; try for izaehler := 1 to 100 do sl.Add( IntToStr( iZaehler ) ); memo1.Lines.add( sl.CommaText ); finally sl.Free; end; end; |
AW: komma am ende von string entfernen
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
const Zeilenenden: array[Boolean] of string = ('', ', '); var iZaehler: Integer; sKstring: string; begin for izaehler := 1 to 100 do begin sKstring := sKstring + inttostr(iZaehler) + Zeilenenden[izaehler <> 100]; end; memo1.Lines.add(sKstring); end; |
AW: komma am ende von string entfernen
@DeddyH
mit Abstand am hübschesten ... |
AW: komma am ende von string entfernen
Danke :angel2:
|
AW: komma am ende von string entfernen
@DeddyH: Das geht doch auch schöner ohne Array
Delphi-Quellcode:
Und falls das IfThen nicht beim Delphi dabei ist
procedure TForm2.Button2Click(Sender: TObject);
var iZaehler: Integer; sKstring: string; begin for izaehler := 1 to 100 do begin sKstring := sKstring + inttostr(iZaehler) + IfThen( izaehler <> 100, ', ', '' ); end; memo1.Lines.add(sKstring); end;
Delphi-Quellcode:
function IfThen( BoolValue : Boolean; const TrueStr : string; const FalseStr : string = '' ) : string;
begin if BoolValue then Result := TrueStr else Result := FalseStr; end; |
AW: komma am ende von string entfernen
Ich nehme aber lieber die Array-Lösung, die geht immer und benötigt keine Funktion.
|
AW: komma am ende von string entfernen
@DeddyH
wobei Sir Rufo's Lösung universeller einsetzbar ist ... |
AW: komma am ende von string entfernen
Und jetzt möchte ich noch per radiobutton auswählen können das NUR grade Zahlen angezeigt werden oder nur ungerade,, ;D
|
AW: komma am ende von string entfernen
Schön für dich, wie wäre es mit selber nachdenken?
Wie würdest du denn diese Aufgabe mit Stift und Papier lösen? |
AW: komma am ende von string entfernen
Das solltest Du aber selbst schaffen - oder?
Durch Versuch+Irrtum lernt man am besten... Ich werfe nur mal noch "odd" in den Raum :wink: |
AW: komma am ende von string entfernen
Oder man setzt das Komma abhängig vom string und nicht vom Index.
Delphi-Quellcode:
var iZaehler: Integer;
sKstring: string; begin for izaehler := 1 to 100 do begin if sKstring <> '' then sKstring := sKstring + ', '; sKstring := sKstring + IntToStr(iZaehler); end; Memo1.Lines.Add(sKstring); end; ![]() |
AW: komma am ende von string entfernen
Wenn man nach 'Erweiterbarkeit' geht, ist die Lösung von himitsu die bessere, da die Schleifengrenze (hier: 100) nur an einer Stelle zu ändern ist.
|
AW: komma am ende von string entfernen
Dafür hat mal ein schlauer Mensch die Variablen bzw. Konstanten erfunden :stupid:. Man könnte auch TStringlist in Verbindung mit DelimitedText oder CommaText verwenden, der Möglichkeiten gibt es viele.
|
AW: komma am ende von string entfernen
Zitat:
|
AW: komma am ende von string entfernen
Siehste :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz