eingabefeld für ein lizenz schlüssel [Gelöst]

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Re: eingabefeld für ein lizenz schlüssel

Beitrag von jpd »

ja!

kann doch ohne großen sorgen zum Wochenende blicken :-)

Vielen lieben dank an alle, besonders an c4s.

@Vera ich bin in der regel auch für "crossplattform" Lösungen heute bin ich recht zufrieden mit der only Windows Variante. :-)
aber ich weiß das ggf. deine Version es ermöglicht.

Ciao
jpd

Code: Alles auswählen


Enumeration
    #Window_Lic
EndEnumeration


Enumeration
    #Lic_1
    #Lic_2
    #Lic_3
    #Lic_4
    #Lic_5
    #Btn_Lic
    #Btn_lic_abbr
    #Menu_Back    
EndEnumeration


Macro StringGadgetTextLength(GadgetNr, Length)
    SendMessage_(GadgetID(GadgetNr), #EM_LIMITTEXT, Length, 0)
EndMacro

Procedure Open_Window_Lic()
    If OpenWindow(#Window_Lic, 425, 277, 478, 192, "Lizenz Assistent",  #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered |#PB_Window_SystemMenu)
        SetWindowColor(#Window_Lic,#White)
        StringGadget(#Lic_1, 40, 100, 70, 20, "")
        StringGadget(#Lic_2, 120, 100, 70, 20, "")
        StringGadget(#Lic_3, 200, 100, 70, 20, "")
        StringGadget(#Lic_4, 280, 100, 70, 20, "")
        StringGadget(#Lic_5, 360, 100, 70, 20, "")
        ButtonGadget(#Btn_Lic, 40, 140, 85, 30, "Fertig stellen")
        DisableGadget(#Btn_Lic,1)
        ButtonGadget(#Btn_lic_abbr, 140, 140, 85, 30, "Abbrechen")
        StringGadgetTextLength(#lic_1,5)
        StringGadgetTextLength(#lic_2,5)
        StringGadgetTextLength(#lic_3,5)
        StringGadgetTextLength(#lic_4,5)
        StringGadgetTextLength(#lic_5,5)
        AddKeyboardShortcut(#Window_lic, #PB_Shortcut_Back,#Menu_Back)
    EndIf
EndProcedure

Open_Window_Lic()
Define.s mykey

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
            Quit = #True
        Case #PB_Event_Menu
            Select EventMenu()
                Case #Menu_Back
                    ;  Debug "?"
                    If GetActiveGadget() >= #lic_1 And GetActiveGadget() <= #lic_5
                        If Len(GetGadgetText(GetActiveGadget()))=0
                            If GetActiveGadget() > #lic_1
                                SetActiveGadget(GetActiveGadget() - 1)
                                
                                SendMessage_(GadgetID(GetActiveGadget() ),#WM_KEYDOWN,#VK_END,0)
                            EndIf
                            
                        ElseIf Len(GetGadgetText(GetActiveGadget()))=5
                            nr2 = GetActiveGadget()
                            text.s = Left(GetGadgetText(nr2), 4)
                            SetGadgetText(GetActiveGadget(), text)
                            SendMessage_(GadgetID(GetActiveGadget()),#WM_KEYDOWN,#VK_END,0)
                        ElseIf Len(GetGadgetText(GetActiveGadget())) > 0
                            nr=Len(GetGadgetText(GetActiveGadget()))
                            SetGadgetText(GetActiveGadget(), Mid(GetGadgetText(GetActiveGadget()),1,nr-1))
                            SendMessage_(GadgetID(GetActiveGadget()),#WM_KEYDOWN,#VK_END,0)
                        EndIf
                    EndIf
                    
            EndSelect    
        Case #PB_Event_Gadget
            Select EventGadget()
                Case #Lic_1 To #Lic_5
                    If EventType() = #PB_EventType_Change
                        GadgetNr = EventGadget()
                        
                        If Len(GetGadgetText(GadgetNr)) = 5
                            Select GadgetNr
                                Case #Lic_1 : mykey=mykey+GetGadgetText(Gadgetnr)+"-":GadgetNr = #Lic_2
                                Case #Lic_2 : mykey=mykey+GetGadgetText(Gadgetnr)+"-":GadgetNr = #Lic_3
                                Case #Lic_3 : mykey=mykey+GetGadgetText(Gadgetnr)+"-":GadgetNr = #Lic_4
                                Case #Lic_4 : mykey=mykey+GetGadgetText(Gadgetnr)+"-":GadgetNr = #Lic_5   
                                Case #Lic_5 : mykey=mykey+GetGadgetText(Gadgetnr)+"-":GadgetNr = #Btn_Lic
                            EndSelect
                            SetActiveGadget(GadgetNr)
                        EndIf
                    EndIf
                    If Len(mykey)= >30
                        DisableGadget(#Btn_Lic,0)
                        mykey=""
                    EndIf    
                    
                    
                    
                Case  #Btn_Lic
                    go=0
                    mykey.s=""
                    For x= 0 To 4
                        If  Len(GetGadgetText(#Lic_1+x)) =5
                            Debug "ok"
                            go=1
                            mykey=mykey+GetGadgetText(#lic_1+x)+"-"
                        Else
                            Debug "gadget :" +Str(#lic_1+x) 
                            go=0
                            mykey=""
                            Break
                            
                        EndIf
                    Next    
                    If go= 1    
                        Debug RTrim(mykey,"-")
                    EndIf
                Case#Btn_lic_abbr
                    End     
            EndSelect
    EndSelect
Until Quit
End
PB 5.10 Windows 7 x64
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: eingabefeld für ein lizenz schlüssel [Gelöst]

Beitrag von SebastianJu2 »

Ist es jetzt nicht mehr Linuxtauglich nur wegen der Lizenzschlüsseleingabe?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: eingabefeld für ein lizenz schlüssel [Gelöst]

Beitrag von ts-soft »

SebastianJu2 hat geschrieben:Ist es jetzt nicht mehr Linuxtauglich nur wegen der Lizenzschlüsseleingabe?
Unter Linux sind Programme, die eine Lizenzschlüsseleingabe erfordern sowieso eher selten :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
SebastianJu2
Beiträge: 180
Registriert: 24.09.2010 10:39

Re: eingabefeld für ein lizenz schlüssel [Gelöst]

Beitrag von SebastianJu2 »

Achso... stimmt... :) Ich dachte nur daran dass hier ein potentieller Markt (Lizenzschlüssel... ist wohl Kaufware) ohne Not verschenkt wird... :)
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: eingabefeld für ein lizenz schlüssel [Gelöst]

Beitrag von Vera »

jpd hat geschrieben:ja!
Toll, dass Du die API-variante auch erfolgreich hingekriegt hast :allright:
ts-soft hat geschrieben:
SebastianJu2 hat geschrieben: Ist es jetzt nicht mehr Linuxtauglich nur wegen der Lizenzschlüsseleingabe?
Unter Linux sind Programme, die eine Lizenzschlüsseleingabe erfordern sowieso eher selten :mrgreen:
Mann beachte Mr Green :mrgreen:

Es liegt wohl eher am Api-Befehl zB im Makro_ ;)

Auch wenn unter Linux vielleicht weniger mit einer Lizenzschlüssel... Kaufware zu rechnen ist, könnte man aber umso mehr via MAC rausschlagen :lol:

viel Spass im Wochenende ~ Vera
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Antworten