Re: Kombination der Groß-Klein Buchstaben
Die Blackliste ist von einen externen Prgramm! Da kann ich nichts ändern, das ist ja das Problem. Der wird immer Case-Sensitive prüfen, deswegen muss ich mich anpassen. Sonst hätte ich das ja schon längst getan.
Aber das habe ich bereits geschrieben. |
Re: Kombination der Groß-Klein Buchstaben
Wer prüft denn nun? Du oder das externe Programm? Erklär den Sachverhalt doch mal so, dass wir auch genau wissen, worum es geht.
|
Re: Kombination der Groß-Klein Buchstaben
Sag mal, weshalb nimmst du nicht das CaseSensitiv heraus? Dann hast dein Problem ohne Aufwand erledigt.
<HTH> GG |
Re: Kombination der Groß-Klein Buchstaben
Das geht ja angeblich nicht. Aber solange ich nicht genau weiß, wer wann was machen soll, beschäftige ich mich nicht mehr weiter damit :mrgreen:
|
Re: Kombination der Groß-Klein Buchstaben
Es Existiert ein Online Spiel.
Von diesem Spiel kann man einen Server aufsetzen. Dieser Server lädt eine Blockliste: "swearnames.txt". In dieser Datei ist 'untereinander' eine Liste der Namen, die nicht für eine Anmeldung genommen werden dürfen. So sieht diese Liste aus: Zitat:
Für jeden Spieler wird eine Datei auf dem Server angelegt: "Spielername.cfg". Unterschiedliche Anmeldenamen sind jedoch auch hier: "Spieler" und "SPIELER". Somit ist sichergestellt das möglichst viele 'Accounts' existieren können. Dieser Server ist schon compiled und kann nicht mehr geändert werden. Nur Serverconfigs und die Blockliste können bearbeitet werden. Mit meinem Programm möchte ich nur die oben genannte Blockliste verwalten. Der Hacken an der Liste ist, dass diese auf Groß- und KleinSchrift achtet. So ist von den Beispielen oben nicht Inbegriffen Bsp: "GAMEmaster" oder "AdmiN". Wenn ich jetzt einen neuen Begriff zu dieser Liste hinzufügen möchte, sollen alle Möglichkeiten ausgeschlossen werden diesen Namen zu verwenden. Bei "aaa" wären das, wie im ersten Beitrag schon angedeutet => Zitat:
|
Re: Kombination der Groß-Klein Buchstaben
und weshalb verwaltest sie nicht caseinsensitv? lesen --> konvertieren --> neue blockwörter einfügen --> permutieren --> zurückspeichern.
wo liegt das problem? <HTH> |
Re: Kombination der Groß-Klein Buchstaben
Zitat:
|
Re: Kombination der Groß-Klein Buchstaben
Hi,
unabhängig vom Sinn und Zweck der Übung:
Delphi-Quellcode:
Gruß Hawkeye
procedure PermuteCase (s: string; L: TStrings);
var SL : TStringList; chars : array [Boolean] of string; i, j : Integer; begin SL := TStringList.Create; SL.Sorted := True; SL.Duplicates := dupIgnore; SL.CaseSensitive := True; chars[False] := AnsiLowerCase(s); chars[True] := AnsiUpperCase(s); for i := 0 to Pred(1 shl Length(s)) do begin for j := 1 to Length(s) do s[j] := chars[Odd(i shr Pred(j))][j]; SL.Add(s); end; L.Assign(SL); SL.Free; end; |
Re: Kombination der Groß-Klein Buchstaben
Zitat:
Delphi-Quellcode:
Aufruf:
procedure PermuteCase (s: string; L: TStrings);
var SL : TStringList; chars : array [Boolean] of string; i, j : Integer; begin SL := TStringList.Create; SL.Sorted := True; SL.Duplicates := dupIgnore; SL.CaseSensitive := True; chars[False] := AnsiLowerCase(s); chars[True] := AnsiUpperCase(s); for i := 0 to Pred(1 shl Length(s)) do begin for j := 1 to Length(s) do s[j] := chars[Odd(i shr Pred(j))][j]; SL.Add(s); end; L.Assign(SL); SL.Free; //Abstrakter Fehler?!?! end;
Delphi-Quellcode:
moeglichkeiten:= TStrings.Create;
PermuteCase(txtname.Text, moeglichkeiten); |
Re: Kombination der Groß-Klein Buchstaben
Ich sehe noch ein ganz anderes Problem. Nehmen wir den Usernamen "Administrator" mal als Beispiel. Das ist ein String mit 13 Buchstaben, d.h. es gibt 2^13 mögliche Schreibweisen. Daraus folgt, dass die Blacklist nur dafür alleine 2^13 * (13 + 1) (bei UNIX-Schreibweise mit LF) oder gar 2^13 * (13 + 2) (bei Windows-Schreibweise mit CRLF) Bytes benötigt. Der Speicherbedarf je Username steigt potentiell mit der Stringlänge. Man darf sich fragen, ob da nicht evtl. ein Timeout oder ein OutOfMemory zu erwarten ist.
[edit] @gizzy: mach aus TStrings im Aufruf mal TStringlist. [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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