Seite 1 von 2

Namen gesucht?

Verfasst: 20.12.2006 16:28
von Jilocasin
Irgendeinen Namen gesucht?
Nichts leichter als das! :lol:

Code: Alles auswählen

Enumeration
  #G_Undo
  #G_String
  #G_Redo
  #G_Generate
  #G_Auto
  #G_DoubleVowel
  #G_DoubleConsonant
  #G_Length
  #G_BeginWith
  #G_DeleteList
EndEnumeration


LoadFont(0,"Times New Roman",20)
LoadFont(1,"Arial",16,#PB_Font_Bold)

Global NewList NameList.s()



Flags = #PB_Window_SystemMenu
Flags | #PB_Window_MinimizeGadget
Flags | #PB_Window_ScreenCentered

OpenWindow(0,0,0,300,180,"MakeNamez",Flags)

CreateGadgetList(WindowID(0))
ButtonGadget(#G_Undo,20,20,24,32,"<")
  SetGadgetFont(#G_Undo,FontID(1))
  GadgetToolTip(#G_Undo,"Zurück")
  
StringGadget(#G_String,50,20,200,32,"",#PB_String_ReadOnly|#PB_String_BorderLess)
  SetGadgetFont(#G_String,FontID(0))

ButtonGadget(#G_Redo,256,20,24,32,">")
  SetGadgetFont(#G_Redo,FontID(1))
  GadgetToolTip(#G_Redo,"Weiter")

ButtonGadget(#G_Generate,20,72,100,26,"Name generieren",#PB_Button_Default)

CheckBoxGadget(#G_Auto,140,72,150,20,"Kontinuierlich")
CheckBoxGadget(#G_DoubleVowel,140,92,150,20,"Doppelvokal erlauben")
CheckBoxGadget(#G_DoubleConsonant,140,112,150,20,"Doppelkonsonant erlauben")

ComboBoxGadget(#G_Length,20,110,100,200)
  For a = 3 To 10
    AddGadgetItem(#G_Length,-1,Str(a) + " Buchstaben")
  Next
  SetGadgetState(#G_Length,3)

ComboBoxGadget(#G_BeginWith,20,140,150,200)
  AddGadgetItem(#G_BeginWith,-1,"Zufällig beginnen")
  AddGadgetItem(#G_BeginWith,-1,"Mit Konsonant beginnen")
  AddGadgetItem(#G_BeginWith,-1,"Mit Vokal beginnen")
  SetGadgetState(#G_BeginWith,0)

ButtonGadget(#G_DeleteList,185,139,100,24,"Liste löschen")


Declare RefreshUndoRedo()
Declare Generate()

Generate()

Repeat
  EventID = WaitWindowEvent(50)
  
  If GetGadgetState(#G_Auto)
    If ElapsedMilliseconds() - LastDone > 2000
      Generate()
      LastDone = ElapsedMilliseconds()
    EndIf
  EndIf
  
  
  If EventID = #PB_Event_Gadget
    Select EventGadget()
    Case #G_Undo
      If PreviousElement(NameList())
        SetGadgetText(#G_String,NameList())
      EndIf
      RefreshUndoRedo()
      
    Case #G_Redo
      If NextElement(NameList())
        SetGadgetText(#G_String,NameList())
      EndIf
      RefreshUndoRedo()
    
    Case #G_Generate
      Generate()
      
    Case #G_DeleteList
      ClearList(NameList())
      AddElement(NameList())
      NameList() = GetGadgetText(#G_String)
      
      RefreshUndoRedo()
      
    EndSelect
  EndIf
  
Until EventID = 16

End


Procedure RefreshUndoRedo()
  If ListIndex(NameList())
    DisableGadget(#G_Undo,0)
  Else
    DisableGadget(#G_Undo,1)
  EndIf
  
  If ListIndex(NameList()) <> CountList(NameList())-1
    DisableGadget(#G_Redo,0)
  Else
    DisableGadget(#G_Redo,1)
  EndIf
EndProcedure



Procedure Generate()
  Name.s = ""
  Add.s = ""
  Length = GetGadgetState(#G_Length) + 3
  
  Select GetGadgetState(#G_BeginWith)
  Case 0
    Vowel = Random(1)
  Case 1
    Vowel = 0
  Case 2
    Vowel = 1
  EndSelect
  
  
  For Index = 1 To Length
    
    If Vowel
      Number = Random(7)
      
      Select Number
      Case 0 : Add = "a"
      Case 1 : Add = "a"
      Case 2 : Add = "e"
      Case 3 : Add = "e"
      Case 4 : Add = "i"
      Case 5 : Add = "i"
      Case 6 : Add = "o"
      Case 7 : Add = "u"
      EndSelect
      
    Else
      Number = Random(39)
      
      Select Number
      Case 0 : Add = "b"
      Case 1 : Add = "b"
      Case 2 : Add = "c"
      Case 3 : Add = "c"
      Case 4 : Add = "d"
      Case 5 : Add = "d"
      Case 6 : Add = "d"
      Case 7 : Add = "f"
      Case 8 : Add = "f"
      Case 9 : Add = "g"
      Case 10 : Add = "g"
      Case 11 : Add = "h"
      Case 12 : Add = "h"
      Case 13 : Add = "h"
      Case 14 : Add = "j"
      Case 15 : Add = "k"
      Case 16 : Add = "l"
      Case 17 : Add = "l"
      Case 18 : Add = "m"
      Case 19 : Add = "m"
      Case 20 : Add = "n"
      Case 21 : Add = "n"
      Case 22 : Add = "n"
      Case 23 : Add = "p"
      Case 24 : Add = "q"
      Case 25 : Add = "r"
      Case 26 : Add = "r"
      Case 27 : Add = "r"
      Case 28 : Add = "s"
      Case 29 : Add = "s"
      Case 30 : Add = "s"
      Case 31 : Add = "t"
      Case 32 : Add = "t"
      Case 33 : Add = "t"
      Case 34 : Add = "v"
      Case 35 : Add = "w"
      Case 36 : Add = "x"
      Case 37 : Add = "y"
      Case 38 : Add = "z"
      Case 39 : Add = "z"
      EndSelect
      
      If Add = "q"
        AfterQ = Random(1)
        
        If AfterQ = 0
        Add + "u"
        EndIf
      EndIf
      
      If Add = "c"
        AfterC = Random(4)
        
        If AfterC = 0
        Add + "h"
        EndIf
      EndIf
      
    EndIf
    
    Name + Add
    
    Vowel = 1-Vowel
    
    If GetGadgetState(#G_DoubleVowel)
      If Random(10) = 0
        Vowel = 1
      EndIf
    EndIf
    
    If GetGadgetState(#G_DoubleConsonant)
      If Random(10) = 0
        Vowel = 0
      EndIf
    EndIf
    
  Next
  
  Name = UCase(Left(Name,1)) + LCase(Right(Name,Len(Name)-1))
  
  LastElement(NameList())
  AddElement(NameList())
  NameList() = Name
  
  RefreshUndoRedo()
  
  SetGadgetText(#G_String,Name)
EndProcedure
<)

Verfasst: 20.12.2006 17:14
von Kiffi
sehr schön! :allright: Ich mag solche Programme :-)

Grüße ... Kiffi

Verfasst: 20.12.2006 17:51
von Kaeru Gaman
hach is das lang her... :D
...da war ich grad mal 4 tage im forum, als ich meinen name-creator gepostet hab... :mrgreen:

Verfasst: 20.12.2006 17:59
von Falko
Stimmt, das war mal deswegen eine Frage, wie man sowas proggt :D.

Nun kommst noch soein tolles tool, welches jetzt die neuen Namen für
SpamBots erzeugen kann :lol:

Aber haben die Namen alle nur Sechs Buchstaben?

Nicht schlecht gemacht.

Verfasst: 20.12.2006 18:30
von Jilocasin
Falko hat geschrieben:Nun kommst noch soein tolles tool, welches jetzt die neuen Namen für
SpamBots erzeugen kann
Mist, du hast mein Vorhaben enttarnt :mrgreen:
Nee, Scherz...
Falko hat geschrieben:Aber haben die Namen alle nur Sechs Buchstaben?
Kannste ja in der ComboBox einstellen :)

Verfasst: 20.12.2006 19:04
von Falko
Das Tool ist sehr praktisch.
Mal sehen, was ich damit anfangen kann :wink:
Außer Spams und Bots :lol: sehe ich da noch eine praktische Möglichkeit für
einen Codegenerator, der aber noch eine Verschlüsselung erzeugen müßte. :allright:

Grüße ..Falko

Verfasst: 20.12.2006 23:00
von Alves
Habe ben Opa rausbekommen, sehr praktisch, dieses Tool!

Verfasst: 20.12.2006 23:35
von Deluxe0321
Sehr nettes Programm, hab Hans rausbekommen. :mrgreen:
Aber leider ist mir ein Fehler aufgefallen, ich hatte drei Buchstaben/Zeichen eingestellt und manchmal kamen aber 4 raus.. :?

Verfasst: 20.12.2006 23:39
von DarkSoul
funktioneirt sehr gut, aber 'pimmel' ist kein name... :mrgreen:

Verfasst: 21.12.2006 01:05
von jear
Gut zu gebrauchen. Danke Jilocasin.

Code: Alles auswählen

;/ MakeNamez by Jilocasin 2006-12-20 (modified by jear) 

EnableExplicit

Enumeration 
  #G_Undo 
  #G_String 
  #G_Redo 
  #G_Generate 
  #G_Auto 
  #G_DoubleVowel 
  #G_DoubleConsonant 
  #G_Length 
  #G_BeginWith 
  #G_DeleteList 
EndEnumeration 

LoadFont(0,"Times New Roman",20) 
LoadFont(1,"Arial",16,#PB_Font_Bold) 

Global NewList NameList.s() 

Define.l flags = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered 
Define.l a, EventID, LastDone

#vocs = "aaeeiiou"
#cons = "bbccddffgghhhjkllmmnnnpqrrrssstttvwxyzz"

;/
OpenWindow(0,0,0,300,180,"MakeNamez",flags) 

CreateGadgetList(WindowID(0)) 
ButtonGadget(#G_Undo,20,20,24,32,"<") 
SetGadgetFont(#G_Undo,FontID(1)) 
GadgetToolTip(#G_Undo,"Zurück") 
  
StringGadget(#G_String,50,20,200,32,"",#PB_String_ReadOnly|#PB_String_BorderLess) 
SetGadgetFont(#G_String,FontID(0)) 

ButtonGadget(#G_Redo,256,20,24,32,">") 
SetGadgetFont(#G_Redo,FontID(1)) 
GadgetToolTip(#G_Redo,"Weiter") 

ButtonGadget(#G_Generate,20,72,100,26,"Name generieren",#PB_Button_Default) 

CheckBoxGadget(#G_Auto,140,72,150,20,"Kontinuierlich") 
CheckBoxGadget(#G_DoubleVowel,140,92,150,20,"Doppelvokal erlauben") 
CheckBoxGadget(#G_DoubleConsonant,140,112,150,20,"Doppelkonsonant erlauben") 

ComboBoxGadget(#G_Length,20,110,100,200) 
For a = 3 To 10 
  AddGadgetItem(#G_Length,-1,Str(a) + " Buchstaben") 
Next 
SetGadgetState(#G_Length,3) 

ComboBoxGadget(#G_BeginWith,20,140,150,200) 
AddGadgetItem(#G_BeginWith,-1,"Zufällig beginnen") 
AddGadgetItem(#G_BeginWith,-1,"Mit Konsonant beginnen") 
AddGadgetItem(#G_BeginWith,-1,"Mit Vokal beginnen") 
SetGadgetState(#G_BeginWith,0) 

ButtonGadget(#G_DeleteList,185,139,100,24,"Liste löschen") 

Declare RefreshUndoRedo() 
Declare Generate() 

Generate() 

Repeat 
  EventID = WaitWindowEvent(1000) 
  
  If Not EventID And GetGadgetState(#G_Auto) : Generate() : EndIf
   
  If EventID = #PB_Event_Gadget 
    Select EventGadget() 
      Case #G_Undo 
        If PreviousElement(NameList()) 
          SetGadgetText(#G_String,NameList())  : SetClipboardText(NameList())
        EndIf 
        RefreshUndoRedo() 
        
      Case #G_Redo 
        If NextElement(NameList()) 
          SetGadgetText(#G_String,NameList())  : SetClipboardText(NameList())
        EndIf 
        RefreshUndoRedo() 
        
      Case #G_Generate 
        Generate() 
        
      Case #G_DeleteList 
        ClearList(NameList()) 
        AddElement(NameList()) 
        NameList() = GetGadgetText(#G_String)  
        RefreshUndoRedo() 
        
    EndSelect 
  EndIf 
  
Until EventID = #PB_Event_CloseWindow 

End 

;/
Procedure RefreshUndoRedo() 
  Protected Lix.l = ListIndex(NameList())
  DisableGadget(#G_Undo, 1 - (Lix Or #False))
  DisableGadget(#G_Redo, (Lix = CountList(NameList())-1) Or #False) 
EndProcedure 

Procedure Generate() 
  Protected Name.s, Add.s
  Protected Vowel.l, Index.l, length.l = GetGadgetState(#G_Length) + 3 
   
  Select GetGadgetState(#G_BeginWith) 
    Case 0 : Vowel = Random(1) 
    Case 1 : Vowel = 0 
    Case 2 : Vowel = 1 
  EndSelect 
   
  For Index = 1 To length 
    
    If Vowel 
      Add = Mid(#vocs, Random(7), 1)
      
    Else 
      Add = Mid(#cons, Random(39), 1)
      
      If Add = "q" 
        If Random(1) : Add + "u" : EndIf 
      EndIf 
      
      If Add = "c" 
        If Not(Random(4)) : Add + "h" : EndIf 
      EndIf 
      
    EndIf 
    
    Name + Add : Vowel = 1 - Vowel 
    
    If GetGadgetState(#G_DoubleVowel) 
      If Not Random(10) : Vowel = #True : EndIf 
    EndIf 
    
    If GetGadgetState(#G_DoubleConsonant) 
      If Not Random(10) : Vowel = #Null : EndIf 
    EndIf 
    
  Next 
  
  Name = UCase(Left(Name,1)) + LCase(Right(Name,Len(Name)-1)) : Name = Left(Name, length)
  
  LastElement(NameList()) : AddElement(NameList()) : RefreshUndoRedo()  
  NameList() = Name : SetGadgetText(#G_String,Name) : SetClipboardText(Name)
  
EndProcedure