AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi wie mach ich ein hallöchen zu einem h.l.ö.h.n ?

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

Ein Thema von ch33seburger · begonnen am 4. Jan 2005 · letzter Beitrag vom 5. Jan 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#11

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

  Alt 5. Jan 2005, 10:45
ich sag es geht noch kürzer:

Delphi-Quellcode:
function workstring(Value:string):string;
var i:integer;
begin
  for i:=1 to length(Value) do
    if (i mod 2=0) and (Value[i]<>' ') then Value[i]:='.';
  Result:=Value;
end;
oder gar so:

Delphi-Quellcode:
procedure workstring(var Value:string);
var i:integer;
begin
  for i:=1 to length(Value) do
    if (i mod 2=0) and (Value[i]<>' ') then Value[i]:='.';
end;
Edit: bedingung übersehen
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#12

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

  Alt 5. Jan 2005, 11:15
Zitat von Christian Seehase:
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;
das "i mod 2 = 0" reicht aber nicht aus, denn bspw. bei dem text "Hase Hase" kommt bei deiner funktion "H.s. .a.e" raus...
um sowas zu umgehen kann man z.B. eine zweite zählvariable einbauen, die die position ab dem letzten leerzeichen enthält, z.B. so:
Delphi-Quellcode:
function ReplaceText(const WorkString: string): string;
var I,C: Integer;
    S: string;
begin
  S := WorkString;
  C := 0;
  for I := 1 to Length(S) do begin
    Inc(C);
    if S[I] <> ' then begin
      if C mod 2 = 0 then
        S[I] := '.';
    end else C := 0;
  end;
  Result := S;
end;
dann wird aus dem doppelten hasen (über sinngehalt wird sich nich gestritten ) auch wieder "H.s. H.s."
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#13

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

  Alt 5. Jan 2005, 13:10
Moin Christian,

Zitat von Chris1986:
Warum benutzt du zum Zerpflücken des Strings nicht direkt die Variable "workstring"?
Gewohnheit.
Ich verwende bei Parametern immer var oder const.

@Nothine:
Zitat von Nothine:
das "i mod 2 = 0" reicht aber nicht aus,
bezüglich der Vorgabe schon
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:02 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