Español
Fuente/ Codesnippets

Beschr

 

Findus
Ein Eingabefeld wo uno sólo Pagar y Komma eingeben kann
KompilierenMarcaSeparación
'##########################
'Benötigte Header-Dateien einbinden
'##########################
 $H Windows.ph
 $H Messages.ph
'##########################
'Fenster anlegen
'##########################
WindowStyle 536'DialogStil setzen
WindowTitle "Berechne"
WINDOW 365,250
CLS ~GetSysColor(~COLOR_BTNFACE)
Set("Decimals",4)
setdialogfont ~GetStockObject(~DEFAULT_GUI_FONT)
'##########################
'das Fenster aufbauen
'##########################
Create("Text",%hWnd,"Eingabe X1:",10, 8,120,20)
Create("Text",%hWnd,"Eingabe X2 muss ungleich 0 sein:",10,33,300,20)
Create("Text",%hWnd,"Eingabe Y1:",10,58,120,20)
Create("Text",%hWnd,"Eingabe Y2:",10,83,120,20)
Create("Text",%hWnd,"Eingangssignal:",10,108,120,20)
Create("Text",%hWnd,"Die Steigung beträgt:",10,168,200,20)
Create("Text",%hWnd,"Das Ausgangssignal beträgt:",10,193,200,20)
Var  X1% = Create("Edit",%hWnd,"",250, 5,85,24)
Var  X2% = Create("Edit",%hWnd,"",250,30,85,24)
Var  Y1% = Create("Edit",%hWnd,"",250,55,85,24)
Var  Y2% = Create("Edit",%hWnd,"",250,80,85,24)
Var  ES% = Create("Edit",%hWnd,"",250,105,85,24)
Var  hB% = Create("Button",%hWnd,"&Berechnen",10,133,80,25)
Var  hA% = Create("Button",%hWnd,"&Schließen",250,133,80,25)
Var T1% = Create("Text",%hWnd,"",248,193,85,20)
Var T2% = Create("Text",%hWnd,"",248,168,85,20)
'##########################
'Subclassing für die Edits einschalten
'##########################
SubClass X1%, 1
SubClass X2%, 1
SubClass Y1%, 1
SubClass Y2%, 1
SubClass ES%, 1
SetFocus(X1%)
'##########################
'Hauptschleife
'##########################

While 1

    WaitInput
    Case %key = 2 : BREAK'Fenster soll geschlossen werden(ESC,ALT+F4,Schliessen-Kreuz,Systemmenu-Schliessen)

    If Clicked(hb%)

        If CheckValues()

            Berechnen()

        EndIf

    ElseIf Clicked(ha%)

        Break

    EndIf

EndWhile

End
'##########################
'die benötigten Prozeduren
'##########################

Subclassproc

    '##########################
    'hier wird die Eingabe in die Edits überwacht
    'nur Zahlen,Minus,Komma und Backspace werden erlaubt
    '##########################

    If (&swnd = X2%) or (&swnd = Y1%) or (&swnd = X1%) or (&swnd = Y2%) or (&swnd = ES%)

        If SubClassMessage(&swnd,~wm_char)

            Set("WinProc", 1)'weiterleiten

            If (&swParam > 47) and (&swParam < 58)'alle Zahlen bearbeiten

            ElseIf &swParam = 45'Minus

            ElseIf &swParam = 44'Komma

            ElseIf &swParam = ~VK_BACK'Backspace

            Else

                Set("WinProc", 0)'sonst nicht weiterleiten

            EndIf

            '#################
            'Rechte Maustast abfangen
            '#################

        Elseif SubClassMessage(&swnd,~WM_CONTEXTMENU)

            SendMessage(&swnd,~WM_LBUTTONDOWN,0,0)
            SendMessage(&swnd,~WM_LBUTTONUP,0,0)
            Set("WinProc", 0)'sonst nicht weiterleiten

        EndIf

    EndIf

EndProc

Proc Berechnen

    Var X1! = val(translate$(GetText$(X1%),",","."))
    Var X2! = val(translate$(GetText$(X2%),",","."))
    Var Y1! = val(translate$(GetText$(Y1%),",","."))
    Var Y2! = val(translate$(GetText$(Y2%),",","."))
    Var ES! = val(translate$(GetText$(ES%),",","."))
    Var ST! = ((Y2!-Y1!)/(X2!-X1!))
    Var AS!=(ES!*ST!)+Y1!
    Var ST$ = str$(@round(ST!,4))
    Var AS$ = str$(@round(AS!,4))
    Settext T1%,AS$+" %"
    Settext T2%,ST$

EndProc

Proc CheckValues

    '##########################
    'hier werden die zwei Edits überprüft die keine NULL erlauben
    '##########################

    If Val(Gettext$(X2%)) = 0

        Messagebox("unkorrekte Eingabe - bitte prüfen","Feld1",0)
        SetFocus(X2%)
        Return 0

    ElseIf Val(Gettext$(Y1%)) = 0

        Messagebox("unkorrekte Eingabe - bitte prüfen","Feld2",0)
        SetFocus(Y1%)
        Return 0

    EndIf

    Volver 1

ENDPROC


Das ha Andreas Miethe erstellt.
 
29.12.2012  
 



Grüße y herzlichen Glückwunsch a Deinem ersten Snippet!

Pida a los Título del Tema algo adaptado, hier en el Quelltexten en el Titel sólo
el Ver código fuente betreffende Schlagworte, dafür aber ruhig unos pocos mehr.
 
29.12.2012  
 




Findus
IF (29.12.12)

Grüße y herzlichen Glückwunsch a Deinem ersten Snippet!

Pida a los Título del Tema algo adaptado, hier en el Quelltexten en el Titel sólo
el Ver código fuente betreffende Schlagworte, dafür aber ruhig unos pocos mehr.


Ok el merke Yo.
 
29.12.2012  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

6.895 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
p.specht20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Findus (2x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie