Seite 1 von 1

Wie kann ich ein Bild fest in das Prog einbinden

Verfasst: 13.02.2006 16:53
von JBE
Ich bin noch nicht so gut, also bitte keine Bemerkungen ob sauber oder nicht sauber Programmiert.

Code: Alles auswählen



b.f = 0.15
s.f = 3
If OpenWindow(0,100,100,500,460,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Gegentaktdurchflußwandler  J.B.Elektronik")
   If CreateGadgetList(WindowID())
 
    ListViewGadget(30,360,40,70,20)
    ListViewGadget(31,360,80,70,20)
    ListViewGadget(32,360,120,70,20)
    ListViewGadget(33,360,160,70,20)
    ListViewGadget(34,360,200,70,20)
    ListViewGadget(35,360,240,70,20)
    ListViewGadget(36,360,280,70,20)
    ListViewGadget(37,360,320,70,20)
    
    TextGadget(5,20,40,80,20,"U ein max [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(7,20,80,80,20,"U ein min [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(9,20,120,80,20,"U aus max [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(11,20,160,80,20,"I aus max [mA]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(13,20,200,80,20,"Frequenz [KHz]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(15,20,240,80,20,"Ae [mm²]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(17,20,280,80,20,"Al [nH] ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(26,20,308,160,20,"Zum Berechnen Bild Anklicken",#PB_Text_Center|#PB_Text_Border)
    
    TextGadget(40,200,40,150,20,"Wdg Primär ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(41,200,80,150,20,"Wdg Sekundär ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(42,200,120,150,20,"Wdg Speicherdrossel",#PB_Text_Center|#PB_Text_Border)
    TextGadget(43,200,160,150,20,"Drosselinduktivität [mH] ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(44,200,187,150,40,"Drahtdurchmesser Sekundär u. Speicherdrossel [mm] bei S 3A",#PB_Text_Center|#PB_Text_Border)
    TextGadget(45,200,235,150,30,"Leistung in Watt bei 85% Wirkungsgrad",#PB_Text_Center|#PB_Text_Border)
    TextGadget(46,200,275,150,30,"Eingangsstrom in [A] bei U ein min",#PB_Text_Center|#PB_Text_Border)
    TextGadget(47,200,315,150,30,"Drahtdurchmesser Primär [mm] bei S 3A",#PB_Text_Center|#PB_Text_Border)
    TextGadget(48,200,360,290,90,"Dieses Programm berechnet einen einfachen Gegentaktdurchflusswandler wobei ein Wirkungsgrad von 85% angenommen wird. Die schon eingetragenen Werte beziehen sich auf einen ETD34. Ausreichende Kenntnisse im Bau von Schaltnetzteilen insbesondere des Übertragers sind Vorraussetzung.",#PB_Text_Center|#PB_Text_Border )
    
    StringGadget(4,110,40,80,20,"14",#PB_String_Numeric)
    StringGadget(6,110,80,80,20,"10.6",#PB_String_Numeric)
    StringGadget(8,110,120,80,20,"300",#PB_String_Numeric)
    StringGadget(10,110,160,80,20,"100",#PB_String_Numeric)
    StringGadget(12,110,200,80,20,"50",#PB_String_Numeric)
    StringGadget(14,110,240,80,20,"91.6",#PB_String_Numeric)
    StringGadget(16,110,280,80,20,"240",#PB_String_Numeric)
    
    GadgetToolTip(4, "Maximale Eingangsspannung")
    GadgetToolTip(6, "Minimale Eingangsspannung")
    GadgetToolTip(8, "Maximale Ausgangsspannung")
    GadgetToolTip(10, "Maximaler Ausgangsstrom in mA")
    GadgetToolTip(12, "Arbeitsfrequenz in KHz")
    GadgetToolTip(14, "Kernquerschnitt Ae mm² [ETD34] Übertrager")
    GadgetToolTip(16, "Al-Wert in nH bei Luftspalt S [mm] [ETD34] Speicherdrossel S = 0,4 mm")
   
    
    ;LoadImage(0, "uart.bmp") 
    ;ButtonImageGadget(27,20,330,160,120,UseImage(0))
    ;GadgetToolTip(27, "Berechnung-Button")
EndIf
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow 
     Quit = 1
  EndIf
    If EventID = #PB_Event_Gadget
      If EventGadgetID()=27
        ueinmax$=GetGadgetText(4)
        ueinmax.f= ValF(ueinmax$) 
        
      EndIf
      If EventGadgetID()=27
        ueinmin$=GetGadgetText(6)
        ueinmin.f= ValF(ueinmin$)  
      EndIf
      If EventGadgetID()=27
        uausmax$=GetGadgetText(8)
        uausmax.f=ValF(uausmax$)
        Usec.f=uausmax.f*1.5
      EndIf
      If EventGadgetID()=27
        Iausmax$=GetGadgetText(10)
        Iausmax.f=ValF(Iausmax$)/1000
      EndIf
      If EventGadgetID()=27
        f$=GetGadgetText(12)
        f.f=ValF(f$)
        f.f=f.f*1000
      EndIf
      If EventGadgetID()=27
        Ae$=GetGadgetText(14)
        Ae.f=ValF(Ae$)
      EndIf
      If EventGadgetID()=27
        Al$=GetGadgetText(16)
        Al.f=ValF(Al$)
        Al.f=Al.f*0.00001
        
        Wprim.f= ueinmax.f/(2.2*Ae.f*b.f*f.f*0.000001)
        Wprim.f=Round(Wprim.f,0)
        Wprim$=StrF(Wprim)
       
        UE.f=ueinmin.f/Usec.f
       
        Wsec.f=Wprim.f/UE.f
        Wsec.f=Round(Wsec.f,0)
        
        Wsec$=StrF(Wsec.f)
        
        l.f=1/(2*f.f)*(1-(uausmax.f/Usec.f))*uausmax.f/(2*Iausmax.f)
        l$=StrF(l.f*1000)
        
        N.f=Sqr(l.f/Al.f)*100
        N.f=Round(N.f,0)
        N$=StrF(N.f)
        
        d.f=2*Sqr(Iausmax.f/(3.1415*s.f))
        d$=StrF(d.f)
        
        
        w.f=uausmax.f*Iausmax.f/0.85
        W$=StrF(w.f)
        
        Ieinmax.f= w.f/ueinmin.f
        Ieinmax$=StrF(Ieinmax.f)
        
        dp.f=2*Sqr(Ieinmax.f/(3.1415*s.f))
        dp$=StrF(dp.f)
        ClearGadgetItemList(30)
        AddGadgetItem (30,-1,""+Wprim$) 
        ClearGadgetItemList(31)
        AddGadgetItem (31,-1,""+Wsec$)
        ClearGadgetItemList(32)
        AddGadgetItem (32,-1,""+N$)
        ClearGadgetItemList(33)
        AddGadgetItem (33,-1,""+l$) 
        ClearGadgetItemList(34)
        AddGadgetItem (34,-1,""+d$) 
        ClearGadgetItemList(35)
        AddGadgetItem (35,-1,""+W$) 
        ClearGadgetItemList(36)
        AddGadgetItem (36,-1,""+Ieinmax$) 
        ClearGadgetItemList(37)
        AddGadgetItem (37,-1,""+dp$) 
       
      EndIf
    EndIf
   
  Until Quit=1
  
EndIf

End

Verfasst: 13.02.2006 16:58
von ts-soft
Guck Dir in der Hilfe mal den Abschnitt zu DataSection und CatchImage an!

Das ist für mich zu hoch

Verfasst: 13.02.2006 17:46
von JBE
Ein Beispiel wäre nett.

Ich weis "Ist der Code zu schwer bist du zu schwach" :mrgreen:

Ich bin Hardwareentwickler kein Softie

Dafür erlaube ich das dieses Programm mit Quellennachweis weitergegeben
und oder benutzt werden darf.

Kaufe einen EDT und Bewickle den so, das ich 300V eingang und 12V ausgang habe. Würde ich jetzt als Neuling so eine Aufgabe bekommen,
könnte ich den EDT nicht bauen.



:mrgreen:

Verfasst: 13.02.2006 18:00
von ts-soft
blub

Code: Alles auswählen

DataSection
  Bild:
  IncludeBinary "Bild.bmp"
EndDataSection

If OpenWindow(0, 0, 0, 391, 78, #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_Invisible, "PureBasicLogo")
  If CreateGadgetList(WindowID(0))
    ImageGadget(0, 5, 5, 381, 68, ImageID(CatchImage(#PB_Any, ?Bild))
    HideWindow(0, 0)
  EndIf
  Repeat : Until WaitWindowEvent() = #PB_Event_Close_Window
EndIf

Verfasst: 13.02.2006 19:08
von JBE
blub

Code: Alles auswählen

b.f = 0.15
s.f = 3
If OpenWindow(0,100,100,500,460,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Gegentaktdurchflußwandler  J.B.Elektronik")
   If CreateGadgetList(WindowID())
 
    ListViewGadget(30,360,40,70,20)
    ListViewGadget(31,360,80,70,20)
    ListViewGadget(32,360,120,70,20)
    ListViewGadget(33,360,160,70,20)
    ListViewGadget(34,360,200,70,20)
    ListViewGadget(35,360,240,70,20)
    ListViewGadget(36,360,280,70,20)
    ListViewGadget(37,360,320,70,20)
    
    TextGadget(5,20,40,80,20,"U ein max [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(7,20,80,80,20,"U ein min [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(9,20,120,80,20,"U aus max [V]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(11,20,160,80,20,"I aus max [mA]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(13,20,200,80,20,"Frequenz [KHz]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(15,20,240,80,20,"Ae [mm²]",#PB_Text_Center|#PB_Text_Border)
    TextGadget(17,20,280,80,20,"Al [nH] ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(26,20,308,160,20,"Zum Berechnen Bild Anklicken",#PB_Text_Center|#PB_Text_Border)
    
    TextGadget(40,200,40,150,20,"Wdg Primär ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(41,200,80,150,20,"Wdg Sekundär ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(42,200,120,150,20,"Wdg Speicherdrossel",#PB_Text_Center|#PB_Text_Border)
    TextGadget(43,200,160,150,20,"Drosselinduktivität [mH] ",#PB_Text_Center|#PB_Text_Border)
    TextGadget(44,200,187,150,40,"Drahtdurchmesser Sekundär u. Speicherdrossel [mm] bei S 3A",#PB_Text_Center|#PB_Text_Border)
    TextGadget(45,200,235,150,30,"Leistung in Watt bei 85% Wirkungsgrad",#PB_Text_Center|#PB_Text_Border)
    TextGadget(46,200,275,150,30,"Eingangsstrom in [A] bei U ein min",#PB_Text_Center|#PB_Text_Border)
    TextGadget(47,200,315,150,30,"Drahtdurchmesser Primär [mm] bei S 3A",#PB_Text_Center|#PB_Text_Border)
    TextGadget(48,200,360,290,90,"Dieses Programm berechnet einen einfachen Gegentaktdurchflusswandler wobei ein Wirkungsgrad von 85% angenommen wird. Die schon eingetragenen Werte beziehen sich auf einen ETD34. Ausreichende Kenntnisse im Bau von Schaltnetzteilen insbesondere des Übertragers sind Vorraussetzung.",#PB_Text_Center|#PB_Text_Border )
    
    StringGadget(4,110,40,80,20,"14",#PB_String_Numeric)
    StringGadget(6,110,80,80,20,"10.6",#PB_String_Numeric)
    StringGadget(8,110,120,80,20,"300",#PB_String_Numeric)
    StringGadget(10,110,160,80,20,"100",#PB_String_Numeric)
    StringGadget(12,110,200,80,20,"50",#PB_String_Numeric)
    StringGadget(14,110,240,80,20,"91.6",#PB_String_Numeric)
    StringGadget(16,110,280,80,20,"240",#PB_String_Numeric)
    
    GadgetToolTip(4, "Maximale Eingangsspannung")
    GadgetToolTip(6, "Minimale Eingangsspannung")
    GadgetToolTip(8, "Maximale Ausgangsspannung")
    GadgetToolTip(10, "Maximaler Ausgangsstrom in mA")
    GadgetToolTip(12, "Arbeitsfrequenz in KHz")
    GadgetToolTip(14, "Kernquerschnitt Ae mm² [ETD34] Übertrager")
    GadgetToolTip(16, "Al-Wert in nH bei Luftspalt S [mm] [ETD34] Speicherdrossel S = 0,4 mm")
   
    DataSection              
    Logo:
    IncludeBinary "logo.bmp"
    EndDataSection
    CatchImage(#PB_Any, ?Logo)
    ButtonImageGadget(27,20,330,160,120,ImageID())
    GadgetToolTip(27, "Berechnung-Button")
EndIf
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow 
     Quit = 1
  EndIf
    If EventID = #PB_Event_Gadget
      If EventGadgetID()=27
        ueinmax$=GetGadgetText(4)
        ueinmax.f= ValF(ueinmax$) 
        
      EndIf
      If EventGadgetID()=27
        ueinmin$=GetGadgetText(6)
        ueinmin.f= ValF(ueinmin$)  
      EndIf
      If EventGadgetID()=27
        uausmax$=GetGadgetText(8)
        uausmax.f=ValF(uausmax$)
        Usec.f=uausmax.f*1.5
      EndIf
      If EventGadgetID()=27
        Iausmax$=GetGadgetText(10)
        Iausmax.f=ValF(Iausmax$)/1000
      EndIf
      If EventGadgetID()=27
        f$=GetGadgetText(12)
        f.f=ValF(f$)
        f.f=f.f*1000
      EndIf
      If EventGadgetID()=27
        Ae$=GetGadgetText(14)
        Ae.f=ValF(Ae$)
      EndIf
      If EventGadgetID()=27
        Al$=GetGadgetText(16)
        Al.f=ValF(Al$)
        Al.f=Al.f*0.00001
        
        Wprim.f= ueinmax.f/(2.2*Ae.f*b.f*f.f*0.000001)
        Wprim.f=Round(Wprim.f,0)
        Wprim$=StrF(Wprim)
       
        UE.f=ueinmin.f/Usec.f
       
        Wsec.f=Wprim.f/UE.f
        Wsec.f=Round(Wsec.f,0)
        
        Wsec$=StrF(Wsec.f)
        
        l.f=1/(2*f.f)*(1-(uausmax.f/Usec.f))*uausmax.f/(2*Iausmax.f)
        l$=StrF(l.f*1000)
        
        N.f=Sqr(l.f/Al.f)*100
        N.f=Round(N.f,0)
        N$=StrF(N.f)
        
        d.f=2*Sqr(Iausmax.f/(3.1415*s.f))
        d$=StrF(d.f)
        
        
        w.f=uausmax.f*Iausmax.f/0.85
        W$=StrF(w.f)
        
        Ieinmax.f= w.f/ueinmin.f
        Ieinmax$=StrF(Ieinmax.f)
        
        dp.f=2*Sqr(Ieinmax.f/(3.1415*s.f))
        dp$=StrF(dp.f)
        ClearGadgetItemList(30)
        AddGadgetItem (30,-1,""+Wprim$) 
        ClearGadgetItemList(31)
        AddGadgetItem (31,-1,""+Wsec$)
        ClearGadgetItemList(32)
        AddGadgetItem (32,-1,""+N$)
        ClearGadgetItemList(33)
        AddGadgetItem (33,-1,""+l$) 
        ClearGadgetItemList(34)
        AddGadgetItem (34,-1,""+d$) 
        ClearGadgetItemList(35)
        AddGadgetItem (35,-1,""+W$) 
        ClearGadgetItemList(36)
        AddGadgetItem (36,-1,""+Ieinmax$) 
        ClearGadgetItemList(37)
        AddGadgetItem (37,-1,""+dp$) 
       
      EndIf
    EndIf
   
  Until Quit=1
  
EndIf

End
Danke Dir funktioniert
Falls du mal ein Problem hast in der Elektronik findes du mich bei
http://www.elektronik-kompendium.de/forum/forum.php

Verfasst: 13.02.2006 19:15
von ts-soft
JBE hat geschrieben: Falls du mal ein Problem hast in der Elektronik findes du mich bei
http://www.elektronik-kompendium.de/forum/forum.php
Okay, aber nur wenn Du die DataSection nach oben oder ans Ende bewegst,
ist ja schrecklich, mitten drinn :lol:

Verfasst: 13.02.2006 19:32
von JBE
Die Datasection habe ich an den Anfang gestellt wie du gesagt hast.

So wie ich eben behandelt wurde das ist gut, so macht Kommunikation Spaß.:allright:

Ich bin leider nicht mehr der jüngste , jenseits der 40 :D

Verfasst: 13.02.2006 20:15
von HeX0R
JBE hat geschrieben: Ich bin leider nicht mehr der jüngste , jenseits der 40 :D
Na, dann passt ihr zwei ja bestens zusammen :mrgreen:

Verfasst: 13.02.2006 20:19
von ts-soft
psssssssssssscht :mrgreen: