mein programm wird nicht komplet beendet kann mir jemand helfen
das programm bleibt im taskmanager!
common:
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
LoadFont(0,"Arial",10,#PB_Font_Bold )
Enumeration
#ListIcon_0
#Frame3D_0
#Button_0
#button_1
#button_2
#imagegad_0
#textgad_0
#textgad_1
#textgad_2
#textgad_3
#textgad_4
#stringgad_0
#stringgad_1
#stringgad_2
#combo_0
#progbar_0
EndEnumeration
;proceduren--------------------
Procedure.f imagefaktor(breite,hoehe)
wert.f=hoehe/breite
ProcedureReturn wert
EndProcedure
Procedure.f filegroesse(wert1,wert2)
wert.f=wert1/wert2
ProcedureReturn wert
EndProcedure
;----------------------------
;- Fonts
LoadImage(0,"bmps/1.bmp")
LoadImage(1,"bmps/skin.bmp")
Global FontID1
FontID1 = LoadFont(1, "Arial", 10)
Global FontID2
FontID2 = LoadFont(2, "Arial", 10, #PB_Font_Bold)
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 684, 500, #PB_Window_SystemMenu |#PB_Window_ScreenCentered| #PB_Window_TitleBar , "Jpegviewer noch nicht fertig für gallerytool")
If CreateGadgetList(WindowID())
;- schaltflächen erstellen-------------------------------
ListIconGadget(#ListIcon_0, 12, 56, 385, 210, "Dateiname", 200, #PB_ListIcon_GridLines)
AddGadgetColumn(#ListIcon_0, 2, "Kilobyte", 60)
AddGadgetColumn(#ListIcon_0, 3, "Breite", 60)
AddGadgetColumn(#ListIcon_0, 4, "Höhe", 60)
Frame3DGadget(#Frame3D_0, 412, 57, 250, 200, "")
ButtonGadget(#Button_0, 13, 275, 110, 24, "Ordner Öffnen:", #PB_Button_Default)
GadgetToolTip(#button_0,"Ordner mit ihren Bildern öffnen!")
ButtonGadget(#Button_1, 480, 460, 120, 24, "Galerie erstellen", #PB_Button_Default)
ButtonGadget(#Button_2, 352, 460, 30, 20, "...", #PB_Button_Default)
SetGadgetFont(#Button_0, FontID2)
ImageGadget(#imagegad_0,437,85,100,100,UseImage(0))
TextGadget(#textgad_0,412,50,190,20,"Bild kann nicht angezeigt werden!")
TextGadget(#textgad_1,18,320,80,20,"Galerietitel:")
TextGadget(#textgad_2,03,350,90,20,"Beschreibung:")
TextGadget(#textgad_3,13,460,90,20,"Speicherort:")
TextGadget(#textgad_4,400,320,80,20,"Bildgröße:")
StringGadget(#stringgad_0,100,320,250,20,"")
StringGadget(#stringgad_1,100,350,250,100,"", #PB_String_Multiline)
StringGadget(#stringgad_2,100,460,250,20,"")
ComboBoxGadget(#combo_0,480,320,120,100)
GadgetToolTip(#combo_0,"Hier wird die Größe der Bilder eingestellt die Sie sehen wenn die Vorschaubilder angeklickt werden!")
AddGadgetItem(#combo_0,0,"400pixel * 300pixel")
AddGadgetItem(#combo_0,1,"640pixel * 480pixel")
AddGadgetItem(#combo_0,2,"800pixel * 600pixel")
;-schaltflächen ende------------------------------------------
HideGadget(#textgad_0,1)
EndIf
EndIf
EndProcedure
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
UseJPEGImageDecoder()
UseJPEGImageEncoder()
IncludeFile "Common.pb"
open_window_0()
SetGadgetFont(#textgad_1,UseFont(0))
SetGadgetFont(#textgad_2,UseFont(0))
SetGadgetFont(#textgad_3,UseFont(0))
SetGadgetFont(#textgad_4,UseFont(0))
SetGadgetFont(#button_1,UseFont(0))
HideWindow(#window_0,1)
ProcessIDServer.l
hTargetSem.l = CreateSemaphore_(0, 0, 1, "SPT") ; semaphore erstellen
If hTargetSem <> 0 ; prüfen ob semaphor schon im system vorhanden
If GetLastError_() = #ERROR_ALREADY_EXISTS ; semaphore is schon im system vorhanden
MessageRequester("Fehler","Diese Anwendung wurde bereits gestartet!",0)
End
EndIf
EndIf
HideWindow(#window_0,0)
Repeat
Event = WaitWindowEvent()
type=EventType()
If Event = #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #ListIcon_0
ElseIf GadgetID = #Button_0
HideGadget(#textgad_0,1)
ClearGadgetItemList(#listicon_0)
zaehler=0
DateiName$ = PathRequester("Verzeichnis", "c:\")
If ExamineDirectory(0,Dateiname$,"*.jpg")
Repeat
FileType = NextDirectoryEntry()
If FileType
AddGadgetItem(#listicon_0,-1,DirectoryEntryName())
texte$=GetGadgetItemText(#listicon_0,zaehler,0)
imgadr$=dateiname$+texte$
filekb.f = FileSize(imgadr$)
SetGadgetItemText(#listicon_0,zaehler,StrF(filegroesse(filekb,1024),2),1)
zaehler=zaehler+1
EndIf
Until FileType = 0
EndIf
ElseIf gadgetid=#button_1
If CreateGadgetList(WindowID())
bildzahl=CountGadgetItems(#listicon_0)
ProgressBarGadget(#progbar_0,400,400,250,20,0,bildzahl-2,#PB_ProgressBar_Smooth)
EndIf
HideGadget(#progbar_0,0)
galtitel$=GetGadgetText(#stringgad_0)
galbesch$=GetGadgetText(#stringgad_1)
galpfad$=GetGadgetText(#stringgad_2)
pos=GetGadgetState(#combo_0)
aufl$=GetGadgetItemText(#combo_0,pos,0)
If dateiname$=""
mess=MessageRequester("Fehler","Sie haben keine Bilder geladen!",#PB_MessageRequester_Ok)
Else
CreateDirectory(galpfad$+"Bilder")
CreateDirectory(galpfad$+"Thumbs")
CreateDirectory(galpfad$+"Html")
bildzahl=CountGadgetItems(#listicon_0)
For a=0 To bildzahl-1
bild$=GetGadgetItemText(#listicon_0,a,0)
bildpfad$=Dateiname$+bild$
LoadImage(a,bildpfad$)
handle=ResizeImage(a,400,300)
galerie$=galpfad$+"Bilder/"+bild$
SaveImage(a,galerie$,#PB_ImagePlugin_JPEG,10 )
handle=ResizeImage(a,120,90)
galerie2$=galpfad$+"Thumbs/"+bild$
SaveImage(a,galerie2$,#PB_ImagePlugin_JPEG,10 )
SetGadgetState(#progbar_0,a)
Next a
HideGadget(#progbar_0,1)
EndIf
ElseIf gadgetid=#button_2
DateiName2$ = PathRequester("Verzeichnis", "c:\")
SetGadgetText(#stringgad_2,dateiname2$)
EndIf
If type=#PB_EventType_LeftClick And Gadgetid=#listicon_0
reihe=GetGadgetState(#listicon_0)
If reihe=-1
Else
text$=GetGadgetItemText(#listicon_0,reihe,0)
imgadr$=Dateiname$+text$
FreeGadget(#imagegad_0)
LoadImage(reihe,imgadr$)
SetGadgetItemText(#listicon_0,reihe,Str(ImageWidth()),2)
SetGadgetItemText(#listicon_0,reihe,Str(ImageHeight()),3)
If CreateGadgetList(WindowID())
hoehe=ImageHeight()
breite=ImageWidth()
faktor.f=imagefaktor(hoehe,breite)
handle=ResizeImage(reihe,150*faktor,150)
If ImageWidth()>200 Or ImageHeight()>200
HideGadget(#textgad_0,0)
Else
HideGadget(#textgad_0,1)
ImageGadget(#imagegad_0,430,90,180,180,UseImage(reihe))
SetGadgetState(#imagegad_0,handle)
EndIf
EndIf
EndIf
EndIf
EndIf
Until Event = #PB_EventCloseWindow
End
;