AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'
Thema durchsuchen
Ansicht
Themen-Optionen

String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

Ein Thema von gmarts · begonnen am 25. Mai 2004 · letzter Beitrag vom 15. Aug 2004
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#1

String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 13:52
Hallo!
Wie erstelle ich einen String mit n gleichen Zeichen ohne eine Schleife zu benutzen?
z.B. n=5 und zeichen:='a' dann s:='aaaaa'
Man kann ja Strings addieren, gibt es dann auch eine Funktion, die sie multipliziert?


MfG GM
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
ims

Registriert seit: 23. Jul 2003
Ort: Sirnach
157 Beiträge
 
Delphi 7 Professional
 
#2

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 13:59
hi gmarts

hmm, hab keinen plan wie das ohne schleife gehen soll.

was hindert dich denn daran, eine schleife zu benutzen?? mit einer for-schleife bräuchtest du 2 zeilen...


gruss, dave
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#3

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:00
Weiß nicht, ob Delphi dafür eine Funktion bietet, sonst kannst du es mit Rekursion lösen:

Delphi-Quellcode:
function FillString(s, zeichen: String; count: Integer): String;
begin
  s := s + zeichen;
  if Length(s) < count then
    s := FillString(s, zeichen, count);
  Result := s;
end;
Um eine Variable bspw. mit 5 "a" zu füllen, würde der Aufruf so aussehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := '';
  s := FillString(s, 'a', 5);
end;
MfG Pr0g
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:01
function DupeString(const AText: string; ACount: Integer): string; in der Unit StrUtils...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:04
Danke für die schnellen Antworten!
Danke Stevie!!!! Habe ich in der Delphi-Hilfe wohl übersehen.

Wahrscheinlich bin ich nur zu pingelig. Eine Schleife/Rekursion erscheint mir zu langsam, besonders wenn n in den 6stelligen Bereich geht und ich diese Schleife während einer Berechnung mehrmals aufrufen muss.
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
ims

Registriert seit: 23. Jul 2003
Ort: Sirnach
157 Beiträge
 
Delphi 7 Professional
 
#6

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:05
ob es allerdings mit DupeString() schneller geht...?


gruss, dave
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:06
Muss ich wohl testen!

Wahrscheinlich benutzt DupeString() intern auch ne Schleife.
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:07
Zitat von ims:
ob es allerdings mit DupeString() schneller geht...?
Urteile selbst...
Delphi-Quellcode:
function DupeString(const AText: string; ACount: Integer): string;
var
  P: PChar;
  C: Integer;
begin
  C := Length(AText);
  SetLength(Result, C * ACount);
  P := Pointer(Result);
  if P = nil then Exit;
  while ACount > 0 do
  begin
    Move(Pointer(AText)^, P^, C);
    Inc(P, C);
    Dec(ACount);
  end;
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#9

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:08
Zitat von gmarts:
Wahrscheinlich benutzt DupeString() intern auch ne Schleife.
Jap, so schaut's aus
zwar 'nur' Pointer-Gefummel, aber nevertheless ne Schleife


Gruß
Stephan

edit: Ups, zu langsam
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: String mit gleichen Zeichen füllen z.B. s:='aaaaaaaa'

  Alt 25. Mai 2004, 14:09
Danke! Na dann ist ja alles geklärt !
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05: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