FloppyCopy   |   About   |   Screenshots


#!/boot/home/config/bin/yab

REM FloppyCopy v0.8
REM by Christian Albrecht
REM Requires yab v 1.0
REM Build November 2006

REM ######Verzeichnis bestimmen######

//WorkDir$ = "/boot/apps/System/FloppyCopy"

if (peek("isbound")) then
	WorkDir$ = peek$("directory")
	else
	WorkDir$ = system$("pwd")
	WorkDir$ = left$(ThisDir$, len(ThisDir$)-1)
fi

REM ######Verzeichnisse überprüfen######

	imagecheck$=system$("find "+WorkDir$+"/Image\n")
	imageready$=system$("basename "+imagecheck$+"\n")

	if (imageready$="") then
		Output$=system$("mkdir "+WorkDir$+"/Image")
	endif

REM ######Auto-Translate######

Localize

REM ######Bildschirmgroesse######

screenWidth = peek("desktopwidth")
screenHeight = peek("desktopheight")

REM ######Fensteraufbau######

window open ((screenWidth/2)-200), ((screenHeight/2)-200) to ((screenWidth/2)+200), ((screenHeight/2)+200), "View", "FloppyCopy"
window set "View", "MinimumTo", 400,400
window set "View", "MaximumTo", 400,400

REM ######Oberer Fensterbereich######

view 0,0 to 400,150, "View1", "View"
draw set "bgcolor", 255,255,255, "View1"
	err = draw image 90,35, WorkDir$+"/gfx/Logo/floppycopy.png", "View1"

REM ######Menleiste######

	menu "File", "Open Imagefolder", "O", "View1"
	menu "File", "Quit", "Q", "View1"
	menu "Help", "About", "A", "View1"
	menu "Help", "Documentation", "D", "View1"
	menu "Help", "Website", "L", "View1"
	
REM ######Aktionsbuttons######

	button image 10,180, "Button1", WorkDir$+"/gfx/Buttons/format2.png", WorkDir$+"/gfx/Buttons/format1.png","", "View"
	button image 90,180, "Button2", WorkDir$+"/gfx/Buttons/disktodisk2.png", WorkDir$+"/gfx/Buttons/disktodisk1.png","", "View"
	button image 170,180, "Button3", WorkDir$+"/gfx/Buttons/disktoimage2.png", WorkDir$+"/gfx/Buttons/disktoimage1.png","", "View"
	button image 250,180, "Button4", WorkDir$+"/gfx/Buttons/imagetodisk2.png", WorkDir$+"/gfx/Buttons/imagetodisk1.png","", "View"
	button image 330,180, "Button5", WorkDir$+"/gfx/Buttons/startdisk2.png", WorkDir$+"/gfx/Buttons/startdisk1.png","", "View"

REM ######ToolTips######

	tooltip "Button1", "Format Disk"
	tooltip "Button2", "Copy Disk"
	tooltip "Button3", "Create Image of Disk"
	tooltip "Button4", "Create Disk from Image"
	tooltip "Button5", "Make Bootdisk"

REM ######Listbox######

	listbox 14, 270 to 385, 372, "Info", 1, "View"
	listbox add "Info", translate$("Welcome to FloppyCopy")

REM ######Loop######

dim part$(1)

inloop = true
while(inloop)
	msg$ = message$

	if (split(msg$, part$(), ":|") > 2) then
		PartTwo$ = part$(2)
		PartThree$ = part$(3)
	fi

	switch msg$

	case translate$("View1:File:Open Imagefolder")+"|"
			Output$=system$("open "+WorkDir$+"/Image")
			break

	case "View:_QuitRequested|":
			window close "View"
			break 

	case translate$("View1:File:Quit")+"|"
			window close "View"
			break 

	case "View3:_QuitRequested|"
			window close "View3"
			break 

	case translate$("View1:Help:About")+"|"
			window open 250,250 to 550,540, "View4", "about"
				window set "View4", "MinimumTo", 300,270
				window set "View4", "MaximumTo", 300,270
				draw set "bgcolor", 255,255,255, "View4"

				err = draw image 30,5, WorkDir$+"/gfx/Logo/floppycopy.png", "View4"
				
				text 25,150, "Txt1", "FloppyCopy V0.8", "View4"
				text 25,177, "Txt3", "by Christian Albrecht (Lelldorin)", "View4"
				text 25,204, "Txt5", "Special thanks to Stargater, DasJott and Jan_64", "View4"
				text 25,220, "Txt6", "for helping me to create my first App with YAB", "View4"
			break

	case "View4:_QuitRequested|"
			window close "View4"
			break 

	case translate$("View1:Help:Documentation")+"|"
			Output$=system$("/boot/beos/apps/NetPositive "+WorkDir$+"/Documentation/floppycopy.html")
			break

	case translate$("View1:Help:Website")+"|"
			Output$=system$("/boot/beos/apps/NetPositive http://www.besly.mittilgart.de")
			break

	case "Button1|":
			diskette$ = system$("eject -q")
			if(diskette$ = "No media present\n") then
				alert translate$("No Disk in Floppy!"), "Ok", "warning"
			else
				listbox clear "Info"
				listbox add "Info", translate$("Format Disk!")
				Output$=system$("mformat a:")
				listbox add "Info", translate$("Ready!")		
			endif
			break

	case "Button2|":
			diskette$ = system$("eject -q")
			if(diskette$ = "No media present\n") then
			alert translate$("No Disk in Floppy!"), "Ok", "warning"
			else
				listbox clear "Info"
				listbox add "Info", translate$("Read Disk into memory!")
				Output$=system$("cat /dev/disk/floppy/raw > /boot/home/temp.image")
				alert translate$("Please insert empty Disk"), "Ok", "info"
				listbox add "Info", translate$("Writing Disk!")
				Output$=system$("dd if=/boot/home/temp.image of=/dev/disk/floppy/raw")
				print Output$				
//if (Output$=) then
				//	print "yes"
				//else
				//	print "no"
				//endif
				Output$=system$("rm /boot/home/temp.image")
				listbox add "Info", translate$("Ready!")
			endif
			break

	case "Button3|":
			diskette$ = system$("eject -q")
			if(diskette$ = "No media present\n") then
			alert translate$("No Disk in Floppy!"), "Ok", "warning"
			else
				listbox clear "Info"
				diskname$ = FILEPANEL SAVE$ WorkDir$+"/Image"
				print diskname$
				listbox add "Info", translate$("Create Image of Disk!")
				Output$=system$("cat /dev/disk/floppy/raw > "+diskname$+"\n")
				listbox add "Info", translate$("Ready!")
			endif
			break

	case "Button4|":
			diskette$ = system$("eject -q")
			if(diskette$ = "No media present\n") then
				alert translate$("No Disk in Floppy!"), "Ok", "warning"
			else
				listbox clear "Info"
				diskname$ = FILEPANEL LOAD$ WorkDir$+"/Image"
				print diskname$
				listbox add "Info", translate$("Writing Image to Disk!")
				Output$=system$("dd if="+diskname$+" of=/dev/disk/floppy/raw")
				listbox add "Info", translate$("Ready!")
			endif
			break

	case "Button5|":
			diskette$ = system$("eject -q")
			if(diskette$ = "No media present\n") then
			alert translate$("No Disk in Floppy!"), "Ok", "warning"
			else
				listbox clear "Info"
				listbox add "Info", translate$("Create Bootdisk!")
				Output$=system$("makebootfloppy -cd")
				listbox add "Info", translate$("Ready!")
			endif
			break

default:
end switch
	
	if(window count<1) inloop = false



	sleep 0.1
wend

Window close "View"
Window close "View1"

exit