Vanity-Calculator

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Hroudtwolf
Messages : 27
Inscription : sam. 12/mars/2005 5:55
Localisation : Germany(Hessen)
Contact :

Vanity-Calculator

Message par Hroudtwolf »

Code : Tout sélectionner

;Vanity-Calculator
;2005 Hroudtwolf
;-----------------------------------------------------
Declare FensterCallBack(WindowID.l, Message.l, wParam.l, lParam.l)
Declare String2Numbers()
Declare Numbers2String()


Dim nummern$(10)
Global ColorBrush.l, hString.l

ColorBrush.l = CreateSolidBrush_($ECFADE)



nummern$(1)=" "
nummern$(2)="ABC"
nummern$(3)="DEF"
nummern$(4)="GHI"
nummern$(5)="JKL"
nummern$(6)="MNO"
nummern$(7)="PQRS"
nummern$(8)="TUV"
nummern$(9)="WXYZ"
nummern$(0)="+"

flags.l=#pb_window_screencentered|#pb_window_systemmenu



If CreateImage (1,10,10)
If StartDrawing (ImageOutput ())
DrawingMode(0)
Box(0,0,10,10,RGB(50,50,250))

For x=0 To 10 Step 2
Line (0,x,10,0,RGB(0,0,100))
Next x
StopDrawing()
EndIf
EndIf

font1.l=LoadFont(1,"ARIAL",10,#pb_font_bold)
font2.l=LoadFont(2,"MSFIXEDSYS",8,#pb_font_bold)

If OpenWindow (1,0,0,300,230,flags.l,"VANITY-CALC")
HideWindow(1,1)
 hBrush.l = CreatePatternBrush_(UseImage (1))
  SetClassLong_(WindowID(1), #GCL_HBRBACKGROUND, hBrush.l)
  InvalidateRect_(WindowID(1), #NULL, #TRUE)


  If CreateGadgetList(WindowID(1))
   If font2.l
      SetGadgetFont(#PB_Default,Font2.l)   
  EndIf
  Frame3DGadget(1,10,10,280,30,"", #PB_Frame3D_Double )
  hString.l=StringGadget(2,15,15,270,20,"",#PB_Text_Right)
  If font1.l:SetGadgetFont(2,font1.l):EndIf   
  Frame3DGadget(15,160,50,5,170,"", #PB_Frame3D_single )
  Frame3DGadget(16,10,215,150,5,"", #PB_Frame3D_single )
  ButtonGadget (3,10,50,45,35,"1")
  ButtonGadget (4,60,50,45,35,"2"+Chr(10)+"ABC",#PB_Button_MultiLine)
  ButtonGadget (5,110,50,45,35,"3"+Chr(10)+"DEF",#PB_Button_MultiLine)
  ButtonGadget (6,10,90,45,35,"4"+Chr(10)+"GHI",#PB_Button_MultiLine)
  ButtonGadget (7,60,90,45,35,"5"+Chr(10)+"JKL",#PB_Button_MultiLine)
  ButtonGadget (8,110,90,45,35,"6"+Chr(10)+"MNO",#PB_Button_MultiLine)
  ButtonGadget (9,10,130,45,35,"7"+Chr(10)+"PQRS",#PB_Button_MultiLine)
  ButtonGadget (10,60,130,45,35,"8"+Chr(10)+"TUV",#PB_Button_MultiLine)
  ButtonGadget (11,110,130,45,35,"9"+Chr(10)+"WXYZ",#PB_Button_MultiLine)
  ButtonGadget (12,10,170,45,35,"*")
  ButtonGadget (13,60,170,45,35,"0"+Chr(10)+"+",#PB_Button_MultiLine)
  ButtonGadget (14,110,170,45,35,"#")
  ButtonGadget (17,180,50,110,25,"String2Numbers")
  ButtonGadget (18,180,80,110,25,"Numbers2String")
  ButtonGadget (19,180,110,110,25,"Clear Display")
  ButtonGadget (20,180,140,110,25,"Info")
  ButtonGadget (21,180,190,110,25,"End")
  EndIf
 
HideWindow(1,0)

SetWindowCallback(@FensterCallBack())

Repeat
eventid.l=WaitWindowEvent()
  Select eventid.l
  Case #pb_event_closewindow
  fertig=1
  Case #pb_event_gadget
  Select EventGadgetID()
  Case 3
  SetGadgetText(2,GetGadgetText(2)+"1")
  Case 4
  SetGadgetText(2,GetGadgetText(2)+"2")
  Case 5
  SetGadgetText(2,GetGadgetText(2)+"3")
  Case 6
  SetGadgetText(2,GetGadgetText(2)+"4")
  Case 7
  SetGadgetText(2,GetGadgetText(2)+"5")
  Case 8
  SetGadgetText(2,GetGadgetText(2)+"6")
  Case 9
  SetGadgetText(2,GetGadgetText(2)+"7")
  Case 10
  SetGadgetText(2,GetGadgetText(2)+"8")
  Case 11
  SetGadgetText(2,GetGadgetText(2)+"9")
  Case 12
  SetGadgetText(2,GetGadgetText(2)+"*")
  Case 13
  SetGadgetText(2,GetGadgetText(2)+"0")
  Case 14
  SetGadgetText(2,GetGadgetText(2)+"#")
  Case 19
  SetGadgetText(2,"")
  Case 20
  MessageRequester ("Info","This source was written by Hroudtwolf 2005(c)",0)
  Case 21
  fertig=1
  Case 17
  string2Numbers()
  Case 18
  Numbers2String()
  EndSelect
  EndSelect
 
       
Until fertig=1
DeleteObject_(hBrush.l)
CloseWindow(1)
End
EndIf



Procedure FensterCallBack(WindowID.l, Message.l, wParam.l, lParam.l)
    Result.l = #PB_ProcessPureBasicEvents
    Select Message
      Case #WM_CTLCOLOREDIT
        Select lParam
          Case GadgetID(2)
            SetTextColor_(wParam, $5C5C5C)
            SetBkMode_(wParam, #TRANSPARENT)
            Result.l = ColorBrush.l 
         EndSelect             
    EndSelect
ProcedureReturn Result.l
EndProcedure




Procedure String2Numbers()
text.s=UCase(GetGadgetText(2))

For x=1 To Len(text.s)
  For y=0 To 9 
    If FindString (nummern$(y),Mid(text.s,x,1),1)
    SetGadgetText(2,GetGadgetText(2)+Str(y))
    EndIf
  Next y
Next x
EndProcedure


Procedure Numbers2String()
text.s=GetGadgetText(2)
SetGadgetText(2,"")
For x=1 To Len(text.s)
zahl.l=Val(Mid(text.s,x,1))
vinlang.l=Len(nummern$(zahl.l))
SetGadgetText(2,GetGadgetText(2)+Mid(nummern$(zahl.l),1+Random(vinlang.l),1))
Next x
EndProcedure
s'il vous plaît, excuser mon français.Mais je veux apprendre votre langue.
---------------------------------------------------------
Vous êtes bienvenu à nous visiter : http://www.purebasic-lounge.de
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

heu, la question bête, ça sert à quoi ? :oops:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Je suppose que c'est pour convertir les chiffres tapés sur un clavier de telphone en lettres non ? (si c'est ça il reste des grands bugs)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui je ne vois pas trop à quoi ça peut servir aussi.
dlolo
Messages : 118
Inscription : ven. 18/févr./2005 16:29

Message par dlolo »

Il manquerai juste quelques explications...
Répondre