Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на PureBasic

Ответ
 
Опции темы
Старый 11.11.2011, 08:14   #1
DniproPirate
AnyKey`щик
 
Аватар для DniproPirate
 
Регистрация: 11.11.2011
Адрес: United Emirates of Ukraine
Сообщений: 5
Написано 2 полезных сообщений
(для 5 пользователей)
Счастье Гламурный генератор паролей


Во время изучения PureBasic я написал генератор паролей. Размер бинарника такой же, как и размер скриншота. Это 26 килобайт.



Исходный код:
Global Msg1$

Enumeration
  #Window_0
EndEnumeration

Enumeration
  #Combo_Lang
  #Text_Lang
  #Spin_PassLen
  #Text_KeyLen
  #Frame3D_TKWC
  #CheckBox_N
  #CheckBox_BL
  #CheckBox_SL
  #Button_ToClipboard
  #Button_Generate
  #String_Pass
EndEnumeration

Enumeration
  #UKR_LANG
  #ENG_LANG
  #RUS_LANG
EndEnumeration

Procedure SetWindowLang(Lang)
Select Lang
Case #UKR_LANG:
  SetGadgetText(#CheckBox_N, "Цифри")
  SetGadgetText(#CheckBox_BL, "Великі літери")
  SetGadgetText(#CheckBox_SL, "Малі літери")
  SetGadgetText(#Text_Lang, "Мова:")
  SetGadgetText(#Text_KeyLen, "Довжина пароля:")
  SetGadgetText(#Button_ToClipboard, "До буфера обміну")
  SetGadgetText(#Button_Generate, "Створити")
  SetGadgetText(#Frame3D_TKWC, "Пароль міститиме")
  Msg1$="Алфавіт пароля порожній!"
Case #ENG_LANG
  SetGadgetText(#CheckBox_N, "Numbers")
  SetGadgetText(#CheckBox_BL, "Big letters")
  SetGadgetText(#CheckBox_SL, "Small letters")
  SetGadgetText(#Text_Lang, "Language:")
  SetGadgetText(#Text_KeyLen, "Pass length:")
  SetGadgetText(#Button_ToClipboard, "To clipboard")
  SetGadgetText(#Button_Generate, "Generate")
  SetGadgetText(#Frame3D_TKWC, "The password will contains")  
  Msg1$="Alphabet of password is empty!"
Case #RUS_LANG
  SetGadgetText(#CheckBox_N, "Цифры")
  SetGadgetText(#CheckBox_BL, "Заглавные буквы")
  SetGadgetText(#CheckBox_SL, "Строчные буквы")
  SetGadgetText(#Text_Lang, "Язык:")
  SetGadgetText(#Text_KeyLen, "Длина пароля:")
  SetGadgetText(#Button_ToClipboard, "В буфер обмена")
  SetGadgetText(#Button_Generate, "Создать")
  SetGadgetText(#Frame3D_TKWC, "Пароль будет содержать")  
  Msg1$="Алфавит пароля пуст!"
EndSelect
EndProcedure

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 331, 31, 261, 237, "Free Password Generator",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
      ComboBoxGadget(#Combo_Lang, 80, 20, 160, 20)
      AddGadgetItem(#Combo_Lang, -1,"Українська")
      AddGadgetItem(#Combo_Lang, -1,"English")
      AddGadgetItem(#Combo_Lang, -1, "Русский")
      SetGadgetState(#Combo_Lang, 1)
      TextGadget(#Text_Lang, 10, 20, 60, 20, "")
      SpinGadget(#Spin_PassLen, 80, 60, 50, 20, 4, 50, #PB_Spin_Numeric)
      SetGadgetState(#Spin_PassLen, 8)
      TextGadget(#Text_KeyLen, 10, 55, 60, 30, "")
      Frame3DGadget(#Frame3D_TKWC, 10, 90, 240, 80, "")
      CheckBoxGadget(#CheckBox_N, 20, 110, 90, 20, "")
      CheckBoxGadget(#CheckBox_BL, 120, 110, 110, 20, "")
      CheckBoxGadget(#CheckBox_SL, 20, 140,100, 20, "")
      ButtonGadget(#Button_ToClipboard, 10, 180, 140, 20, "")
      ButtonGadget(#Button_Generate, 160, 180, 90, 20, "")
      StringGadget(#String_Pass, 10, 210, 240, 20, "")
      SetWindowLang(1)
  EndIf
EndProcedure

Open_Window_0()
Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    Select EventGadget()
    Case #Combo_Lang:
       SetWindowLang(GetGadgetState(#Combo_Lang))
    Case #Button_Generate:
       PassAlphabet$=""
       If GetGadgetState(#CheckBox_BL)=#PB_Checkbox_Checked
         PassAlphabet$=PassAlphabet$+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"       
       EndIf 
       If GetGadgetState(#CheckBox_SL)=#PB_Checkbox_Checked
         PassAlphabet$=PassAlphabet$+"abcdefghijklmnopqrstuvwxyz"       
       EndIf
       If GetGadgetState(#CheckBox_N)=#PB_Checkbox_Checked
         PassAlphabet$=PassAlphabet$+"0123456789"       
       EndIf
       If PassAlphabet$=""
          MessageBox_(NULL, Msg1$, "Free Password Generator", 16)
       Else
         X=Len(PassAlphabet$)
         Pass$=""
         PassLen=GetGadgetState(#Spin_PassLen)
         For N = 1 To PassLen
         Pass$=Pass$+Mid(PassAlphabet$, Random(X-1)+1, 1)
         Next N
         SetGadgetText(#String_Pass, Pass$)
       EndIf
    Case #Button_ToClipboard:
    SetClipboardText(GetGadgetText(#String_Pass))
    EndSelect
  EndIf
Until EventID = #PB_Event_CloseWindow
Ссылка на PasteBin
Исходник+Бинарник+Иконка Sendspace
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо DniproPirate за это полезное сообщение:
ABTOMAT (11.11.2011), Пётр (11.11.2011), Reks888 (11.11.2011), SBJoker (11.11.2011)
Старый 11.11.2011, 15:04   #2
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Сообщений: 1,701
Написано 658 полезных сообщений
(для 1,963 пользователей)
Ответ: Гламурный генератор паролей

Насчёт английского языка:
Не "contains", а "contain". Не "numbers", а "digits".
__________________
осталось 7
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DniproPirate (11.11.2011)
Старый 11.11.2011, 15:21   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Гламурный генератор паролей

Не Big, а Capital
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 16:41   #4
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Гламурный генератор паролей

Ну, тогда еще правильнее будет "Upper case" и "Lower case".
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
Android (11.11.2011), DniproPirate (11.11.2011)
Старый 11.11.2011, 20:24   #5
DniproPirate
AnyKey`щик
 
Аватар для DniproPirate
 
Регистрация: 11.11.2011
Адрес: United Emirates of Ukraine
Сообщений: 5
Написано 2 полезных сообщений
(для 5 пользователей)
Ответ: Гламурный генератор паролей

Полный аналог лежит на соурцфорже и весит в 4 раза больше, ибо написан на Дельфи. Весь перевод я оттудого передрал. Я то понимаю что Capital, но под словом английский в програмах подразумевается "Basic English" или "Niggaz English". Как там Раммштайн по-русски поет "Я буду платить. Мая твая любить"
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (12.11.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com