geändertes Fensterdesign - plötzlich Bug!
Verfasst: 07.10.2005 20:09
Ich hab hierzu zwar schonmal ein Thema, aber ich glaube, die Bugdiskussion gehört nich in die Feedback sektion, naja, komme ich mal zu meinem Problem:
Das Alte Fensterdesign (völlig verwirrend, weil ich für ne neue Funktion immer blos eine freie Stelle gesucht habe) habe ich Expertenansicht genannt, das neue Assistent. Sie Unterscheiden sich blos in der Anordnung und verteilung der gadgets, ich hbae überall die selben Konstanten genutzt, die Abfrage der Gadgets und alles andere ist daher gleich. Jetzt das seltsame: Wähle ich im Assistenten ein Bild, ändere die Größe und klicke auf ein anderes, ist dieses auch resized! In der alten Expertenansicht passiert sowas nicht! Ich hab mir den code schon von vorn und hinten, oben und unten, rechts nach links und rückwärts angeschaut, abfragen verschlimmbessert - alles ohne Erfolg. Spring villeicht von euch jemand der Bug ins Auge? Wenn ja, sagt es mir bitte! nachdem ihr den käfer aus dem Auge entfernt habt
Ich verzweifle noch an diesem
benötigte dateien:
wertform.txt
script.txt
auswert.php
(wem das zu unübersichtlich ist, der kann sich alles auch downloaden. (regt euch nich über das php auf, ich mach das erst eine Woche...)
Das Alte Fensterdesign (völlig verwirrend, weil ich für ne neue Funktion immer blos eine freie Stelle gesucht habe) habe ich Expertenansicht genannt, das neue Assistent. Sie Unterscheiden sich blos in der Anordnung und verteilung der gadgets, ich hbae überall die selben Konstanten genutzt, die Abfrage der Gadgets und alles andere ist daher gleich. Jetzt das seltsame: Wähle ich im Assistenten ein Bild, ändere die Größe und klicke auf ein anderes, ist dieses auch resized! In der alten Expertenansicht passiert sowas nicht! Ich hab mir den code schon von vorn und hinten, oben und unten, rechts nach links und rückwärts angeschaut, abfragen verschlimmbessert - alles ohne Erfolg. Spring villeicht von euch jemand der Bug ins Auge? Wenn ja, sagt es mir bitte! nachdem ihr den käfer aus dem Auge entfernt habt

Code: Alles auswählen
#jmg_Edition=#False
NewList error.s()
OnErrorGosub(?error)
UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseJPEGImageEncoder()
Procedure.s GetAppDir()
FullPath.s = Space(360)
DLL = OpenLibrary(#PB_Any, "Kernel32")
CallFunction(DLL, "GetModuleFileNameA", CallFunction(DLL, "GetModuleHandleA", 0), @FullPath, 360)
CloseLibrary(DLL)
FullPath = GetPathPart(FullPath)
If Right(FullPath, 1) <> "\" : FullPath + "\" : EndIf
ProcedureReturn FullPath
EndProcedure
Procedure.s html_hex(color.l)
red$= LSet(Hex(Red(color)),2,"0")
green$= LSet(Hex(Green(color)),2,"0")
blue$= LSet(Hex(Blue(color)),2,"0")
ProcedureReturn "#"+red$+green$+blue$
EndProcedure
Procedure scroll(window)
Protected text$
Protected merk$
Repeat
text$=GetWindowTitle(window)
merk$=Left(text$,1)
text$=Right(text$,Len(text$)-1)+merk$
Delay(100)
SetWindowTitle(window,text$)
ForEver
EndProcedure
Enumeration
#Window_0
EndEnumeration
Global pics.w,anz.w,seite.w
Global Format.s, position.s,installpfad.s, path.s,verz.s
Global farbe.l,textfarbe.l, tablefarbe.l,x.l
Global bps.f
Global result.b, noscroll.b
NewList text.s()
;- MenuBar Constants
;
Enumeration
#MenuBar_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#asstnt
#asstnt_txt
#Text_1
#Text_2
#Frame3D_1
#Text_4
#Text_5
#Text_6
#Hoehe
#breite
#anderung
#select
#Text_7
#Text_8
#zeilen
#spalten
#Text_9
#titel
#Text_10
#Datei
#Text_12
#border
#vor
#nach
#erstellen
#clr1
#clr2
#clr3
#format
#colour
#rahmen
#text_r
#pos_t
#pos1
#pos2
#pos3
#maxpics
#picsges
#warning
#pfad
#pfadwahl
#pfad_t
#info1
#info2
#progress
#fontfarbe
#bildtext
#maxbild
#text_11
#seiten
#info3
#qualwal
#qualitat
#qtxt
#endbildX
#endbildY
#endbiltxtX
#endbiltxtY
#vorq
#vqtxt
#head
#hinfo
#vorschau
#back
#forward
#erase
#images
#image
#global
#Properties
#pProperties
#inc_size
#name
#jmg
#textprev
#table_bg
#big_v
#big_n
#big_h
#text
#editor
#br
#load
#vote
EndEnumeration
;- StatusBar Constants
;
Enumeration
#StatusBar_0
EndEnumeration
Structure images
source.s
sizeX.w
sizeY.w
pSizeX.w
pSizeY.w
Quality.b
pQuality.b
;newDir.s
EndStructure
NewList images.images()
;- Fonts
;
Global FontID1
FontID1 = LoadFont(1, "DiagramTTHabsburg", 10)
Global FontID2
FontID2 = LoadFont(2, "Times New Roman", 10, #PB_Font_Bold)
Global FontID3
FontID3 = LoadFont(3, "Andy", 14, #PB_Font_Bold)
;error=4/zero
Procedure LoadText(Source$, GadgetID)
;Debug "Start"
refresh=FileSize(Source$)/20
file=ReadFile(#PB_Any,Source$)
Repeat
SetGadgetText(GadgetID,GetGadgetText(GadgetID)+Chr(ReadByte()))
If x<=0 And noscroll=0
StatusBarText(#text,0,Str((count/20.0)*100)+"%")
WindowEvent()
x=refresh
count+1
EndIf
x-1
Until Eof(file)
CloseFile(file)
;Debug "Ende"
EndProcedure
Procedure choose()
OpenWindow(0,210,30,250,90,#PB_Window_ScreenCentered,"Modiwahl")
CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_1, 10, 0, 170, 60, "")
TextGadget(#Text_1, 10, 10, 120, 20, "BenpiccoSoft´s", #PB_Text_Center)
SetGadgetFont(#Text_1, FontID2)
TextGadget(#Text_2,20, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
SetGadgetFont(#Text_2, FontID3)
ButtonGadget(0,10,65,100,20,"Expertenmodus")
ButtonGadget(1,120,65,100,20,"Assistent")
Repeat
Until WaitWindowEvent()=#PB_Event_Gadget
ProcedureReturn EventGadgetID()
CloseWindow(0)
EndProcedure
Procedure Open_Window_0()
If OpenWindow(#Window_0, 100, 176, 1000, 390, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget |#PB_Window_ScreenCentered , "Thumbnail Maker ")
If CreateStatusBar(#StatusBar_0, WindowID())
EndIf
If CreateGadgetList(WindowID())
TextGadget(#Text_1, 230, 10, 120, 20, "BenpiccoSoft´s", #PB_Text_Center)
SetGadgetFont(#Text_1, FontID2)
TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
SetGadgetFont(#Text_2, FontID3)
Frame3DGadget(#Frame3D_1, 200, 0, 170, 60, "")
TextGadget(#Text_4, 10, 10, 40, 20, "Höhe:")
TextGadget(#Text_5, 10, 30, 40, 20, "Breite:")
TextGadget(#Text_6, 10, 50, 50, 20, "Änderung:")
SpinGadget(#Hoehe, 40, 10, 50, 15, 1, 1024)
SpinGadget(#breite, 50, 30, 40, 15, 1, 768)
SpinGadget(#anderung, 70, 50, 40, 15, 0, 30)
ButtonGadget(#select, 460, 125, 100, 25, "Bilder wählen")
;ComboBoxGadget(#format,560,130,60,160, #PB_ComboBox_Editable)
TextGadget(#Text_7, 440, 10, 40, 20, "Zeilen:")
TextGadget(#Text_8, 440, 30, 40, 20, "Spalten:")
SpinGadget(#zeilen, 480, 10, 40, 15, 1, 1000)
SpinGadget(#spalten, 480, 30, 40, 15, 1, 100)
TextGadget(#Text_9, 450, 60, 30, 20, "Titel:")
StringGadget(#titel, 490, 60, 100, 20, "Bildvorschau")
TextGadget(#Text_10, 420, 90, 60, 20, "Dateiname:")
StringGadget(#Datei, 490, 90, 110, 20, "Bildvorschau.html")
TextGadget(#Text_12, 10, 70, 70, 20, "Rahmendicke:")
SpinGadget(#border, 80, 70, 50, 15, 0, 10)
EditorGadget(#vor, 30, 130, 190, 150)
SetGadgetText(#vor, "Hier können sie etwas Text eingeben, ")
AddGadgetItem(#vor,1, "der vor der Bildertabelle gezeigt " )
AddGadgetItem(#vor,2, "werden soll. Es kann sogar html sein.")
EditorGadget(#nach, 240, 130, 190, 150)
SetGadgetText(#nach, "Und hier können sie schreiben,")
AddGadgetItem(#nach,1," was später unter den Bildern steht.")
ButtonGadget(#erstellen, 460, 160, 110, 40, "Website erstellen!", #PB_Button_MultiLine)
TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
SetGadgetFont(#Text_2, FontID3)
ButtonGadget(#clr1, 85,280,100,20,"löschen")
ButtonGadget(#clr2, 295,280,100,20,"löschen")
DisableGadget(#erstellen,1)
ButtonGadget(#colour, 10,90,90,20,"Hintergrundfarbe")
TextGadget(#text_r, 135,70,90,15,"Bilderrahmendicke")
SpinGadget(#rahmen, 223,70,50,15,0,10)
TextGadget(#pos_t,460,210,150,15,"tabellenausrichtung")
OptionGadget(#pos1,460,225,50,15,"rechts")
OptionGadget(#pos2,460,240,50,15,"mitte")
OptionGadget(#pos3,460,255,50,15,"links")
StringGadget(#maxpics,540,20,30,15,Str(4*3), #PB_String_ReadOnly|#PB_String_Numeric )
StringGadget(#picsges,580,20,30,15,"0",#PB_String_ReadOnly)
;TextGadget(#warning, 530,37,100,20," ")
TextGadget(#pfad_t, 105,90,100,20,"Bitte Zielpfad wählen")
StringGadget(#pfad,210,90,120,20,"c:\")
ButtonGadget(#pfadwahl, 335,90,80,20,"Durchsuchen")
TextGadget(#info1, 540,8,30,15,"max")
TextGadget(#info2, 575,8,30,15,"total")
ProgressBarGadget(#progress, 145,350,300,10,0,200,#PB_ProgressBar_Smooth )
ButtonGadget(#fontfarbe, 280,68,80,20,"Textfarbe")
CheckBoxGadget(#bildtext, 500,500,90,15,"Text im Bild")
TextGadget(#text_11,440,270,80,15,"Bilder pro Seite:")
SpinGadget(#maxbild,520,270,50,15,1,10000)
TextGadget(#info3,530,37,35,15,"Seiten:")
StringGadget(#seiten,565,37,20,15,"no pics yet",#PB_String_ReadOnly)
ListViewGadget(#images,810,10,170,300)
CheckBoxGadget(#qualwal,20,300,200,15,"Bilder nicht ändern")
TrackBarGadget(#qualitat,20,320,200,15,0,10,#PB_TrackBar_Ticks )
TextGadget(#qtxt,10,280,50,15,"Qualität:")
TextGadget(#endbiltxtX,230,300,80,15,"Originalbildweite")
TextGadget(#endbiltxtY,230,320,80,15,"Originalbildhöhe")
SpinGadget(#endbildX,320,300,50,15,1,10000)
SpinGadget(#endbildY,320,320,50,15,1,10000)
TextGadget(#vqtxt,100,10,100,15,"Vorschauqualität")
TrackBarGadget(#vorq,95,30,100,15,0,10,#PB_TrackBar_Ticks)
EditorGadget(#head,600,160,190,150)
TextGadget(#hinfo,625,140,150,15,"Head Bereich editieren:")
ButtonGadget(#clr3, 645,310,100,20,"löschen")
ButtonGadget(#back,645,0,15,15,"<")
ButtonGadget(#forward,660,0,15,15,">")
ButtonGadget(#erase,750,130,50,20,"Löschen")
ImageGadget(#image,615,10,100,100,0)
ButtonGadget(#global,425,300,100,50,"Einstellungen auf alle Elemente anwenden",#PB_Button_MultiLine)
CheckBoxGadget(#Properties,5,350,140,15,"Proportionen beibehalten")
CheckBoxGadget(#pProperties,0,110,150,15,"Proportionen beibehalten")
CheckBoxGadget(#inc_size,450,350,100,15,"Incluseive Größe")
CheckBoxGadget(#name, 565,350,150,15,"Bilder mit Namen versehen")
CompilerIf #jmg_Edition=#True
CheckBoxGadget(#jmg,530,320,110,15,"JMG-Tabellenkopf")
CompilerEndIf
SetGadgetState(#Properties,1)
SetGadgetState(#pProperties,1)
ImageGadget(#textprev,365,68,150,20,0)
ButtonGadget(#table_bg,200,110,100,17,"Tabellenhintergrund")
CheckBoxGadget(#vote,310,110,150,15,"Bildbewertungsmöglichkeit")
ButtonGadget(#big_v,12,130,12,12,Chr(29))
ButtonGadget(#big_n,222,130,12,12,Chr(29))
ButtonGadget(#big_h,600,140,12,12,Chr(29))
EndIf
EndIf
EndProcedure
Procedure Open_Assistant()
If OpenWindow(#Window_0,100,100,620,460,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget |#PB_Window_ScreenCentered,"Thumbnail Maker Wizzard ")
If CreateStatusBar(#StatusBar_0, WindowID())
EndIf
If CreateGadgetList(WindowID())
TextGadget(#asstnt_txt,1,1,610,50,"loading...")
ButtonGadget(#back,200,420,100,20,"zurück")
ButtonGadget(#forward,300,420,100,20,"Weiter")
CheckBoxGadget(#bildtext, 500,500,90,15,"Text im Bild")
ProgressBarGadget(#progress, 145,410,300,10,0,200,#PB_ProgressBar_Smooth )
PanelGadget(#asstnt,1,60,610,350)
;----Bilder-----
AddGadgetItem(#asstnt,0,"Bilder")
ButtonGadget(#select, 30,250, 100, 25, "Bilder wählen")
TextGadget(#Text_4, 10, 10, 40, 20, "Höhe:")
TextGadget(#Text_5, 10, 30, 40, 20, "Breite:")
TextGadget(#Text_6, 10, 50, 50, 20, "Änderung:")
SpinGadget(#Hoehe, 40, 10, 50, 15, 1, 1024)
SpinGadget(#breite, 50, 30, 40, 15, 1, 768)
SpinGadget(#anderung, 70, 50, 40, 15, 0, 30)
ImageGadget(#image,200,10,100,100,0)
TextGadget(#vqtxt,100,10,100,15,"Vorschauqualität")
TrackBarGadget(#vorq,95,30,100,15,0,10,#PB_TrackBar_Ticks)
ButtonGadget(#global,300,250,100,50,"Einstellungen auf alle Elemente anwenden",#PB_Button_MultiLine)
CheckBoxGadget(#inc_size,300,305,150,15,"Incluseive Originalbildgröße")
CheckBoxGadget(#pProperties,5,70,150,15,"Proportionen beibehalten")
CheckBoxGadget(#qualwal,10,90,150,15,"Originalbilder nicht ändern")
TrackBarGadget(#qualitat,10,180,150,15,0,10,#PB_TrackBar_Ticks )
Frame3DGadget(#qtxt,5,110,160,100,"Qualität:")
TextGadget(#endbiltxtX,10,130,80,15,"Originalbildweite")
TextGadget(#endbiltxtY,10,145,80,15,"Originalbildhöhe")
CheckBoxGadget(#Properties,10,165,140,15,"Proportionen beibehalten")
SpinGadget(#endbildX,95,130,50,15,1,10000)
SpinGadget(#endbildY,95,150,50,15,1,10000)
;ListViewGadget(#images,810,10,170,300)
SetGadgetState(#Properties,1)
SetGadgetState(#pProperties,1)
ListViewGadget(#images,435,5,160,300)
ButtonGadget(#erase,240,270,50,20,"Löschen")
;----Tabelle----
AddGadgetItem(#asstnt,1,"Tabelle")
TextGadget(#Text_9, 450, 60, 30, 20, "Titel:")
StringGadget(#titel, 490, 60, 100, 20, "Bildvorschau")
TextGadget(#Text_10, 420, 90, 60, 20, "Dateiname:")
StringGadget(#Datei, 490, 90, 110, 20, "Bildvorschau.html")
ButtonGadget(#fontfarbe, 10,10,80,20,"Textfarbe")
TextGadget(#text_11,100,10,80,15,"Bilder pro Seite:")
SpinGadget(#maxbild,180,10,50,15,1,10000)
TextGadget(#info3,270,10,35,15,"Seiten:")
StringGadget(#seiten,320,10,20,15,"no pics yet",#PB_String_ReadOnly)
TextGadget(#info1, 270,25,30,15,"max")
TextGadget(#info2, 330,25,30,15,"total")
StringGadget(#maxpics,300,25,30,15,Str(4*3), #PB_String_ReadOnly|#PB_String_Numeric)
StringGadget(#picsges,355,25,30,15,"0",#PB_String_ReadOnly)
ButtonGadget(#colour, 10,30,90,20,"Hintergrundfarbe")
TextGadget(#text_r, 100,30,90,15,"Bilderrahmendicke")
SpinGadget(#rahmen, 190,30,50,15,0,10)
TextGadget(#pos_t,10,100,150,15,"Tabellenausrichtung")
OptionGadget(#pos1,10,115,50,15,"rechts")
OptionGadget(#pos2,10,130,50,15,"mitte")
OptionGadget(#pos3,10,145,50,15,"links")
TextGadget(#Text_12, 110, 50, 70, 20, "Rahmendicke:")
SpinGadget(#border, 180, 50, 50, 15, 0, 10)
ImageGadget(#textprev,5,68,150,20,0)
ButtonGadget(#table_bg,10,50,100,17,"Tabellenhintergrund")
CheckBoxGadget(#name, 110,70,150,15,"Bilder mit Namen versehen")
CheckBoxGadget(#vote,110,90,150,15,"Bildbewertungsmöglichkeit")
CompilerIf #jmg_Edition=#True
CheckBoxGadget(#jmg,110,110,110,15,"JMG-Tabellenkopf")
CompilerEndIf
TextGadget(#Text_7, 440, 10, 40, 20, "Zeilen:")
TextGadget(#Text_8, 440, 30, 40, 20, "Spalten:")
SpinGadget(#zeilen, 480, 10, 40, 15, 1, 1000)
SpinGadget(#spalten, 480, 30, 40, 15, 1, 100)
;----finish-----
AddGadgetItem(#asstnt,2,"Finish")
ButtonGadget(#erstellen, 400, 100, 110, 40, "Website erstellen!", #PB_Button_MultiLine)
TextGadget(#pfad_t, 210,10,100,20,"Bitte Zielpfad wählen")
StringGadget(#pfad,310,10,120,20,"c:\")
ButtonGadget(#pfadwahl, 435,10,80,20,"Durchsuchen")
ButtonGadget(#big_h,500,155,12,12,Chr(29))
EditorGadget(#head,315,170,190,150)
TextGadget(#hinfo,340,145,150,15,"Head Bereich editieren:")
ButtonGadget(#big_v,185,5,12,12,Chr(29))
EditorGadget(#vor, 5, 20, 190, 150)
SetGadgetText(#vor, "Hier können sie etwas Text eingeben, ")
AddGadgetItem(#vor,1, "der vor der Bildertabelle gezeigt " )
AddGadgetItem(#vor,2, "werden soll. Es kann sogar html sein.")
ButtonGadget(#big_n,195,155,12,12,Chr(29))
EditorGadget(#nach, 5, 170, 190, 150)
SetGadgetText(#nach, "Und hier können sie schreiben,")
AddGadgetItem(#nach,1," was später unter den Bildern steht.")
ButtonGadget(#clr1, 210,155,100,20,"löschen")
ButtonGadget(#clr2, 210,300,100,20,"löschen")
ButtonGadget(#clr3, 500,300,100,20,"löschen")
CloseGadgetList()
DisableGadget(#erstellen,1)
EndIf
EndIf
EndProcedure
Procedure UpdateExample()
CreateImage(0,80,20)
UseImage(0)
StartDrawing(ImageOutput())
Box(0,0,80,15,farbe)
FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
Box(0,15,80,5,tablefarbe)
DrawingMode(4)
Box(1,1,79,14,tablefarbe)
DrawingMode(1)
DrawText("Beispieltext")
StopDrawing()
SetGadgetState(#textprev,UseImage(0))
EndProcedure
Procedure TextInput(Gadget)
OpenWindow(#text,100,100,300,300,#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget,"Texteditor",#Window_0)
CreateMenu(0,WindowID(#text))
CreateStatusBar(#text,WindowID(#text))
AddStatusBarField(200)
CreateGadgetList(WindowID(#text))
EditorGadget(#editor,1,20,WindowWidth(),WindowHeight()-45)
CheckBoxGadget(#br,5,2,240,15,"<br> automatisch am Ende der Zeile einfügen")
ButtonGadget(#load,247,2,50,15,"Laden")
SetGadgetText(#editor,GetGadgetText(Gadget))
StatusBarText(#text,0,"Special Thanks to Christi")
WindowEvent()
Repeat
Event=WaitWindowEvent()
EventMenuID=EventMenuID()
If EventMenuID=#PB_Shortcut_Return
SetGadgetItemText(#editor,y,GetGadgetItemText(#editor,y,0)+"<br>"+Chr(13),0)
EndIf
If Event=#PB_Event_SizeWindow
ResizeGadget(#editor,1,20,WindowWidth()-1,WindowHeight()-45)
ResizeGadget(#load,WindowWidth()-GadgetWidth(#load)-2,2,GadgetWidth(#load),GadgetHeight(#load))
ElseIf Event=#PB_Event_Gadget
GadgetID=EventGadgetID()
If GadgetID=#br
If GetGadgetState(#br)=1
AddKeyboardShortcut(#text,#PB_Shortcut_Return,#PB_Shortcut_Return)
Else
RemoveKeyboardShortcut(#text,#PB_Shortcut_Return)
EndIf
ElseIf GadgetID=#editor
SendMessage_(GadgetID(#editor), #EM_EXGETSEL, 1, range.charrange)
CurrentLineIndex = SendMessage_(GadgetID(#editor), #EM_EXLINEFROMCHAR, 0, range\cpMin)
y = CurrentLineIndex ;+ 1
CurrentLineStartIndex = SendMessage_(GadgetID(#editor), #EM_LINEINDEX, CurrentLineIndex, 0)
x = range\cpMax - CurrentLineStartIndex + 1
StatusBarText(#text,0,"Spalte:"+Str(x)+" Zeile:"+Str(y+1))
ElseIf GadgetID=#load
file$=OpenFileRequester("Textdatei wählen","text.txt","Text Files|*.txt;*.html;*.htm;*.php|All Files|*.*",0)
If file$
StatusBarText(#text,0,"laden...")
LoadText(file$,#editor)
StatusBarText(#text,0,"Fertig!")
EndIf
EndIf
EndIf
Until Event=#PB_Event_CloseWindow
SetGadgetText(Gadget,GetGadgetText(#editor))
CloseWindow(#text)
EndProcedure
If choose()=0
Open_Window_0()
asst=0
DisableGadget(#back,1)
DisableGadget(#forward,1)
Else
asst=1
Open_Assistant()
GadgetID=#asstnt
DisableGadget(#back,1)
DisableGadget(#forward,0)
EndIf
While WindowEvent():Wend
CompilerIf #jmg_Edition=#True
SetWindowTitle(#Window_0,Trim(GetWindowTitle(#Window_0))+" - Special JMG Edition ")
CompilerEndIf
noscroll=1
If ProgramParameter()<>"noscroll"
CreateThread(@scroll(),#Window_0)
noscroll=0
EndIf
Format = "*.bmp"
farbe=RGB(255,255,255)
textfarbe=RGB(0,0,0)
tablefarbe=farbe
UpdateExample()
SetGadgetState(#endbildX,640)
SetGadgetState(#endbildY,480)
SetGadgetText(#endbildX,Str(GetGadgetState(#endbildX)))
SetGadgetText(#endbildY,Str(GetGadgetState(#endbildY)))
SetGadgetState(#qualitat,7)
DisableGadget(#qualitat,1)
SetGadgetState(#vorq,10)
SetGadgetState(#qualwal,1)
DisableGadget(#Properties,1)
DisableGadget(#endbildX,1)
DisableGadget(#endbildY,1)
DisableGadget(#erase,1)
;AddGadgetItem(#format,-1, "*.bmp")
;AddGadgetItem(#format,-1, "*.jpg")
;AddGadgetItem(#format,-1, "*.png")
;AddGadgetItem(#format,-1, "*.gif")
;AddGadgetItem(#format,-1, "*.tga")
;AddGadgetItem(#format,-1, "*.*")
AddStatusBarField(100)
StatusBarText(#StatusBar_0,0,"Version 2.2", #PB_StatusBar_Center | #PB_StatusBar_Raised )
;SetGadgetState(#format,0)
SetGadgetState (#Hoehe,120) : SetGadgetText(#Hoehe,Str(GetGadgetState(#Hoehe)))
SetGadgetState (#breite,180) : SetGadgetText(#breite,Str(GetGadgetState(#breite)))
SetGadgetState (#anderung,5) : SetGadgetText(#anderung,Str(GetGadgetState(#anderung)))
SetGadgetState (#border,1) : SetGadgetText(#border,Str(GetGadgetState(#border)))
SetGadgetState (#zeilen,4) : SetGadgetText(#zeilen,Str(GetGadgetState(#zeilen)))
SetGadgetState (#spalten,3) : SetGadgetText(#spalten,Str(GetGadgetState(#spalten)))
SetGadgetState(#rahmen,0): SetGadgetText(#rahmen,Str(GetGadgetState(#rahmen)))
SetGadgetState(#maxbild, 100):SetGadgetText(#maxbild, Str(GetGadgetState(#maxbild)))
SetGadgetState(#pos2,1)
position = "center"
farbe = RGB(255,255,255)
Procedure ShowImage(id)
Protected merk
merk=ListIndex(images())
SelectElement(images(),id)
LoadImage(0,images()\source)
ResizeImage(0,images()\pSizeX,images()\pSizeY)
UseJPEGImageEncoder()
SaveImage(0,"temp.jpg",#PB_ImagePlugin_JPEG,GetGadgetState(#vorq))
LoadImage(0,"temp.jpg")
SetGadgetState(#image,UseImage(0))
DeleteFile("temp.jpg")
SelectElement(images(),merk)
EndProcedure
;EndIf
Procedure UpdateImage(id)
Protected merk
merk=ListIndex(images())
SelectElement(images(),id)
images()\sizeX=GetGadgetState(#endbildX)
images()\sizeY=GetGadgetState(#endbildY)
images()\pSizeX=GetGadgetState(#breite)
images()\pSizeY=GetGadgetState(#Hoehe)
images()\Quality=GetGadgetState(#qualitat)
images()\pQuality=GetGadgetState(#vorq)
SelectElement(images(),merk)
ShowImage(merk)
EndProcedure
Procedure UpdateSpin()
SetGadgetText(#Hoehe,Str(GetGadgetState(#Hoehe)))
SetGadgetText(#breite,Str(GetGadgetState(#breite)))
SetGadgetText(#anderung,Str(GetGadgetState(#anderung)))
SetGadgetText(#border,Str(GetGadgetState(#border)))
SetGadgetText(#zeilen,Str(GetGadgetState(#zeilen)))
SetGadgetText(#spalten,Str(GetGadgetState(#spalten)))
SetGadgetText(#rahmen,Str(GetGadgetState(#rahmen)))
SetGadgetText(#maxbild, Str(GetGadgetState(#maxbild)))
SetGadgetText(#endbildX,Str(GetGadgetState(#endbildX)))
SetGadgetText(#endbildY,Str(GetGadgetState(#endbildY)))
EndProcedure
;DisableGadget(#select,1)
AddKeyboardShortcut(#Window_0,#PB_Shortcut_Delete,#PB_Shortcut_Delete)
;- Hauptschleife
If asst=1
Goto predefinedgadgetid
EndIf
Repeat
back:
If GetGadgetState(#maxbild) > pics
SetGadgetState(#maxbild, pics)
EndIf
Event = WaitWindowEvent()
;MenuID=MenuID()
If Event = #PB_EventMenu
MenuID = EventMenuID()
EndIf
If Event = #PB_EventGadget
GadgetID = EventGadgetID()
UpdateSpin()
predefinedgadgetid:
;-images
If GadgetID = #images And GetGadgetState(#images) >-1
;UpdateSpin()
SelectElement(images(),GetGadgetState(#images))
SetGadgetState(#endbildX,images()\sizeX)
SetGadgetState(#endbildY,images()\sizeY)
SetGadgetState(#breite,images()\pSizeX)
SetGadgetState(#Hoehe,images()\pSizeY)
SetGadgetState(#qualitat,images()\Quality)
SetGadgetState(#vorq,images()\pQuality)
WindowEvent()
ShowImage(ListIndex(images()))
UpdateSpin()
endindex=GetGadgetState(#images)
;GadgetID=0
;UpdateImage(ListIndex(images()))
;While WindowEvent():Wend
ElseIf GadgetID = #Hoehe
SetGadgetText(#Hoehe,Str(GetGadgetState(#Hoehe)))
If GetGadgetState(#images)>-1
If GetGadgetState(#pProperties)=1
SelectElement(images(),GetGadgetState(#images))
SetGadgetState(#breite,ValF(StrF((images()\pSizeX/images()\pSizeY)))*GetGadgetState(#Hoehe))
EndIf
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #breite
SetGadgetText(#breite,Str(GetGadgetState(#breite)))
If GetGadgetState(#images)>-1
If GetGadgetState(#pProperties)=1
SelectElement(images(),GetGadgetState(#images))
SetGadgetState(#Hoehe,ValF(StrF((images()\pSizeY/images()\pSizeX)))*GetGadgetState(#breite))
EndIf
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #erase Or Event=#PB_Shortcut_Delete
result = MessageRequester("Waring", "Wirklich löschen?", #PB_MessageRequester_YesNo)
If result=6 And GetGadgetState(#images)>-1
SelectElement(images(),GetGadgetState(#images))
DeleteElement(images(),1)
RemoveGadgetItem(#images,GetGadgetState(#images))
pics-1
SetGadgetText(#picsges, Str(pics))
EndIf
ElseIf GadgetID = #endbildX
If GetGadgetState(#images)>-1
SetGadgetText(#endbildX,Str(GetGadgetState(#endbildX)))
If GetGadgetState(#Properties)=1
SelectElement(images(),GetGadgetState(#images))
SetGadgetState(#endbildY,ValF(StrF((images()\sizeY/images()\sizeX)))*GetGadgetState(#endbildX))
EndIf
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #endbildY
If GetGadgetState(#images)>-1
SetGadgetText(#endbildY,Str(GetGadgetState(#endbildY)))
If GetGadgetState(#Properties)=1
SelectElement(images(),GetGadgetState(#images))
SetGadgetState(#endbildX,ValF(StrF((images()\sizeX/images()\sizeY)))*GetGadgetState(#endbildY))
EndIf
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #maxbild
SetGadgetText(#maxbild,Str(GetGadgetState(#maxbild)))
mpx=Val(GetGadgetText(#maxpics))
If GetGadgetState(#maxbild)>mpx
SetGadgetState(#maxbild,mpx)
EndIf
bps=pics/GetGadgetState(#maxbild)
If bps <> Int(bps)
bps=Int(bps)+1
EndIf
SetGadgetText(#seiten,Str(bps))
ElseIf GadgetID = #qualwal
DisableGadget(#qualitat, GetGadgetState(#qualwal))
DisableGadget(#endbildX, GetGadgetState(#qualwal))
DisableGadget(#endbildY, GetGadgetState(#qualwal))
DisableGadget(#Properties,GetGadgetState(#qualwal))
ElseIf GadgetID = #anderung
SetGadgetText(#anderung,Str(GetGadgetState(#anderung)))
ElseIf GadgetID = #select
image$=OpenFileRequester("Bild auswählen","c:\","Alle unterstützten Formate|*.bmp;*.jpg;*.png;*.tiff;*.tga|Bitmaps (*.bmp)|*.bmp|JPEGs (*.jpg)|*.jpg|TrueVision Targa (*.tga)|*.tga|TIFF (*.tiff)|*.tiff|Alle Dateien|*.*",-1,#PB_Requester_MultiSelection)
If CountList(images())
LastElement(images())
SetGadgetState(#images,ListIndex(images()))
EndIf
While image$
If LoadImage(0,image$)
pics = pics + 1
DisableGadget(#erase,0)
DisableGadget(#erstellen,0)
AddGadgetItem(#images,-1,GetFilePart(image$))
AddElement(images())
UseImage(0)
images()\source=image$
images()\sizeX=ImageWidth()
images()\sizeY=ImageHeight()
images()\pSizeX=GetGadgetState(#breite)
images()\pSizeY=ValF(StrF((ImageHeight()/ImageWidth())))*GetGadgetState(#breite)
images()\Quality=GetGadgetState(#qualitat)
images()\pQuality=GetGadgetState(#vorq)
ShowImage(ListIndex(images()))
SetGadgetState(#images,ListIndex(images()))
Else
;AddGadgetItem(#error,-1,"Error opnening file "+image$)
EndIf
image$ = NextSelectedFileName()
Wend
SetGadgetState(#maxbild,Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten)))
SetGadgetText(#picsges, Str(pics))
SetGadgetText(#maxbild, Str(pics))
bps=pics/GetGadgetState(#maxbild)
If bps <> Int(bps)
bps=Int(bps)+1
EndIf
SetGadgetText(#seiten,Str(bps))
SetGadgetText(#maxpics,Str(GetGadgetState(#zeilen)*GetGadgetState(#spalten)*bps))
If pics > Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten))
SetGadgetState(#maxbild,Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten)))
EndIf
ElseIf GadgetID = #spalten
bps=pics/GetGadgetState(#maxbild)
If bps <> Int(bps)
bps=Int(bps)+1
EndIf
SetGadgetText(#maxpics,Str(Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten))))
If pics > Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten))
SetGadgetState(#maxbild,Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten)))
Else
;SetGadgetText(#warning," ")
EndIf
ElseIf GadgetID = #zeilen
bps=pics/Val(GetGadgetText(#maxbild))
If bps <> Int(bps)
bps=Int(bps)+1
EndIf
SetGadgetText(#maxpics,Str(Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten))))
If pics > Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten))
SetGadgetState(#maxbild,Val(GetGadgetText(#zeilen))*Val(GetGadgetText(#spalten)))
Else
;SetGadgetText(#warning," ")
EndIf
ElseIf GadgetID = #rahmen
SetGadgetText(#rahmen,Str(GetGadgetState(#rahmen)))
ElseIf GadgetID = #vote
If GetGadgetState(#vote)=1
Select MessageRequester("Info", "Die Bewertung der Bilder basiert auf php, das heißt, das einerseits die Websiten als php Dokumente gespeichert werden müssen (es sei denn sie haben in der .htacces Datei auf ihrem Server " + Chr(34) + "AddType application/x-httpd-php .html " + Chr(34) + " eingestellt), andererseits können sie es nicht offline testen (es sei denn, sie haben einen offline-Server wie z.B. Appache installiert).", #MB_OKCANCEL|#MB_ICONINFORMATION)
Case #IdOK
save$=GetExtensionPart(GetGadgetText(#Datei))
SetGadgetText(#Datei,ReplaceString(GetGadgetText(#Datei),GetExtensionPart(GetGadgetText(#Datei)),"php"))
Case #IdCancel
SetGadgetState(#vote,0)
EndSelect
Else
SetGadgetText(#Datei,ReplaceString(GetGadgetText(#Datei),GetExtensionPart(GetGadgetText(#Datei)),save$))
EndIf
ElseIf GadgetID = #Datei
;ElseIf GadgetID = #format
;SetGadgetText(1, Str(GetGadgetState(1)))
;Format = GetGadgetText(#format)
ElseIf GadgetID = #border
SetGadgetText(#border,Str(GetGadgetState(#border)))
ElseIf GadgetID = #vor
ElseIf GadgetID=#global
ForEach images()
If GetGadgetState(#inc_size)=1
images()\sizeX=GetGadgetState(#endbildX)
images()\sizeY=GetGadgetState(#endbildY)
EndIf
images()\pSizeX=GetGadgetState(#breite)
images()\pSizeY=GetGadgetState(#Hoehe)
images()\Quality=GetGadgetState(#qualitat)
images()\pQuality=GetGadgetState(#vorq)
Next
ElseIf GadgetID = #nach
ElseIf GadgetID =#qualitat
If GetGadgetState(#images)>-1
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #vorq
If GetGadgetState(#images)>-1
UpdateImage(GetGadgetState(#images))
EndIf
ElseIf GadgetID = #colour
nfarbe = ColorRequester(farbe)
If nfarbe > -1
farbe=nfarbe
UpdateExample()
EndIf
ElseIf GadgetID = #fontfarbe
nfarbe = ColorRequester(textfarbe)
If nfarbe >-1
textfarbe=nfarbe
UpdateExample()
EndIf
ElseIf GadgetID=#table_bg
result=MessageRequester("Frage","Tabellenhintergrund dem Seitenhintergrund gleichsetzten?",#PB_MessageRequester_YesNoCancel)
If result=6
tablefarbe=farbe
ElseIf result=7
nfarbe=ColorRequester(tablefarbe)
If nfarbe>-1
tablefarbe=nfarbe
EndIf
UpdateExample()
EndIf
ElseIf GadgetID = #clr1
ClearGadgetItemList(#vor)
ElseIf GadgetID = #clr2
ClearGadgetItemList(#nach)
ElseIf GadgetID = #clr3
ClearGadgetItemList(#head)
ElseIf GadgetID = #pos1
position="right"
ElseIf GadgetID = #pos2
position="center"
ElseIf GadgetID = #pos3
position="left"
ElseIf GadgetID = #pfadwahl
installpfad = PathRequester("Bitte Speicherpfad der Datei angeben",GetGadgetText(#pfad))
If Len(installpfad)>0
SetGadgetText(#pfad, installpfad)
DisableGadget(#select,0)
ElseIf GadgetID = #pfad
installpfad = GetGadgetText(#pfad)
DisableGadget(#select,0)
EndIf
ElseIf GadgetID=#big_v
TextInput(#vor)
ElseIf GadgetID=#big_n
TextInput(#nach)
ElseIf GadgetID=#big_h
TextInput(#head)
ElseIf GadgetID = #erstellen
;If GetGadgetState(#zeilen)*GetGadgetState(#spalten) <= pics
Goto erstell
;Else
;MessageRequester("Error", "Nicht genügend bilder vorhanden um Tabelle vollständig auszufüllen. Bitte ändern sie die Zeilen oder Die Spalten!")
;EndIf
ElseIf asst=1 And GadgetID=#asstnt
Select GetGadgetState(#asstnt)
Case 0
SetGadgetText(#asstnt_txt,"Nehmen sie hier Bildeinstelungen vor")
DisableGadget(#back,1)
DisableGadget(#forward,0)
Case 1
SetGadgetText(#asstnt_txt,"Definieren sie die Tabelle nach ihren Wünschen")
DisableGadget(#back,0)
DisableGadget(#forward,0)
Case 2
SetGadgetText(#asstnt_txt,"Nehmen sie abschließende Einstellungen vor")
DisableGadget(#forward,1)
DisableGadget(#back,0)
EndSelect
ElseIf asst=1 And GadgetID=#forward
SetGadgetState(#asstnt,GetGadgetState(#asstnt)+1)
GadgetID=#asstnt
Goto predefinedgadgetid
ElseIf asst=1 And GadgetID=#back
SetGadgetState(#asstnt,GetGadgetState(#asstnt)-1)
GadgetID=#asstnt
Goto predefinedgadgetid
EndIf
EndIf
Until Event = #PB_EventCloseWindow
End
;- Page generieren
erstell:
Z = 0
CreateDirectory(installpfad+GetGadgetText(#titel))
If GetGadgetState(#vote)=1
CreateDirectory(installpfad+"\stats")
OpenFile(0,installpfad+"\auswert.php")
WriteData(?auswert,?font-?auswert)
CloseFile(0)
NewList wert.s()
ReadFile(0,"wertform.txt")
Repeat
AddElement(wert())
wert()=ReadString()
Until Eof(0)
CloseFile(0)
EndIf
CompilerIf #jmg_Edition=#True
If GetGadgetState(#jmg)=1
CreateDirectory(installpfad+"\jmg-pics")
ExamineDirectory(1,GetAppDir()+"bilder\","*.*")
Repeat
UseDirectory(1)
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 1
test= test+1
;MessageRequester("Test"+Str(test),"Test von "+GetAppDir()+"bilder\"+FileName$+" nach "+installpfad+"\"+FileName$)
If CopyFile( GetAppDir()+"bilder\"+FileName$,installpfad+"\jmg-pics\"+FileName$)
Else
error=1
EndIf
EndIf
EndIf
Until FileType = 0
If error = 1
MessageRequester("Error", "Fehler beim kopieren der JMG-Bilder")
EndIf
EndIf
CompilerEndIf
bps=pics/GetGadgetState(#maxbild)
If bps <> Int(bps)
bps=Int(bps)+1
EndIf
;MessageRequester("info","Seiten:"+Str(bps))
ForEach images()
SetGadgetState(#progress, ValF(StrF((ListIndex(images())/CountList(images()))))*100)
;CopyFile(images()\source, installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName())
LoadImage(0,images()\source)
ResizeImage(0, images()\pSizeX+GetGadgetState(#anderung),images()\pSizeY+GetGadgetState(#anderung))
SaveImage(0, installpfad+GetGadgetText(#titel)+"\vorschau_"+Str(ListIndex(images()))+".jpg",#PB_ImagePlugin_JPEG,images()\pQuality)
If GetGadgetState(#qualwal)=1
LoadImage(0,images()\source)
ResizeImage(0,images()\sizeX,images()\sizeY)
SaveImage(0, installpfad+GetGadgetText(#titel)+"\bild_"+Str(ListIndex(images()))+".jpg",#PB_ImagePlugin_JPEG, images()\Quality)
Else
CopyFile(images()\source,installpfad+GetGadgetText(#titel)+"\bild_"+Str(ListIndex(images()))+".jpg")
EndIf
Next
;MessageRequester("test0", bilder(x-1))
;MessageRequester("test1",path+DirectoryEntryName() + " quelle")
;MessageRequester("test2",installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName() + " ziel")
seite=0
Repeat
seite=seite+1
If bps>1
DeleteFile(installpfad+Str(seite)+GetGadgetText(#Datei))
OpenFile(0,installpfad+Str(seite)+GetGadgetText(#Datei))
Else
DeleteFile(installpfad+GetGadgetText(#Datei))
OpenFile(0,installpfad+GetGadgetText(#Datei))
EndIf
;UseFile(seite)
WriteStringN("<html>")
WriteStringN("<head>")
WriteStringN("<meta name="+Chr(34)+"generator"+Chr(34)+" content="+Chr(34)+"Benpicco´s Thumbnail Maker"+Chr(34)+">")
WriteStringN("<title>"+ GetGadgetText(#titel) + "</title>")
WriteString(GetGadgetText(#head))
WriteStringN("</head>")
WriteStringN("<body bgcolor = "+Chr(34) +html_hex(farbe)+Chr(34) + " text="+Chr(34) +html_hex(textfarbe)+Chr(34) + ">")
If GetGadgetState(#vote)=1
ReadFile(1,"script.txt")
Repeat
UseFile(1)
string$=ReadString()
UseFile(0)
WriteStringN(string$)
Until Eof(1)
CloseFile(1)
EndIf
WriteStringN(GetGadgetText(#vor)+"<br>")
WriteString("<div align="+position+">")
CompilerIf #jmg_Edition=#True
If GetGadgetState(#jmg) = 1
WriteStringN("<table><tr><td>")
ReadFile(1,"head.txt")
Repeat
UseFile(1)
string$=ReadString()
If string$="#!?titeldummy¿¡#"
string$=GetGadgetText(#titel)
EndIf
UseFile(0)
WriteStringN(string$)
Until Eof(1)
CloseFile(1)
WriteStringN("<table border="+Chr(34) + GetGadgetText(#border) + Chr(34) +" width=100% bgcolor="+Chr(34) +html_hex(tablefarbe)+ Chr(34)+">")
Else
WriteStringN("<table border="+Chr(34) + GetGadgetText(#border) + Chr(34) +" bgcolor="+Chr(34) +html_hex(tablefarbe)+ Chr(34)+">")
EndIf
CompilerElse
WriteStringN("<table border="+Chr(34) + GetGadgetText(#border) + Chr(34) +"bgcolor="+Chr(34) +html_hex(tablefarbe)+ Chr(34)+">")
CompilerEndIf
For y = 1 To GetGadgetState(#zeilen)
WriteStringN("<tr>")
count=0
For x = 1 To GetGadgetState(#spalten)
If Z => (seite*GetGadgetState(#maxbild)) Or Z>pics-1 Or Z>CountList(images())
Goto weiter
EndIf
SelectElement(images(),Z)
SetGadgetState(#progress, Int((((GetGadgetState(#zeilen)+GetGadgetState(#spalten))/Z)*100)+100))
If GetGadgetState(#bildtext)=1
WriteStringN("<div style="+Chr(34)+"position:absolute;"+Chr(34)+">")
EndIf
bild$=GetGadgetText(#titel)+"\bild_"+Str(Z)+".jpg"
bild_v$=GetGadgetText(#titel)+"\vorschau_"+Str(Z)+".jpg"
WriteStringN("<td><center><a href="+Chr(34)+bild$+Chr(34)+" target = "+Chr(34)+"_blank"+Chr(34)+"><img src="+Chr(34)+bild_v$+Chr(34)+"height = "+Chr(34)+Str(images()\pSizeY)+Chr(34)+" border="+GetGadgetText(#rahmen)+" width = "+Chr(34)+Str(images()\pSizeX)+Chr(34)+" alt="+Chr(34)+GetFilePart(bild$)+Chr(34)+"+ onMouseOver="+Chr(34)+"this.width ="+Chr(39)+Str(images()\pSizeX+GetGadgetState(#anderung))+Chr(39)+Chr(59)+" this.height = "+Chr(39)+ Str(images()\pSizeY+GetGadgetState(#anderung))+Chr(39)+ Chr(59)+Chr(34)+" onMouseOut = "+Chr(34)+"this.width="+Chr(39)+Str(images()\pSizeX)+Chr(39)+Chr(59)+" this.height="+Chr(39)+Str(images()\pSizeY)+Chr(39)+Chr(59)+Chr(34)+"></a></center></td>")
;If GetGadgetState(#bildtext) = 1
; textbild$=RemoveString(GetFilePart(bild$), GetExtensionPart(("."+bild$)),1)
; WriteStringN( "<p style="+Chr(34)+"position:absolute; top:3%; left:25%; width:100%;"+Chr(34)+"><font size=2%>"+Chr(34)+textbild$+Chr(34)+"</font></div></p>")
;EndIf
Z+1
count+1
Next
weiter:
WriteStringN("</tr>")
If GetGadgetState(#name)=1
WriteStringN("<tr>")
If Z-count=>0 And Z-count<=CountList(images())
SelectElement(images(),Z-count)
For h=1 To count;GetGadgetState(#spalten)
WriteStringN("<td><center>"+GetFilePart(images()\source)+"</center></td>")
NextElement(images())
Next
EndIf
WriteStringN("</tr>")
EndIf
If GetGadgetState(#vote)=1
WriteStringN("<tr>")
For h=1 To count
WriteStringN("<td><table border="+Chr(34)+Str(GetGadgetState(#border))+Chr(34)+"><center>")
WriteStringN("<form name="+Chr(34)+"stats/pic"+Str(Z-h)+Chr(34)+" method="+Chr(34)+"POST"+Chr(34)+" OnSubmit="+Chr(34)+"submiter('stats/pic"+Str(Z-h)+"');"+Chr(34)+">")
ForEach wert()
WriteStringN(wert())
;Debug wert()
Next
WriteStringN("</form></center></td>")
WriteStringN("<?php")
WriteStringN("$file=fopen("+Chr(34)+"stats/pic"+Str(Z-h)+".lg"+Chr(34)+","+Chr(34)+"r"+Chr(34)+");")
WriteStringN("$roh =RTrim(fread($file,20));")
WriteStringN("$sep=strrpos($roh,"+Chr(34)+"|"+Chr(34)+");")
WriteStringN("$count=substr($roh,0,$sep);")
WriteStringN("$wert=substr($roh,$sep+1);")
WriteStringN("echo "+Chr(34)+"<tr><td>Ergebnis:"+Chr(34)+".$wert/$count."+Chr(34)+"</td><td>Bewertungen:"+Chr(34)+".$count."+Chr(34)+"</td></tr>"+Chr(34)+";")
WriteStringN("fclose($file);")
WriteStringN("?>")
WriteStringN("</table>")
Next
WriteStringN("</tr>")
EndIf
Next
WriteStringN("</table></div><br>")
CompilerIf #jmg_Edition=#True
If GetGadgetState(#jmg) = 1
WriteStringN("</td></tr></table>")
EndIf
CompilerEndIf
WriteStringN(GetGadgetText(#nach)+"<br>")
If bps > 1
WriteStringN("<p align="+Chr(34)+"center"+Chr(34)+">Seiten: ")
For x = 1 To bps+0
WriteStringN("<a href="+Chr(34)+Str(x)+GetGadgetText(#Datei)+Chr(34)+"> "+Str(x)+" </a>")
Next
WriteStringN("</p><div align="+Chr(34)+"right"+Chr(34)+"><small>Seite "+Str(seite)+" von "+Str(bps)+"</small></div>")
EndIf
WriteStringN("</body></html>")
CloseFile(0)
If GetGadgetState(#vote)=1
For h=0 To pics
CreateFile(1,installpfad+"\stats\pic"+Str(Z-h)+".lg")
WriteString("1|5")
CloseFile(1)
CreateFile(1,installpfad+"\stats\pic"+Str(Z-h)+"_ips.lg")
CloseFile(1)
Next
EndIf
SetGadgetState(#progress,200)
Until seite=bps
ClearList(wert())
MessageRequester("Sucess!", "Bildvorschau wurde erfolgreich erstellt!")
If bps>1
RunProgram(installpfad+"1"+GetGadgetText(#Datei))
Else
RunProgram(installpfad+GetGadgetText(#Datei))
EndIf
Goto back
error:
AddElement(error())
error()=GetErrorDescription()+ " on Line "+Str(GetErrorLineNR())
errorreport$=""
ForEach error()
errorreport$=errorreport$+error()+Chr(13)+Chr(10)
Next
Select MessageRequester("ERROR", "Es traten folgende Fehler auf:" + Chr(10) + errorreport$ + Chr(10) + "Programm weiter ausführen?", #MB_YESNO|#MB_ICONERROR)
Case #IdYes
Return
Case #IdNo
Goto mailme:
EndSelect
Return
mailme:
errorreport$=""
ForEach error()
errorreport$=errorreport$+error()+"%0A"
Next
MessageRequester("Info","Bite setzten sie mich über diese Fehler in Kenntnis.")
RunProgram("mailto:benpicco@compuserve.de?subject=Bugreport_Thumbnailmaker&body=Fehlerbeschreibung:%0A"+errorreport$)
End
DataSection
auswert:
IncludeBinary "auswert.php"
font:
wertform.txt
Code: Alles auswählen
<input type="radio" name="R1" value="1" checked >1 - schrecklich
<input type="radio" name="R1" value="2">2
<input type="radio" name="R1" value="3">3
<input type="radio" name="R1" value="4">4
<input type="radio" name="R1" value="5">5
<input type="radio" name="R1" value="6">6
<input type="radio" name="R1" value="7">7
<input type="radio" name="R1" value="8">8
<input type="radio" name="R1" value="9">9
<input type="radio" name="R1" value="10">10 - super
<input type="submit" value="Bewerten" name="B1">
Code: Alles auswählen
<script type="text/javascript">
<!--
function submiter(pic) {
for(var x=0; x<=10;x++)
{
if(document.forms[pic].R1[x].checked == true)
break
}
x++
//alert(x);
open("auswert.php?wert="+x+"&file="+pic,"Auswertung");
}
//-->
</script>
Code: Alles auswählen
<?php
$speicher=100;
$ip = $_SERVER['REMOTE_ADDR'];
$vote=$HTTP_GET_VARS["wert"];
$rohfile=$HTTP_GET_VARS["file"];
$logfile=$rohfile.".lg";
$ip_file=fopen($rohfile."_ips.lg","r");
$roh=rtrim(fread($ip_file,15*$speicher));
fclose($ip_file);
$ips=explode("_",$roh);
if(in_array($ip,$ips))
{
echo "Sie haben dieses Bild schon bewertet, es wäre unfär, täten sie es wieder!";
}
else
{
$file=fopen($logfile,"r+");
$roh =rtrim(fread($file,20));
$sep=strrpos($roh,"|");
$count=substr($roh,0,$sep)+1;
$wert=substr($roh,$sep+1)+$vote;
rewind($file);
fwrite($file,$count);
fwrite($file,"|");
fwrite($file,$wert);
fclose($file);
$file=fopen($rohfile."_ips.lg","r+");
if(count($ips)<$speicher)
{
$speicher=count($ips);
}
$_100ips[0]=$ip;
for($x = 1; $x < $speicher+1; $x++)
{
array_push($_100ips,$ips[($x-1)]);
}
fwrite($file,implode("_", $_100ips));
fclose($file);
echo "Bewertung erfolgreich abgegeben! Die Bewertung lautet nun ".$wert."/".$count."=".$wert/$count;
}
?>
<script language="JavaScript">
function end() {
var x = confirm("Möchtes sie diese Seite schließen?");
if(x == true) this.close();
}
window.setTimeout(end(),2000);
</script>