Mol-Rechner

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Farodin
Beiträge: 35
Registriert: 16.05.2006 18:49
Wohnort: bei mir zuhause
Kontaktdaten:

Mol-Rechner

Beitrag von Farodin »

Da ich über die Forensuche nichts zu dem Thema finden konnte:
hier der Code für den Mol-Rechner den ich zusammen mit Jilocasin Geschrieben habe:

Code: Alles auswählen

#mol = 22.4

value.f
value2.f

  OpenWindow(0,125,250,500,160,#PB_Window_MinimizeGadget,"Mol-Rechner")
    CreateGadgetList(WindowID(0))
      Frame3DGadget(0,30,5,80,45,"Mol",0)
      StringGadget(1,45,20,50,20,"")
      
      TextGadget(2,120,24,10,20,"X")
      
    
      Frame3DGadget(3,275,5,80,45,"Gramm",0)
      StringGadget(4,285,20,50,20,"")
      
      ButtonGadget(6,10,80,100,24,"In Liter umrechen")
      ButtonGadget(7,120,80,120,24,"In Gramm umrechnen")    
      
      Frame3DGadget(8,140,5,80,45,"µ",0)
      StringGadget(9,155,20,50,20,"")

      Frame3DGadget(10,8,60,240,4,"",1)
      Frame3DGadget(11,249.5,5,4,115,"",1)
      Frame3DGadget(12,255,60,240,4,"",1)
      Frame3DGadget(13,0,120,2400,4,"",1)
            
      Frame3DGadget(14,390,5,80,45,"µ",0)
      StringGadget(15,400,20,50,20,"")
      
      TextGadget(16,368,24,10,20,"/")
      
       ButtonGadget(17,325,80,100,24,"In Mol umrechen")
       ButtonGadget(18,200,130,100,24,"About")
            
  OpenWindow(1,665,250,200,400,#PB_Window_Titlebar,"Tabelle")
    CreateGadgetList(WindowID(1))
      TextGadget(11,5,5,190,20,"Atommassen (µ) der Elemente")
       ListViewGadget(12,5,25,190,370)
      AddGadgetItem(12,-1,"H=1")
      AddGadgetItem(12,-1,"He=4")
      AddGadgetItem(12,-1,"Li=6.9")
      AddGadgetItem(12,-1,"Be=9")
      AddGadgetItem(12,-1,"B=10.8")
      AddGadgetItem(12,-1,"C=12")
      AddGadgetItem(12,-1,"N=14")
      AddGadgetItem(12,-1,"O=16")
      AddGadgetItem(12,-1,"F=19")
      AddGadgetItem(12,-1,"Ne=20.2")
      AddGadgetItem(12,-1,"Na=23")
      AddGadgetItem(12,-1,"Mg=24.3")
      AddGadgetItem(12,-1,"Al=27")
      AddGadgetItem(12,-1,"Si=28.1")
      AddGadgetItem(12,-1,"P=31")
      AddGadgetItem(12,-1,"S=32.1")
      AddGadgetItem(12,-1,"Cl=35.5")
      AddGadgetItem(12,-1,"Ar=39.9")
      AddGadgetItem(12,-1,"K=39.1")
      AddGadgetItem(12,-1,"Ca=40.1")
      AddGadgetItem(12,-1,"Sc=45")
      AddGadgetItem(12,-1,"Ti=47.9")
      AddGadgetItem(12,-1,"V=50.9")
      AddGadgetItem(12,-1,"Cr=52")
      AddGadgetItem(12,-1,"Mn=54.9")
      AddGadgetItem(12,-1,"Fe=55.8")
      AddGadgetItem(12,-1,"Co=58.9")
      AddGadgetItem(12,-1,"Ni=58.7")
      AddGadgetItem(12,-1,"Cu=63.5")
      AddGadgetItem(12,-1,"Zn=65.4")
      AddGadgetItem(12,-1,"Ga=69.7")
      AddGadgetItem(12,-1,"Ge=72.6")
      AddGadgetItem(12,-1,"As=74.9")
      AddGadgetItem(12,-1,"Se=79")
      AddGadgetItem(12,-1,"Br=79.9")
      AddGadgetItem(12,-1,"Kr=83.8")
      AddGadgetItem(12,-1,"Rb=85.5")
      AddGadgetItem(12,-1,"Sr=87.6")
      AddGadgetItem(12,-1,"Y=88.9")
      AddGadgetItem(12,-1,"Zr=91.2")
      AddGadgetItem(12,-1,"Nb=92.9")
      AddGadgetItem(12,-1,"Mo=95.9")
      AddGadgetItem(12,-1,"Tc=98")
      AddGadgetItem(12,-1,"Ru=101.1")
      AddGadgetItem(12,-1,"Rh=102.9")
      AddGadgetItem(12,-1,"Pd=106.4")
      AddGadgetItem(12,-1,"Ag=107.9")
      AddGadgetItem(12,-1,"Cd=112.4")
      AddGadgetItem(12,-1,"In=114.8")
      AddGadgetItem(12,-1,"Sn=118.7")
      AddGadgetItem(12,-1,"Sb=121.8")
      AddGadgetItem(12,-1,"Te=127.6")
      AddGadgetItem(12,-1,"I=126.9")
      AddGadgetItem(12,-1,"Xe=131.3")
      AddGadgetItem(12,-1,"Cs=132.9")
      AddGadgetItem(12,-1,"Ba=137.3")
      AddGadgetItem(12,-1,"La=138.9")
      AddGadgetItem(12,-1,"Ce=140.1")
      AddGadgetItem(12,-1,"Pr=140.9")
      AddGadgetItem(12,-1,"Nd=144.2")
      AddGadgetItem(12,-1,"Pm=145")
      AddGadgetItem(12,-1,"Sm=150.4")
      AddGadgetItem(12,-1,"Eu=152")
      AddGadgetItem(12,-1,"Gd=157.2")
      AddGadgetItem(12,-1,"Tb=158.9")
      AddGadgetItem(12,-1,"Dy=162.5")
      AddGadgetItem(12,-1,"Ho=164.9")
      AddGadgetItem(12,-1,"Er=167.3")
      AddGadgetItem(12,-1,"Tm=168.9")
      AddGadgetItem(12,-1,"Yb=173")
      AddGadgetItem(12,-1,"Lu=175")
      AddGadgetItem(12,-1,"Hf=178.5")
      AddGadgetItem(12,-1,"Te=180.9")
      AddGadgetItem(12,-1,"W=183.8")
      AddGadgetItem(12,-1,"Re=186.2")
      AddGadgetItem(12,-1,"Os=190.2")
      AddGadgetItem(12,-1,"Ir=192.2")
      AddGadgetItem(12,-1,"Pt=195.1")
      AddGadgetItem(12,-1,"Au=197")
      AddGadgetItem(12,-1,"Hg=200.6")
      AddGadgetItem(12,-1,"Tl=204.4")
      AddGadgetItem(12,-1,"Pb=207.2")
      AddGadgetItem(12,-1,"Bi=209")
      AddGadgetItem(12,-1,"Po=9")
      AddGadgetItem(12,-1,"At=210")
      AddGadgetItem(12,-1,"Rn=222")
      AddGadgetItem(12,-1,"Fr=223")
      AddGadgetItem(12,-1,"Ra=226")
      AddGadgetItem(12,-1,"Ac=227")
      AddGadgetItem(12,-1,"Th=232")
      AddGadgetItem(12,-1,"Pa=231")
      AddGadgetItem(12,-1,"U=238")
      AddGadgetItem(12,-1,"Np=237")
      AddGadgetItem(12,-1,"Pu=244")
      AddGadgetItem(12,-1,"Am=243")
      AddGadgetItem(12,-1,"Cm=247")
      AddGadgetItem(12,-1,"Bk=247")
      AddGadgetItem(12,-1,"Cf=251")
      AddGadgetItem(12,-1,"Es=252")
      AddGadgetItem(12,-1,"Fm=257")
      AddGadgetItem(12,-1,"Md=258")
      AddGadgetItem(12,-1,"No=259")
      AddGadgetItem(12,-1,"Lr=260")
      AddGadgetItem(12,-1,"Ku=261")
      AddGadgetItem(12,-1,"Ha=262")
      
   MessageRequester("Hinweis!","das symbol 'µ' bezieht sich immer auf die Gesamtatommasse, die ihr mit Hilfe der Tabelle ausrechnen könnt!",0)

  
  
  
Repeat 
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_CloseWindow 
    End 
  EndIf
  
  
  If EventID = #PB_Event_Gadget
    Select EventGadgetID()
    Case 6
      value = ValF(GetGadgetText(1))
      If Value = 0
        MessageRequester("Fehler","Du musst die Molmenge angeben",16)
      Else 
        MessageRequester("Ergebnis",StrF(value)+" Mol entspricht "+StrF(value*#mol)+" Liter",0)
      EndIf 
    Case 7
      value = ValF(GetGadgetText(1))
      value2 = ValF(GetGadgetText(9))
       If value2 = 0
         MessageRequester("Fehler!","Du musst die Gesamtatommasse und/oder Molmenge angeben!",16)
       Else
      MessageRequester("Ergebnis",StrF(value)+" Mol entspricht "+StrF(value*value2)+" Gramm des ausgewählten Stoffs",0)
      EndIf 
    Case 17
      value = ValF(GetGadgetText(4))
      value2 = ValF(GetGadgetText(15))
             If value2 = 0
                 MessageRequester("Fehler!","Du musst die Gesamtatommasse und /oder das Gewicht\dieMenge angeben!",16)
            Else
                 MessageRequester("Ergebnis",StrF(value)+" Gramm entspricht "+StrF(value/value2)+" Mol",0)
            EndIf
     Case 18
      MessageRequester("About","©2006 by Jilocasin & Farodin",0)
    EndSelect
  EndIf
  
ForEver
(den haben wir geschrieben, weil wir das Thema Mol grade in Chemie haben,da haben wir uns gedacht: Mit so nem Programm gehts doch gleich viel leichter) (Hinweis: die ganzen Elemente in der Tabelle, sind dafür, dass man nicht immer ein Chemiebuch dabeihaben muss, um alle Rechnungen durchführen zu können) (wenn ich falsch gepostet haben sollte: sorry,bitte keine Verwarnung! :oops: )
Warning! Exception Error in Life.exe
Task will be shut down.

verwende version 4.10 unter Windows
Benutzeravatar
Macros
Beiträge: 1365
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: Mol-Rechner

Beitrag von Macros »

Farodin hat geschrieben:(wenn ich falsch gepostet haben sollte: sorry,bitte keine Verwarnung! :oops: )
Hier sind wir gottseidank nicht in so einem Forum, wo die Mods mit Verwarnungen um sich werfen.
:allright:
Antworten