Namen gesucht?

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Namen gesucht?

Beitrag 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
<)
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

sehr schön! :allright: Ich mag solche Programme :-)

Grüße ... Kiffi
a²+b²=mc²
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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.
Bild
Win11 Pro 64-Bit, PB_6.11b1
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag 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 :)
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Falko am 20.12.2006 23:07, insgesamt 1-mal geändert.
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Habe ben Opa rausbekommen, sehr praktisch, dieses Tool!
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Beitrag 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.. :?
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Beitrag von DarkSoul »

funktioneirt sehr gut, aber 'pimmel' ist kein name... :mrgreen:
Bild
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag 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
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Antworten