Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kombination der Groß-Klein Buchstaben (https://www.delphipraxis.net/112370-kombination-der-gross-klein-buchstaben.html)

Dax 19. Apr 2008 22:04

Re: Kombination der Groß-Klein Buchstaben
 
Delphi-Quellcode:
procedure PermuteCase(const s: string; list: TString; startIndex: Integer := 0);
var temp: string;
begin
  if startIndex > length(s) then exit;
  if startIndex = 0 then
  begin
    temp := lowercase(s);
    startIndex := 1;
  end
  else
    temp := s;
  list.Add(temp);
  PermuteCase(temp, list, startIndex + 1);
  temp[startIndex] := upper(temp[startIndex]);
  list.Add(temp);
  PermuteCase(temp, list, startIndex + 1);
end;
Womöglich stimmen nicht alle Aufrufe, aber das Prinzip müsste so richtig umgesetzt sein ;)

gizzy 19. Apr 2008 22:07

Re: Kombination der Groß-Klein Buchstaben
 
Zitat:

Wenn die Liste case-sensitive ist, macht der Satz
Zitat:
Wäre ja doof wenn dann einer ankommt und sich "AdMin" nennt.
in meinen Augen aber keinen Sinn.

Wieso?

Blacklist:

Zitat:

Admin
admin
GameMaster
Gamemaster
Administrator
administrator
Trotzdem ist "ADMIN", "GameMastEr" und "aDministrator" noch möglich.

Sonst würde ja (wenn nicht Ccase-sensitive) die Angabe "admin" in der Blacklist alle Möglichkeiten auschließen (zb. "Admin", "ADMIN", usw.).

Leider kann ich die Blackliste auch nicht Beeinflussen, da es ein externes Programm ist, und ich sozusagen nur das Programm zur erweiterung jener schreiben möchte.

DeddyH 19. Apr 2008 22:17

Re: Kombination der Groß-Klein Buchstaben
 
AdMin ist aber auch möglich und das ist ja angeblich doof :gruebel:

gizzy 19. Apr 2008 22:29

Re: Kombination der Groß-Klein Buchstaben
 
Zitat:

Zitat von DeddyH
AdMin ist aber auch möglich und das ist ja angeblich doof :gruebel:

Weil dann die Blackliste nicht erreicht hat was sie soll, nämlich alle admin möglichkeiten zu blocken! :-D

Ich hab jetzt das Beispiel von Dax mal abgewandelt. Es waren ein paar Syntax Fehler drin. Sah mir am Anfang stark nach ner Endlosschleife aus, aber jetzt bekomme ich eine Zugriffverletzung für meine Stringlist (fals dies mit TStrings gemeint war).

Delphi-Quellcode:
procedure PermuteCase(const s: string; list: TStringList; startIndex: Integer = 0);
var
temp,charf: String;

begin
  if startIndex > length(s) then exit;
  if startIndex = 0 then
  begin
    temp := lowercase(s);
    startIndex := 1;
  end
  else
    temp := s;
  list.Add(temp);
  //PermuteCase(temp, list, startIndex + 1);
  charf:= uppercase(temp[startIndex]);
  temp[startIndex] := charf[1];
  list.Add(temp);
  PermuteCase(temp, list, startIndex + 1);
end;

DeddyH 19. Apr 2008 22:32

Re: Kombination der Groß-Klein Buchstaben
 
Jetzt bin ich völlig verwirrt. Sollen nun alle Groß-/Kleinschreibungskombinationen der Blacklist geblockt werden?

gizzy 19. Apr 2008 22:34

Re: Kombination der Groß-Klein Buchstaben
 
Zitat:

Zitat von DeddyH
Jetzt bin ich völlig verwirrt. Sollen nun alle Groß-/Kleinschreibungskombinationen der Blacklist geblockt werden?

Na klar, wo wäre den sonst der Sinn der Blacklist :cheer:

DeddyH 19. Apr 2008 22:36

Re: Kombination der Groß-Klein Buchstaben
 
Dann mach doch Deine Blacklist komplett in Kleinschreibung, wandele den Usernamen auch mit AnsiLowerCase um und schau mit IndexOf nach, ob dieser in der Blacklist enthalten ist.

freak4fun 19. Apr 2008 22:39

Re: Kombination der Groß-Klein Buchstaben
 
Ich denke eine vernünftige Erklärung von Seiten des Threaderstellers wäre sinnvoller als das rumgerate hier. :roll:

Also wenn sich jemand "Player" nennt soll sich keiner "pLayer", "plAyer" usw. nennen dürfen? Dann kannst du deine "Blacklist" mit "player" füllen und alle anderen Nicks in Kleinbuchstaben umwandeln und dann prüfen. ;)

MfG
fR34k

DeddyH 19. Apr 2008 22:40

Re: Kombination der Groß-Klein Buchstaben
 
Genau das hab ich ja gesagt.

freak4fun 19. Apr 2008 22:41

Re: Kombination der Groß-Klein Buchstaben
 
Kein roter Kasten! :p


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Seite 2 von 4     12 34      

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