AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zeichenketten nach Maske generieren

Ein Thema von jan17 · begonnen am 23. Feb 2011 · letzter Beitrag vom 23. Feb 2011
 
jan17

Registriert seit: 23. Feb 2011
2 Beiträge
 
#1

Zeichenketten nach Maske generieren

  Alt 23. Feb 2011, 17:03
Delphi-Version: XE
Hi,

Ich versuche gerade eine Funktion zu programmieren, die Zeichenketten nach einer bestimmten Maske generiert.
Also "l" sind z.B. alle Kleinbuchstaben, "u" alle Großbuchstaben, "d" alle Zahlen, "m" alle Groß- und Kleinbuchstaben und "a" alle Groß-/Kleinbuchstaben und Zahlen.

Der Funktion übergibt man nun z.B. den Parameter "uld" und es werden dann alle 6760 möglichen Zeichenketten daraus generiert.
Delphi-Quellcode:
Aa0
Aa1
Aa2
Aa3
...
Zz7
Zz8
Zz9
Ich habe es bisher nur so hinbekommen:
Delphi-Quellcode:
const
  len=3;
var
  c1,c2,c3:char;
  s:string;
  f:textfile;
begin
  assignfile(f,'test.txt');
  rewrite(f);
  setlength(s,len);
  for c1 := 'Ato 'Zdo
    for c2 := 'ato 'zdo
      for c3 := '0to '9do
      begin
        s[1]:=c1;
        s[2]:=c2;
        s[3]:=c3;
        writeln(f,s);
      end;
  closefile(f);
end;
Das funktioniert aber nur für diesen speziellen Fall und ist nicht allgemeingültig, so dass man es jedes mal wieder ändern muss.

Zur Berechnung der Anzahl der Kombinationen habe ich diese Funktion:
Delphi-Quellcode:
function calc(const s:string):uint64;
var i:byte;
begin
  result:=1;
  for i := 1 to length(s) do
    case s[i] of
      'l','u':result:=result*26;
      'm'    :result:=result*52;
      'd'    :result:=result*10;
      'a'    :result:=result*62;
    end;
end;
Könnt ihr mir helfen eine allgemeingültige Funktion zu schreiben? Ich bin mir ziemlich sicher, dass es mit Rekursion recht einfach gehen könnte
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:12 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