Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prüfen ob Maske stimmt, sondt anpassen (https://www.delphipraxis.net/37189-pruefen-ob-maske-stimmt-sondt-anpassen.html)

Pseudemys Nelsoni 2. Jan 2005 10:30


Prüfen ob Maske stimmt, sondt anpassen
 
hi,

ich muss einen string überprüfen, der an meine funktion übergeben wird.
Er muss am ende dem hier entsprechen:

Zitat:

*!*@*
der erste stern für den nickname, der zweite für den ident, der dritte für den host.
Wenn man nun z.b "bla" an die funktion übergibt, sollte die funktion den string in:

Zitat:

bla!*@*
umwandeln

bei "*bla*":

Zitat:

*bla*!*@*
bei "@*bla"

Zitat:

*!*@*bla
usw...

das problem ist, das es einfach zu viele möglichkeiten gibt die ich prüfen müsste, gibt es da was anderes als die funktion "MatchesMask()" ?

mirage228 2. Jan 2005 10:35

Re: Prüfen ob Maske stimmt, sondt anpassen
 
Hi,

wie wärs mit einer solchen Funktion?

Delphi-Quellcode:
function BuildString(const Nickname: string = '*'; const Ident: string = '*'; const Host: string = '*'): string;
begin
  Result := Format('%s!%s@%s', [Nickname, Ident, Host]);
end;
Falls es kompliziert wird als das hier, solltest Du dir vielleicht "reguläre Ausdrücke" ansehen (z.B. www.regexpstudio.com)

mfG
mirage228

Pseudemys Nelsoni 2. Jan 2005 10:41

Re: Prüfen ob Maske stimmt, sondt anpassen
 
hallo mirage,

daran habe ich auch schon gedacht, nur gibt es da 2 probleme...

1. bekomme ich den string in diesem format: "hi!bla@blubb", das heisst ich müsste ihn vorher auseinandernehmen um ihn an die funktion zu übergeben. der übergebene string kann eben so auch nur "hi" sein oder "@hi", bei ersterem müsste das ergebnis dann "hi!*@*" bei letzterem "*!*@hi" sein.

2. wenn der nick nicht angegeben ist (in deiner funktion) dann wird der ident als nick übergeben und der Host als ident, da sie ja default sind, natürlich stimmt das dann ja nicht :cry:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 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