![]() |
Re: Buchstaben weiterzählen
zählt von "a" bis "z":
Delphi-Quellcode:
for i := 1 to Lenght(text) do
if text[i] < 'z' then text[i] := Chr(Ord(text[i])+1) else text[i] := 'a'; |
Re: Buchstaben weiterzählen
Das ist schonmal super! Danke!
Aber, neues Problem: 1. äöü wird in a umgewandelt. 2. Geht mit Großbuchstaben nicht. 3. Wenn ich die Buchstaben im 2er Schritt weiterzähl dann wird jedes z in ein a umgewandelt(müsste aber ein b sein) und der Buchstabe, der über z hinausgeht, wird auch ein Sonderzeichen!(z.B. y wird zu { ) Edit: Hab das 2&3 Problem gelöst (Großbuchstaben werden in Kleinbuchstaben umgewandelt & drittens hab ich mit einer Schleife gelöst) Nur wie durchsuche ich den String nach äöü und wandle diese in ae oe ue um? |
Re: Buchstaben weiterzählen
Delphi-Quellcode:
und dann für alle...
for i:=1 to length(text) do
if text[i]='ä' then begin delete(text,i); insert(text,i,'ae'); end; da fällt mir grade ein: ich bin mir nicht sicher ob die wirklich delete und insert heissen... gib ma innner hilfe strutils ein, und dann klick dich weiter, dann hast du da ne liste mit allen string-funktionen.... |
Re: Buchstaben weiterzählen
Hi fes,
Anstatt Insert und Delete kannst du auch ![]() ![]() Das andere Problem wird eben etwas schwierig, aber ich hab im Moment leider keine Zeit (und kein Delphi) mir eine vernünftige Lösung einfallen zu lassen, sorry. Greetz alcaeus |
Re: Buchstaben weiterzählen
Zitat:
Wenn du mal genau angeben würdest, wie du zählen willst, dann könnte man da auch was machen. Für mein Beispiel würde ich das dann mal so definieren: a>b, b>c ... y>z, z>a Es ist vorallem wichtig, ob z.B. aus 'nem "C" ein "D", oder "d" werden soll Hier werden z.B. die Groß- und Kleinbuchstaben (a-z, A-Z) in zwei schleifen durchgezählt:
Delphi-Quellcode:
und wenn man in mehreren Schritten Zählen will, dann könnte das so aussehn:
for i := 1 to Lenght(text) do
if text[i] in ['a'..'z'] begin if text[i] < 'z' then text[i] := Chr(Ord(text[i])+1) else text[i] := 'a'; end else if text[i] in ['A'..'Z'] begin if text[i] < 'Z' then text[i] := Chr(Ord(text[i])+1) else text[i] := 'A'; end;
Delphi-Quellcode:
oder etwas kürzer:
for i := 1 to Lenght(text) do
if text[i] in ['a'..'z'] then begin if Chr(Ord(text[i])+3) <= 'z' then text[i] := Chr(Ord(text[i])+3) else text[i] := Chr(Ord(text[i])-25); end else if text[i] in ['A'..'Z'] then begin if Chr(Ord(text[i])+3) <= 'Z' then text[i] := Chr(Ord(text[i])+3) else text[i] := Chr(Ord(text[i])-25); end;
Delphi-Quellcode:
for i := 1 to Lenght(text) do
if text[i] in ['a'..'z', 'A'..'Z'] then if AnsiLowerCase(Chr(Ord(text[i])+3)) <= 'z' then text[i] := Chr(Ord(text[i])+3) else text[i] := Chr(Ord(text[i])-25); Zitat:
![]() [add] @glkbkk das sollte so auch gehn, aber es geht auch einfacher :zwinker: |
Re: Buchstaben weiterzählen
:wall: :wall: :wall:
klar, strinreplace also einfach dies:
Delphi-Quellcode:
begin
StringReplace(Text,'ä','ae'); StringReplace(Text,'ö','oe'); StringReplace(Text,'ü','ue'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 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