Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Obsługa własnych parametrów/znaczników


Rekomendowane odpowiedzi

Opublikowano

Czy jest coś takiego co obsługuje znaczniki  np. "4%W". Czyli po podaniu tego w Inpucie w drugim dostaję cztery losowe znaki z przedziału A-Z; a-z; 0-9.

Takie mają być znaczniki:

%W -> A-Z; a-z; 0-9

%O -> A-Z; a-z
%L -> A-Z; 0-9
%l (litera L) -> a-z; 0-9
%A -> A-Z
%a -> a-z
%N -> 0-9

I cyfra przed tym znacznikiem będzie oznaczać ile ma być tych znaków.

Jest gotowa funkcja czy muszę sam ją zrobić?

Jakoś tu pusto...

Opublikowano

Nadal nie wiem jak to zrobić. Jakiś przykład, bo to co tam jest ledwo mogę zrozumieć.

Jakoś tu pusto...

Opublikowano


$sInput = "10%W5%N"

 

$sOutput = Parse($sInput)

 

MsgBox(0, "", $sInput & @CRLF & "=" & @CRLF & $sOutput)

 

 

Func Parse($sString)

Local $sOutput = ""

Local $aTokens = StringRegExp($sString, "(\d*)%(\w)", 3)

For $i = 0 To UBound($aTokens) - 1 Step 2

$sOutput &= RandomString($aTokens[$i + 1], $aTokens[$i])

Next

Return $sOutput

EndFunc ;==>Parse

 

Func RandomString($iType, $iCount)

Local $sReturn = ""

For $i = 1 To $iCount

Switch $iType

Case "W"

Switch Random(0, 2, 1)

Case 0

$sReturn &= RandomBig()

Case 1

$sReturn &= RandomSmall()

Case 2

$sReturn &= RandomNumber()

EndSwitch

Case "O"

Switch Random(0, 1, 1)

Case 0

$sReturn &= RandomBig()

Case 1

$sReturn &= RandomSmall()

EndSwitch

Case "L"

Switch Random(0, 1, 1)

Case 0

$sReturn &= RandomBig()

Case 1

$sReturn &= RandomNumber()

EndSwitch

Case "l"

Switch Random(0, 1, 1)

Case 0

$sReturn &= RandomSmall()

Case 1

$sReturn &= RandomNumber()

EndSwitch

Case "A"

$sReturn &= RandomBig()

Case "a"

$sReturn &= RandomSmall()

Case "N"

$sReturn &= RandomNumber()

EndSwitch

Next

Return $sReturn

EndFunc ;==>RandomString

 

Func RandomNumber()

Return Random(0, 9, 1)

EndFunc ;==>RandomNumber

 

Func RandomBig()

Return Chr(Random(0x41, 0x5a, 1))

EndFunc ;==>RandomBig

 

Func RandomSmall()

Return Chr(Random(0x61, 0x7a, 1))

EndFunc ;==>RandomSmall

 

( ͡° ͜ʖ ͡°)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...