Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wie mach ich ein hallöchen zu einem h.l.ö.h.n ? (https://www.delphipraxis.net/37351-wie-mach-ich-ein-halloechen-zu-einem-h-l-oe-h-n.html)

ch33seburger 4. Jan 2005 22:30


wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
hi :)

also ich würde gern nen quiz bauen.
und dazu bräuchte ich so ne funktion...

also das jeder zweiter buchstabe zu einem '.' wird. (für die tipps)
allerdings sollten die leerzeichen nicht zu einem '.' gemacht werden sondern ein leerzeichen bleiben ^^

also das quasi: 'Der Hase' zu einem 'D.r H.s.' wird.

würde mich sehr über eine antwort freuen!
danke

Daniel 4. Jan 2005 22:33

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Nach dem Lesen Deines Beitrages ist klar, was Du willst - aber bitte bringe den Titel in eine Form, aus der direkt deutlich wird, was Du machen willst. Danke. ;-)

Luckie 4. Jan 2005 22:38

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Hm, also das erste, was mir dazu einfällt währe Delphi-Referenz durchsuchenStringReplace.

ch33seburger 4. Jan 2005 22:44

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
hm.. mit einem stringreplace kann ich doch nur bestimmte buchstaben ersetzen oder etwa nicht?
aber ich will doch jeden zweiten buchstaben haben :>

Chris1986 4. Jan 2005 22:49

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Hi
Geh doch einfach mit einer while-Schleife von Zeichen 1 bis length(deinstring).
Z.B. so:
Delphi-Quellcode:
var i: integer;
    deinstring: string;
begin
  i := 2;
  while i <= length(deinstring) do
  begin
    if deinstring[i] <> ' '
      then deinstring[i] := '.';
    inc(i, 2); //Nur jeder 2te Buchstabe soll verändert werden
  end;
end;
MfG
Christian

//Edit: length, nicht count :wall:

gothic_mike 4. Jan 2005 22:56

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Zitat:

Zitat von ch33seburger
hm.. mit einem stringreplace kann ich doch nur bestimmte buchstaben ersetzen oder etwa nicht?
aber ich will doch jeden zweiten buchstaben haben :>

probiers mal so (Nicht getestet, nur mal schnell so hingetippert):

Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var
  DerString: String;
  ZweitesZeichen: Boolean;
  i: integer;
Begin
  DerString := Edit1.Text;
  ZweitesZeichen := False;
  For i := 1 To Length(DerString) Do
    If DerString[i] <> ' ' Then
    Begin
      If ZweitesZeichen Then
      Begin
        DerString[i] := '.';
        ZweitesZeichen := False;
      End
      Else
        ZweitesZeichen := True;
    End
    Else
      ZweitesZeichen := False;

  Edit2.Text := DerString;
End;

ch33seburger 4. Jan 2005 22:59

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
danke :D
hat wunderbar geklappt!

vielen dank

Magier 4. Jan 2005 23:24

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Delphi-Quellcode:
function replacetext(workstring:string):string;
var i, gerade:integer;
s, s2:string;
begin
s:= workstring;
gerade:=1;
for i := 1 to length(s) do begin
if (gerade mod 2 =1) or (s[i]=' ') then s2:=s2+s[i] else s2:=s2+'.';
gerade:=gerade+1;
end;
result :=s2;
end;
//oh, ich sollte öfter f5 drücken... :roll: :roll: :roll:

Christian Seehase 5. Jan 2005 00:53

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
Moin Magier,

weil's mir gerade so ins Auge springt:
Die Variablen s2 und gerade kannst Du einsparen:

Delphi-Quellcode:
function replacetext(workstring:string):string;

var
  i : integer;
  s : string;

begin
  s := workstring;
  for i := 1 to length(s) do begin
    if (i mod 2 = 0) and (s[i] <> ' ') then s[i] := '.';
  end;
  result :=s;
end;

Chris1986 5. Jan 2005 09:33

Re: wie mach ich ein hallöchen zu einem h.l.ö.h.n ?
 
@ Christian Seehase:
Warum benutzt du zum Zerpflücken des Strings nicht direkt die Variable "workstring"?

MfG
Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr.
Seite 1 von 2  1 2      

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