Français
Source/ Codesnippets

alphabet2nr Buchstabenreihe Konvertieren Nr2alphabet transformer payons Zählen - 3

 
Siehe aussi: zaehlen beliebig buchstaben zaehler  [...] 

Jörg Sellmeyer (23.10.11)
Es hat mir aucun Ruhe gelassen et je hab encore weitergetüftelt. maintenant hab ich's raus et c'est letztlich unkomplizierter comme anfangs erwartet.
KompilierenMarqueSéparation
'et renversé
'Jörg Selllmeyer 2011
'zur freien Verwendung
'ici bekommt on très bien erklärt, comment cela Umrechnen de payons dans un autre la base funktioniert:
'https://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm
'qui difficulté hierbei, ist qui fehlende zéro. Alle Nullstellen doit abgefangen volonté, qui
'aktuelle Stelle um une verringert et qui folgende Stelle également um une verringert volonté.
'qui Wert A000 wird ensuite alors sans Nullen trop YYZ. C000 wird trop BYYZ

Proc Nr2ABC

    Paramètres numéro!
    Déclarer Wert$,reste%

    Tandis que numéro! > 0

        reste% = numéro! Mod 26
        numéro! = numéro! \ 26

        Si reste% = 0

            'ici volonté qui Nullstellen abgefangen et umgewandelt
            numéro! = numéro! -1
            reste% = 26

        EndIf

        Cas reste% > 0:Wert$ = Chr$(reste% + 64) + Wert$

    Wend

    Retour Wert$

ENDPROC

Proc ABC2Nr

    Paramètres Text$
    Déclarer numéro!,somme!,B$
    Text$ = Upper$(Text$)

    WhileLoop Len(Text$),1,-1

        B$ = $ Substr(Text$,-&Boucle)
        numéro! = (Ord(B$)-64) * 26^(&Boucle-1)
        somme! = somme! + numéro!

    Wend

    Retour Int(somme!)

ENDPROC

Cls
Titre de la fenêtre "Zahlen dans Buchstaben transformer et umgekehrt"
Imprimer "LQSVOFKGQM =", ABC2Nr("LQSVOFKGQM")
Imprimer "AAAAAA =", ABC2Nr("AAAAAA")
Imprimer "ABCDEFGH =", ABC2Nr("ABCDEFGH")
Imprimer
Imprimer "XPROFAN pouvoir Spass =", ABC2Nr("XPROFAN"),ABC2Nr("macht"),ABC2Nr("Spass")
Imprimer
Déclarer s$
Randomiser

WhileLoop 10

    s$ = Chr$(Tour(26) + 65) + s$

Wend

Imprimer s$ + " =",ABC2Nr($ S)
WaitInput
Cls
Randomiser

WhileLoop 0,780,1

    Imprimer Nr2ABC(&Boucle),

Wend

WaitInput
Cls

WhileLoop 00,480,1

    Imprimer Nr2ABC(&Boucle + Tour(345676)),

Wend

WaitInput

ici ist encore un kleines Programme, chez dem on un un peu herumexperimentieren peux:
KompilierenMarqueSéparation
 $H windows.ph
Def DelLast(2) Mid $(@$(1),1,(Len(@$(1)) - @&(2)))
'ici peux on joli nachlesen, comment so une change funktioniert:
'https://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm

Proc Nr2ABC

    Paramètres numéro!
    Déclarer Wert$,reste%

    Tandis que numéro! > 0

        reste% = numéro! Mod 26
        numéro! = numéro! \ 26

        Si reste% = 0

            numéro! = numéro! -1
            reste% = 26

        EndIf

        Cas reste% > 0:Wert$ = Chr$(reste% + 64) + Wert$

    Wend

    Retour Wert$

ENDPROC

Proc ABC2Nr

    Paramètres Text$
    Déclarer numéro!,somme!,B$

    WhileLoop Len(Text$),1,-1

        B$ = $ Substr(Text$,&Boucle)
        numéro! = Chr$(B$) * 26^(&Boucle-1)
        somme! = somme! + numéro!

    Wend

    Retour somme!

ENDPROC

SubProc Créer.TextR

    Retour @Contrôle("STATIC",@$(2),$50000002,@%(3),@%(4), \
    @%(5),@%(6),@%(1),101, %hInstance)

ENDPROC

Proc Text_setzen

    Paramètres cb&,txt&,txt1&
    Déclarer Text$,Ergebnis!
    Text$ = GetText $(txt&)
    SetText txt1&,Str$((GetCurSel(cb&)) * Val(Text$))
    Claire Text$

    WhileLoop 0,se mettre%-1

        Ergebnis! = Val(GetText $(txt1&[&Boucle])) + Ergebnis!
        Text$ = Text$ + GetText $(cb&[&Boucle])

    Wend

    SetText txt_Ergebnis&,Str$(Ergebnis!)
    SetText txt_Alphabet&,Text$
    SetText txt_Nr2ABC&,Nr2ABC(Ergebnis!)

ENDPROC

Proc Button_Aktion

    Paramètres btn&

    Si GetText $(btn&) = "Null setzen"

        SendMessage(cb&[focus%],$014E,0,0)
        Text_setzen(cb&[focus%],txt&[focus%],txt1&[focus%])
        SetText btn&,"Zufall"

    D'autre

        SendMessage(cb&[focus%],$014E,Tour(26),0)
        Text_setzen(cb&[focus%],txt&[focus%],txt1&[focus%])
        SetText btn&,"Null setzen"

    EndIf

ENDPROC

Proc Alle_Null

    Paramètres btn&

    Si GetText $(btn&) = "alle zéro setzen"

        WhileLoop 0,se mettre%-1

            SendMessage(cb&[&Boucle],$014E,0,0)
            Text_setzen(cb&[&Boucle],txt&[&Boucle],txt1&[&Boucle])
            SetText btn&[&Boucle],"Zufall"

        Wend

        SetText btn&,"alle Zufall"

    D'autre

        WhileLoop 0,se mettre%-1

            SendMessage(cb&[&Boucle],$014E,Tour(26),0)
            Text_setzen(cb&[&Boucle],txt&[&Boucle],txt1&[&Boucle])
            SetText btn&[&Boucle],"Null setzen"

        Wend

        SetText btn&,"alle zéro setzen"

    EndIf

ENDPROC

Déclarer se mettre%
Stellen% = 10
Déclarer cb&[se mettre%],txt&[se mettre%],txt1&[se mettre%],A$,x%,b%,focushdl&,focus%,Ergebnis&
Déclarer btn&[se mettre% + 1]
b% = 118
x% = 120
Fenêtre Style 8 | 24 | 512
Fenêtre se mettre% * (b% + 24),300
SetDialogFont ~GetStockObject($11)

WhileLoop 26

    a$ = a$ + Chr$(64 + &loop) + "|"

Wend

a$ = " |" + DelLast(a$,1)
MoveStrToList(a$,"|")

WhileLoop 0,se mettre%-1

    cb&[&Boucle] = Créer("ChoiceBox",%hwnd,0,5 + &Boucle * x%,40,b%,160)
    Créer("Tooltip",%hwnd,cb&[&Boucle],"26^" + Str$(se mettre%-1 - &Boucle))
    MoveListToHandle(cb&[&Boucle])
    SendMessage(cb&[&Boucle],$014E,0,0)
    txt&[&Boucle] = Créer("TextR",%hwnd,»,5 + &Boucle * x%,10,b%,20)
    txt1&[&Boucle] = Créer("TextR",%hwnd,»,5 + &Boucle * x%,80,b%,20)
    btn&[&Boucle] = Créer("Button",%hwnd,"Zufall",5 + &Boucle * x%,110,b%,20)
    Cas &Boucle = se mettre% - 1:btn&[&Boucle + 1] = Créer("Button",%hwnd,"Zufall",5 + (&Boucle + 1) * x%,110,b%,20)

Wend

Var txt_Alphabet& = Créer("TextR",%hwnd,»,5 + se mettre% * x%,40,b% + se mettre%,20)
Var txt_Ergebnis& = Créer("TextR",%hwnd,»,5 + se mettre% * x%,80,b%,20)
Var txt_Nr2ABC& = Créer("TextR",%hwnd,»,5 + se mettre% * x%,140,b%,20)
Set("Décimal",0)

WhileLoop 0,se mettre%-1

    SetText txt&[se mettre%-1 - &Boucle],Str$(26^&Boucle)

Wend

Randomiser

Tandis que 1

    WaitInput
    focushdl& = %getfocus

    WhileLoop 0,se mettre%-1

        Cas focushdl& = cb&[&Boucle]:focus% = &Boucle

        Si focushdl& = btn&[&Boucle]

            focus% = &Boucle

        EndIf

    Wend

    Si %clé = 2

        Pause

    ElseIf GetFocus(cb&[focus%])

        Cas GetCurSel(cb&[focus%]) > -1:Text_setzen(cb&[focus%],txt&[focus%],txt1&[focus%])

    ElseIf Clicked(btn&[focus%])

        Button_Aktion(btn&[focus%])

    ElseIf Clicked(btn&[se mettre%])

        Alle_Null(btn&[se mettre%])

    ElseIf %mousepressed = 2

        CreateMenu
        AppendMenu 100,"Summe kopieren"
        AppendMenu 101,"Buchstaben kopieren"
        TrackMenu %mousex,%mousey

        Si MenuItem(100)

            ClearClip
            PutClip GetText $(txt_Ergebnis&)

        ElseIf MenuItem(101)

            ClearClip
            PutClip GetText $(txt_Alphabet&)

        EndIf

    EndIf

Wend


ici ist encore une Auflistung:
KompilierenMarqueSéparation
Proc Nr2ABC

    Paramètres numéro!
    Déclarer Wert$,reste%

    Tandis que numéro! > 0

        reste% = numéro! Mod 26
        numéro! = numéro! \ 26

        Si reste% = 0

            numéro! = numéro! -1
            reste% = 26

        EndIf

        Cas reste% > 0:Wert$ = Chr$(reste% + 64) + Wert$

    Wend

    Retour Wert$

ENDPROC

Cls
ShowMax
Déclarer se mettre%[6],Wert$[6],n%,a$,b$,OrdNr&,En-tête$,s$
Claire se mettre%[]
OrdNr& = 1
Var b% = %maxx \ 27 -1

WhileLoop 26

    s$ = s$ + Chr$(64 + &loop) + ";1;" + Str$(b%) + ";"

Wend

s$ = ";0;" + Str$(b%) + ";" + s$
Var l& = Créer("GridBox",%hwnd,s$,0,2,2,Width(%hwnd)-4,Height(%hwnd)-4)

WhileLoop 26^2

    WhileLoop 26

        B$ = B$ + Nr2ABC(OrdNr&) + "|"
        Inc OrdNr&

    Wend

    AddStrings(l&,Str$(OrdNr&-26) + "|" + b$)
    Claire b$
    Titre de la fenêtre Str$(OrdNr&) + " patience - und dir jusqu'à 26^3 (" + Str$(Int(26^3)) + ")"

Wend

Titre de la fenêtre Str$(OrdNr&) + " patience - und dir jusqu'à 26^3 (" + Str$(Int(26^3)) + ") fertig!"

Tandis que 1

    WaitInput

Wend


 
23.10.2011  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.377 Views

Untitledvor 0 min.
RudiB.18.09.2022
Michael W.30.03.2022
Thomas Zielinski02.12.2021
Uwe ''Pascal'' Niemeier24.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie