![]() |
Re: Kann Delphi jetzt kein s[1] mehr?
Zitat:
|
Re: Kann Delphi jetzt kein s[1] mehr?
Kommando zurück!
Habs kapiert, sorry :oops: Und da sag nochmal einer Programmieren sei keine Kunst!! |
Re: Kann Delphi jetzt kein s[1] mehr?
Zählen der Leerzeichen geht doch viel einfacher:
Delphi-Quellcode:
[edit=Christian Seehase] Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit]
function countspaces(s: String): Integer;
begin Result:=length(s)-length(trimleft(s)); end; |
Re: Kann Delphi jetzt kein s[1] mehr?
Zitat:
|
Re: Kann Delphi jetzt kein s[1] mehr?
Zitat:
|
Re: Kann Delphi jetzt kein s[1] mehr?
Tja, kommt halt drauf an, für was man es braucht.
Ich arbeite halt selten mit 2 GB Strings und bin auch noch nicht so erfahren. |
Re: Kann Delphi jetzt kein s[1] mehr?
Nun, ich habe auch selten Strings der Größenordnung 2GB :mrgreen:
Aber im allgemeinen sind da (iterative) Verfahren, die direkt auf den Ausgangsstring zugreifen schneller als wenn man es an eine neue Funktion übergibt, da dafür, wie schon von SirThornberry gesagt, erst neuer Speicher angefordert werden muss. MfG Binärbaum |
Re: Kann Delphi jetzt kein s[1] mehr?
So wirds gemacht:
Delphi-Quellcode:
Und die Testfälle:
function countspacesinfront2(const s: string): Integer;
var i: Integer; begin if Length(s) < 1 then Result := 0 else begin i := 1; while (i <= Length(s)) and (s[i] = ' ') do Inc(i); Result := i - 1; end; end;
Delphi-Quellcode:
memo1.Lines.Add(IntToStr(countspacesinfront2(' Test')) + '=5');
memo1.Lines.Add(IntToStr(countspacesinfront2(' ')) + '=5'); memo1.Lines.Add(IntToStr(countspacesinfront2(' ')) + '=1'); memo1.Lines.Add(IntToStr(countspacesinfront2('')) + '=0'); memo1.Lines.Add(IntToStr(countspacesinfront2('Test')) + '=0'); |
Re: Kann Delphi jetzt kein s[1] mehr?
@blueStarHH:
Das ist doch irgendwie das selbe wie bei SirThornberry :!: |
Re: Kann Delphi jetzt kein s[1] mehr?
Zitat:
Delphi-Quellcode:
Bei SirThornberry kommt 0 raus. Muss aber 1 sein!
memo1.Lines.Add(IntToStr(countspacesinfront3(' ')) + '=1');
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 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