AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kombination der Groß-Klein Buchstaben
Thema durchsuchen
Ansicht
Themen-Optionen

Kombination der Groß-Klein Buchstaben

Ein Thema von gizzy · begonnen am 19. Apr 2008 · letzter Beitrag vom 20. Apr 2008
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#21

Re: Kombination der Groß-Klein Buchstaben

  Alt 19. Apr 2008, 23:47
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.
David
[Fehler] Unit1.pas(1): Dein Kaffee ist kalt.
[Fehler] Unit1.pas(2): Dein linker großer Zeh ist eingeschlafen.
[Fataler Fehler] Projekt1.dpr(5): Verwendete Unit "Unit1.pas" kann nicht comiliert werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#22

Re: Kombination der Groß-Klein Buchstaben

  Alt 19. Apr 2008, 23:50
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#23

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:20
Sag mal, weshalb nimmst du nicht das CaseSensitiv heraus? Dann hast dein Problem ohne Aufwand erledigt.

<HTH> GG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#24

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:28
Das geht ja angeblich nicht. Aber solange ich nicht genau weiß, wer wann was machen soll, beschäftige ich mich nicht mehr weiter damit
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#25

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:34
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:
GM
gm
Gm
gM
GM
Gamemaster
gamemaster
GameMaster
GAMEMASTER
Admin
admin
ADMIN
[...]
Wird ein solcher name gewählt (im Clienten) wird eine Fehlermeldung ausgegeben.
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:
Aaa
aAa
aaA
aAA
AAA
AAa
AaA
aaa
Dies würde bei Namen wie GameMaster recht lange dauern von Hand einzutippen. Und GameMaster ist nicht der einzige Name der geblockt werden soll.
David
[Fehler] Unit1.pas(1): Dein Kaffee ist kalt.
[Fehler] Unit1.pas(2): Dein linker großer Zeh ist eingeschlafen.
[Fataler Fehler] Projekt1.dpr(5): Verwendete Unit "Unit1.pas" kann nicht comiliert werden.
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#26

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:38
und weshalb verwaltest sie nicht caseinsensitv? lesen --> konvertieren --> neue blockwörter einfügen --> permutieren --> zurückspeichern.

wo liegt das problem? <HTH>
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#27

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:42
Zitat von grenzgaenger:
und weshalb verwaltest sie nicht caseinsensitv? lesen --> konvertieren --> neue blockwörter einfügen --> permutieren --> zurückspeichern.

wo liegt das problem? <HTH>
Naja, beim Permutieren
David
[Fehler] Unit1.pas(1): Dein Kaffee ist kalt.
[Fehler] Unit1.pas(2): Dein linker großer Zeh ist eingeschlafen.
[Fataler Fehler] Projekt1.dpr(5): Verwendete Unit "Unit1.pas" kann nicht comiliert werden.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#28

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:44
Hi,

unabhängig vom Sinn und Zweck der Übung:

Delphi-Quellcode:
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;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#29

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 00:51
Zitat von Hawkeye219:
Hi,

unabhängig vom Sinn und Zweck der Übung:

Gruß Hawkeye
Delphi-Quellcode:
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;
Aufruf:

Delphi-Quellcode:
moeglichkeiten:= TStrings.Create;
PermuteCase(txtname.Text, moeglichkeiten);
David
[Fehler] Unit1.pas(1): Dein Kaffee ist kalt.
[Fehler] Unit1.pas(2): Dein linker großer Zeh ist eingeschlafen.
[Fataler Fehler] Projekt1.dpr(5): Verwendete Unit "Unit1.pas" kann nicht comiliert werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#30

Re: Kombination der Groß-Klein Buchstaben

  Alt 20. Apr 2008, 01:00
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]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 15:21 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