1. Game Database App

Hello,

I am having a bit of trouble finishing up my app. The software is almost complete. The only things that need to be done are to load the software from the saved file. The save file might need to use some sprucing up, but for the most part, it is complete. One last thing is the image display should allow for the user to upload multiple images and be able to scroll through and look atthe images that the user has uploaded. The functionality of uploading a image is complete, however this "ani-mation system" is not. Also, once a game has been added, the title of the game should be displayed in the gamelist box. These are the only things needed to be done at this time.

without warning 
without type_check 
 
include std/graphics.e 
include std/image.e 
include std/get.e 
include std/sort.e 
include std/rand.e 
include std/wildcard.e 
include std/eds.e 
include std/io.e 
include std/os.e 
 
include win32lib.ew 
include cximage.ew 
 
ifdef LINUX or FREEBSD or NETBSD or UNIX then 
	puts(1,"Software only runs under windows") 
	abort(1) 
end ifdef 
 
constant App = {"My Personal Game Database"}, 
Ver = {"0.0.0.1"}, 
Date = {"12-1-11"}, 
CrlF = {'\r','\n'} 
 
if not CXI_Init() then 
	abort(0) 
end if 
 
constant ptr = allocate(4) 
 
constant GameType = {"GameList","*.ginf"} 
 
constant PDF_FORMAT = {"PDF", "*.pdf"} 
 
constant ImageType = {"ImageFiles","*.bmp","*.png","*.gif","*.jpg","*.tga"} 
 
constant TITLE = 1, 
		 DEVELOPER = 2, 
		 PUBLISHER = 3, 
		 YEAR = 4, 
		 GENRE = 5, 
		 SYSTEM = 6, 
		 INPUT = 7, 
		 MEDIA_STORAGE = 8, 
		 SAVE_SATE = 9, 
		 PLAYERS = 10, 
		 INFO = 11, 
		 IMAGES = 12, 
		 MANUAL = 13, 
		 ID = 14, 
		 RATING = 15, 
		 NETWORK_SYSTEM = 16 
		  
integer handle = 0 
sequence file = "" 
sequence fName = "" 
sequence shortName = "" 
object buffer = {} 
 
sequence sTitle = "" 
sequence sDeveloper = "" 
sequence sYear = "" 
sequence sGenre = "" 
sequence sPublisher = "" 
sequence sSystem = "" 
sequence sInput = "" 
sequence sMediaStorage = "" 
sequence sSaveState = "" 
sequence sPlayers = "" 
sequence sInfo = "" 
 
object GameData = {sTitle, sDeveloper, sYear, sGenre, sPublisher, sSystem,sInput, 
				   sMediaStorage,sSaveState,sPlayers,sInfo} 
 
integer players = 1 
integer images = 0 
integer image_count = 0 
integer image_total = 0 
 
integer current_image = 0 
integer next_image = 0 
integer last_image = 0 
 
integer games = 0 
integer current_game = 0 
integer total_games = 0 
 
atom game_image = 0 
 
sequence ImageList = {current_image,next_image,last_image} 
 
sequence sGame_Added = "Game Added to Database" 
sequence sGame_Removed = "Game removed from database" 
 
sequence sStorageMedia = {"Cartridge","CD-ROM","DVD-ROM","Floppy","Card","Blu-ray","HDDVD-Rom","Hucard"} 
 
sequence sGamePad = "GamePad" 
sequence sGun = "Gun" 
sequence sTrackpad = "Trackpad" 
sequence sHeadset = "Headset" 
sequence sRemote = "Remote" 
sequence sMic = "Mic" 
sequence sInsturment = {"Guitar", "Drums", "Bass", "Vocals", "Keyboards", "Real-Guitar"} 
sequence sMouse = "Mouse" 
sequence sKeyboard = "Keyboard" 
sequence sBody = "Body Movement" --body movement for input (kinect, playstation movie, etc) 
sequence sSteeringWheel = "SteeringWheel + Pedals" 
 
sequence sMemBuiltin = "Built-in Memory" 
sequence sMemCard = "Memory Card" 
sequence sMemHDD = "Harddrive" 
sequence sFlash = "Flashdrive" 
sequence sBattery = "Battery-Backup" 
 
sequence szPlayers = {"1-Player", "2-Players", "1-3 Players", "1-4 Players", "1-5 Players", "1-6 Players", "1-7 Players", "1-8 Players"} 
 
sequence sYesNo = {"Yes", "No"} 
 
sequence sDialup = "Dial-up" 
sequence sDSL = "DSL" 
sequence sBroadband = "Broadband" 
 
sequence sRating = {"EC", "E", "E10", "T", "M", "A", "K-A"} 
 
sequence szYear = {"1970","1971","1972","1973","1974","1975","1976","1977", 
				  "1978","1979","1980","1981","1982","1983","1984","1985", 
				  "1986","1987","1988","1989","1990","1991","1992","1993", 
				  "1994","1995","1996","1997","1998","1999","2000","2001", 
				  "2002","2003","2004","2005","2006","2007","2008","2009", 
				  "2010","2011","2012","2013","2014","2015","2016","2017", 
				  "2018","2019","2020","2021","2022","2023","2024","2025"} --Years of video games 
 
sequence sLSystem = {"Atari-2600","Atari-5200","Atari-7800","Atari-XEGS","Atari Jaguar", 
					"NES", "SNES", "N64", "Gamecube", "PS1","PS2","PS3","Xbox","Xbox 360", 
					"Wii", "Gameboy", "Gameboy Color","Gameboy Advance","Gameboy DS","Gamebody 3DS", 
					"PSP","Windows","MS-DOS", "GNU/Linux", "FreeBSD","AmigaOS", "MacOS","PC6000", 
					"PC8801","PC98","Turbo-Grafx16","Wonderswan","Commodore 64","Virtual Boy","Sega Master System", 
					"Sega Genesis/Megadrive","Sega Saturn","Sega Dreamcast","Neo-Geo","Neo-Geo CD", 
					"Neo-Geo Pocket","Arcade"} --43 
 
constant MainWin = createEx(Window,"My Perosnal Game Database - Geek Punk Games",0,Default,Default,800,600,0,0), 
MainStat = createEx(StatusBar,"",MainWin,0,0,0,0,0,0) 
 
constant File = createEx(Menu,"&File",MainWin,0,0,0,0,0,0), 
File_Open = createEx(MenuItem,"Open DB",File,0,0,0,0,0,0), 
File_Exit = createEx(MenuItem,"Exit",File,0,0,0,0,0,0) 
 
constant About = createEx(Menu,"&About",MainWin,0,0,0,0,0,0), 
About_Now = createEx(MenuItem,"About MPGD",About,0,0,0,0,0,0) 
 
constant Title_Text = createEx(LText,"Title:",MainWin,10,30,40,20,0,0), 
Title_Edit = createEx(EditText,"",MainWin,90,30,130,22,0,0), 
Developer_Text = createEx(LText,"Developer:",MainWin,10,60,55,20,0,0), 
Developer_Edit = createEx(EditText,"",MainWin,90,60,130,22,0,0), 
Publisher_Text = createEx(LText,"Publisher:",MainWin,10,90,55,20,0,0), 
Publisher_Edit = createEx(EditText,"",MainWin,90,90,130,22,0,0), 
Genre_Text = createEx(LText,"Genre:",MainWin,10,120,55,20,0,0), 
Genre_Edit = createEx(EditText,"",MainWin,90,120,130,22,0,0), 
Info_Text = createEx(LText,"Info:",MainWin,10,150,40,20,0,0), 
Info_Edit = createEx(EditText,"",MainWin,90,150,190,130,0,0) 
 
constant Year_Text = createEx(LText,"Year:",MainWin,10,300,40,20,0,0), 
Year_DropDown = createEx(DropDownList,"",MainWin,90,300,120,20,0,0), 
SaveState_Text = createEx(LText,"SaveState:",MainWin,10,330,60,20,0,0), 
SaveState_DropDown = createEx(DropDownList,"",MainWin,90,330,120,20,0,0), 
Input_Text = createEx(LText,"Input:",MainWin,10,360,60,20,0,0), 
Input_DropDown = createEx(DropDownList,"",MainWin,90,360,120,20,0,0), 
Memory_Text = createEx(LText,"Memory:",MainWin,10,390,60,20,0,0), 
Memory_DropDown = createEx(DropDownList,"",MainWin,90,390,120,20,0,0), 
System_Text = createEx(LText,"System:",MainWin,10,420,60,20,0,0), 
System_DropDown = createEx(DropDownList,"",MainWin,90,420,120,20,0,0) 
 
constant StorageMedia_Text = createEx(LText,"StorageMedia:",MainWin,250,300,80,20,0,0), 
StorageMedia_DropDown = createEx(DropDownList,"",MainWin,340,300,120,20,0,0), 
Online_Text = createEx(LText,"Online",MainWin,250,330,65,20,0,0), 
Online_DropDown = createEx(DropDownList,"",MainWin,340,330,120,20,0,0), 
Players_Text = createEx(LText,"Players:",MainWin,250,360,60,20,0,0), 
Players_DropDown = createEx(DropDownList,"",MainWin,340,360,120,20,0,0), 
Rating_Text = createEx(LText,"Rating:",MainWin,250,390,60,20,0,0), 
Rating_DropDown = createEx(DropDownList,"",MainWin,340,390,120,20,0,0) 
 
addItem(Players_DropDown,szPlayers[1]) 
addItem(Players_DropDown,szPlayers[2]) 
addItem(Players_DropDown,szPlayers[3]) 
addItem(Players_DropDown,szPlayers[4]) 
addItem(Players_DropDown,szPlayers[5]) 
addItem(Players_DropDown,szPlayers[6]) 
addItem(Players_DropDown,szPlayers[7]) 
addItem(Players_DropDown,szPlayers[8]) 
 
addItem(Rating_DropDown,sRating[1]) 
addItem(Rating_DropDown,sRating[2]) 
addItem(Rating_DropDown,sRating[3]) 
addItem(Rating_DropDown,sRating[4]) 
addItem(Rating_DropDown,sRating[5]) 
addItem(Rating_DropDown,sRating[6]) 
addItem(Rating_DropDown,sRating[7]) 
 
addItem(Memory_DropDown,sMemBuiltin) 
addItem(Memory_DropDown,sMemCard) 
addItem(Memory_DropDown,sMemHDD) 
addItem(Memory_DropDown,sFlash) 
addItem(Memory_DropDown,sBattery) 
 
addItem(Input_DropDown,sGamePad) 
addItem(Input_DropDown,sGun) 
addItem(Input_DropDown,sTrackpad) 
addItem(Input_DropDown,sHeadset) 
addItem(Input_DropDown,sMic) 
addItem(Input_DropDown,sMouse) 
addItem(Input_DropDown,sKeyboard) 
addItem(Input_DropDown,sBody) 
addItem(Input_DropDown,sSteeringWheel) 
addItem(Input_DropDown,sInsturment[1]) 
addItem(Input_DropDown,sInsturment[2]) 
addItem(Input_DropDown,sInsturment[3]) 
addItem(Input_DropDown,sInsturment[4]) 
addItem(Input_DropDown,sInsturment[5]) 
addItem(Input_DropDown,sInsturment[6]) 
 
addItem(StorageMedia_DropDown,sStorageMedia[1]) 
addItem(StorageMedia_DropDown,sStorageMedia[2]) 
addItem(StorageMedia_DropDown,sStorageMedia[3]) 
addItem(StorageMedia_DropDown,sStorageMedia[4]) 
addItem(StorageMedia_DropDown,sStorageMedia[5]) 
addItem(StorageMedia_DropDown,sStorageMedia[6]) 
addItem(StorageMedia_DropDown,sStorageMedia[7]) 
addItem(StorageMedia_DropDown,sStorageMedia[8]) 
 
addItem(SaveState_DropDown,sYesNo[1]) 
addItem(SaveState_DropDown,sYesNo[2]) 
 
addItem(Online_DropDown,sYesNo[1]) 
addItem(Online_DropDown,sYesNo[2]) 
 
addItem(Year_DropDown,szYear[1]) 
addItem(Year_DropDown,szYear[2]) 
addItem(Year_DropDown,szYear[3]) 
addItem(Year_DropDown,szYear[4]) 
addItem(Year_DropDown,szYear[5]) 
addItem(Year_DropDown,szYear[6]) 
addItem(Year_DropDown,szYear[7]) 
addItem(Year_DropDown,szYear[8]) 
addItem(Year_DropDown,szYear[9]) 
addItem(Year_DropDown,szYear[10]) 
addItem(Year_DropDown,szYear[11]) 
addItem(Year_DropDown,szYear[12]) 
addItem(Year_DropDown,szYear[13]) 
addItem(Year_DropDown,szYear[14]) 
addItem(Year_DropDown,szYear[15]) 
addItem(Year_DropDown,szYear[16]) 
addItem(Year_DropDown,szYear[17]) 
addItem(Year_DropDown,szYear[18]) 
addItem(Year_DropDown,szYear[19]) 
addItem(Year_DropDown,szYear[20]) 
addItem(Year_DropDown,szYear[21]) 
addItem(Year_DropDown,szYear[22]) 
addItem(Year_DropDown,szYear[23]) 
addItem(Year_DropDown,szYear[24]) 
addItem(Year_DropDown,szYear[25]) 
addItem(Year_DropDown,szYear[26]) 
addItem(Year_DropDown,szYear[27]) 
addItem(Year_DropDown,szYear[28]) 
addItem(Year_DropDown,szYear[29]) 
addItem(Year_DropDown,szYear[30]) 
addItem(Year_DropDown,szYear[31]) 
addItem(Year_DropDown,szYear[32]) 
addItem(Year_DropDown,szYear[33]) 
addItem(Year_DropDown,szYear[34]) 
addItem(Year_DropDown,szYear[35]) 
addItem(Year_DropDown,szYear[36]) 
addItem(Year_DropDown,szYear[37]) 
addItem(Year_DropDown,szYear[38]) 
addItem(Year_DropDown,szYear[39]) 
addItem(Year_DropDown,szYear[40]) 
addItem(Year_DropDown,szYear[41]) 
addItem(Year_DropDown,szYear[42]) 
addItem(Year_DropDown,szYear[43]) 
addItem(Year_DropDown,szYear[44]) 
addItem(Year_DropDown,szYear[45]) 
addItem(Year_DropDown,szYear[46]) 
addItem(Year_DropDown,szYear[47]) 
addItem(Year_DropDown,szYear[48]) 
addItem(Year_DropDown,szYear[49]) 
addItem(Year_DropDown,szYear[50]) 
addItem(Year_DropDown,szYear[51]) 
addItem(Year_DropDown,szYear[52]) 
addItem(Year_DropDown,szYear[53]) 
addItem(Year_DropDown,szYear[54]) 
addItem(Year_DropDown,szYear[55]) 
 
addItem(System_DropDown,sLSystem[1]) 
addItem(System_DropDown,sLSystem[2]) 
addItem(System_DropDown,sLSystem[3]) 
addItem(System_DropDown,sLSystem[4]) 
addItem(System_DropDown,sLSystem[5]) 
addItem(System_DropDown,sLSystem[6]) 
addItem(System_DropDown,sLSystem[7]) 
addItem(System_DropDown,sLSystem[8]) 
addItem(System_DropDown,sLSystem[9]) 
addItem(System_DropDown,sLSystem[10]) 
addItem(System_DropDown,sLSystem[11]) 
addItem(System_DropDown,sLSystem[12]) 
addItem(System_DropDown,sLSystem[13]) 
addItem(System_DropDown,sLSystem[14]) 
addItem(System_DropDown,sLSystem[15]) 
addItem(System_DropDown,sLSystem[16]) 
addItem(System_DropDown,sLSystem[17]) 
addItem(System_DropDown,sLSystem[18]) 
addItem(System_DropDown,sLSystem[19]) 
addItem(System_DropDown,sLSystem[20]) 
addItem(System_DropDown,sLSystem[21]) 
addItem(System_DropDown,sLSystem[22]) 
addItem(System_DropDown,sLSystem[23]) 
addItem(System_DropDown,sLSystem[24]) 
addItem(System_DropDown,sLSystem[25]) 
addItem(System_DropDown,sLSystem[26]) 
addItem(System_DropDown,sLSystem[27]) 
addItem(System_DropDown,sLSystem[28]) 
addItem(System_DropDown,sLSystem[29]) 
addItem(System_DropDown,sLSystem[30]) 
addItem(System_DropDown,sLSystem[31]) 
addItem(System_DropDown,sLSystem[32]) 
addItem(System_DropDown,sLSystem[33]) 
addItem(System_DropDown,sLSystem[34]) 
addItem(System_DropDown,sLSystem[35]) 
addItem(System_DropDown,sLSystem[36]) 
addItem(System_DropDown,sLSystem[37]) 
addItem(System_DropDown,sLSystem[38]) 
addItem(System_DropDown,sLSystem[39]) 
addItem(System_DropDown,sLSystem[40]) 
addItem(System_DropDown,sLSystem[41]) 
addItem(System_DropDown,sLSystem[42]) 
--addItem(System_DropDown,sLSystem[43]) 
 
constant Add = createEx(PushButton,"Add",MainWin,10,480,100,25,0,0), 
Remove = createEx(PushButton,"Remove",MainWin,110,480,100,25,0,0) 
 
constant Image_Grp = createEx(GroupBox,"Image",MainWin,500,30,250,250,0,0), 
Image_Win = createEx(Window,"",MainWin,510,50,230,180,{WS_CHILD,WS_CLIPSIBLINGS,WS_VISIBLE},0), 
Image_Add = createEx(PushButton,"Add",MainWin,510,240,100,25,0,0), 
Image_Remove = createEx(PushButton,"Remove",MainWin,630,240,100,25,0,0) 
 
constant Exit_Push = createEx(PushButton,"Exit",MainWin,660,480,100,25,0,0) 
 
setWindowBackColor(Image_Win,Black) 
 
constant GameList_Grp = createEx(Group,"Game List",MainWin,300,30,180,150,0,0), 
Game_List = createEx(List,"",MainWin,310,50,150,120,0,0) 
 
setHint(Info_Edit,"A brief description of the game.") 
 
setHint(Add,"Add game to database.") 
setHint(Remove,"Remove game from database") 
 
setHint(Game_List,"Title of game is displayed in box, other fields are filled in when game is selected.") 
 
procedure OpenDB(integer self, integer event, sequence parm) 
	 
	fName = getOpenFileName(MainWin,file,GameType) 
	 
	if length(fName) = 0 then 
		return 
	end if 
	 
	handle = open(fName,"rb") 
	 
	if handle = -1 then 
		puts(1,"Failed to load data") 
	else 
		--display image 
		game_image = CXI_LoadImage(peek4u(ptr), CXI_FORMAT_JPG,buffer) 
	end if 
	 
	close(handle) 
 
end procedure 
setHandler(File_Open,w32HClick,routine_id("OpenDB")) 
 
procedure AddGame(integer self, integer event, sequence parm) 
 
	fName = getSaveFileName(MainWin,file,GameType) 
	 
	if length(fName) = 0 then 
		return 
	end if 
	 
	handle = open(fName,"wb") 
	 
	if handle = -1 then 
		puts(1,"Error adding game") 
		abort(0) 
	else 
		puts(handle,getText(Title_Edit)) 
		puts(handle,"\n") 
		puts(handle,getText(Developer_Edit)) 
		puts(handle,"\n") 
		puts(handle,getText(Publisher_Edit)) 
		puts(handle,"\n") 
		puts(handle,getText(Genre_Edit)) 
		puts(handle,"\n") 
		puts(handle,getText(Info_Edit)) 
		puts(handle,"\n") 
		--save drop down 
		puts(handle,getText(Year_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(SaveState_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(Input_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(Memory_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(System_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(StorageMedia_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(Online_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(Players_DropDown)) 
		puts(handle,"\n") 
		puts(handle,getText(Rating_DropDown)) 
		puts(handle,"\n") 
		-- save image 
		buffer = CXI_SaveImage(game_image,ptr,CXI_FORMAT_JPG) 
		if buffer <= 0 then 
			abort(0) 
		end if 
	end if 
	 
	setText(Title_Edit,"") 
	setText(Developer_Edit,"") 
	setText(Publisher_Edit,"") 
	setText(Genre_Edit,"") 
	setText(Info_Edit,"") 
	 
	close(handle) 
	 
	setText(MainStat,"Game Added!") 
 
end procedure 
setHandler(Add,w32HClick,routine_id("AddGame")) 
 
procedure ClearImageWin(integer self, integer event, sequence parm) 
 
	clearWindow(Image_Win) 
	 
end procedure 
setHandler(Image_Remove,w32HClick,routine_id("ClearImageWin")) 
 
procedure Exit(integer self, integer event, sequence parm) 
	 
	closeWindow(MainWin) 
 
end procedure 
setHandler(File_Exit,w32HClick,routine_id("Exit")) 
setHandler(Exit_Push,w32HClick,routine_id("Exit")) 
 
procedure HelpAbout(integer self, integer event, sequence parm) 
	 
	integer m 
	 
	m = message_box("My Personal Game Database\n" 
				  &"Written By Andy\n" 
				  &"Free Software\n" 
				  &"Version 0.1\n" 
				  &"Geek Punk Games\n" 
				  &"Written in Euphoria\n" 
				  &"Uses Win32lib\n" 
				  &"Uses cxImage\n" 
				  &"Game Database\n", 
				   "About MPGD", 
				   MB_TASKMODAL) 
 
end procedure 
setHandler(About_Now,w32HClick,routine_id("HelpAbout")) 
 
---------------------------------------------------------------- 
global function createDIBFromCXImage( atom image )   
   
    sequence info, pal   
    integer width, height, bitsPer, colors, headerSize   
    atom mset, memBits, memBitmapInfo, at, hdc, hDIB   
       
    mset = w32new_memset()   
       
    -- get the dib info   
    info = CXI_GetDIB( image )   
    memBits = info[1]   
    width   = info[2]   
    height  = info[3]   
    bitsPer = info[4]   
       
    -- get the palette   
    pal = CXI_GetPalette( image )   
       
    -- determine number of colors   
    colors = length( pal )   
       
    -- determine the header size   
    headerSize = SIZEOF_BITMAPINFOHEADER + (SIZEOF_RGBQUAD * colors)   
       
    -- allocate memory for DIB   
    memBitmapInfo = w32acquire_mem( mset, headerSize )   
    w32set_memory( memBitmapInfo, ID_BITMAPINFOHEADER,   
        {SIZEOF_BITMAPINFOHEADER, width, height, 1, bitsPer, 0, 0, 0, 0, colors, 0} )   
       
    -- get the address of the first rgb tuple   
    at = w32address( memBitmapInfo, bmiColors )   
   
    -- copy the pal to memory   
    for i = 1 to colors do   
   
        -- store values   
        w32store( at, rgbRed, pal[i][1] )   
        w32store( at, rgbGreen, pal[i][2] )   
        w32store( at, rgbBlue, pal[i][3] )   
        w32store( at, rgbReserved, 0 )   
   
        -- move to next quad   
        at += SIZEOF_RGBQUAD   
   
    end for   
       
    -- Get the screen's device context.   
    hdc = getDC( Screen )   
   
    -- Create the DIB.   
    hDIB = w32Func( xCreateDIBitmap, {   
            hdc,   
            w32address( memBitmapInfo, bmiHeader ),   
            CBM_INIT,   
            memBits,   
            memBitmapInfo,   
            DIB_RGB_COLORS} )   
   
    -- release the screen dc   
    releaseDC( Screen )   
   
    -- Free memory   
    w32release_mem( mset )   
   
    trackObject( {-1,kBitmapObject}, hDIB, ForProgram )   
   
    return hDIB   
end function   
 
----------------------------------------------------------------- 
procedure LoadImage(integer self, integer event, sequence parm) 
	 
	fName = getOpenFileName(MainWin,file,ImageType) 
	 
	if length(fName) = 0 then 
		return 
	end if 
	 
	game_image = CXI_LoadImage(fName,CXI_FORMAT_UNKNOWN,0) 
	 
	game_image = createDIBFromCXImage(game_image) 
	 
	repaintWindow(Image_Win) 
	 
	images += 1 
	image_total = images 
	current_image = images 
	 
	if current_image > 1 then 
		current_image = ImageList[2] 
		elsif image_total > images then 
			current_image = ImageList[1] 
			game_image = current_image 
	end if 
 
end procedure 
setHandler(Image_Add,w32HClick,routine_id("LoadImage")) 
 
procedure PaintWin(integer self, integer event, sequence parm) 
	 
	copyBlt(Image_Win,0,0,game_image) 
 
end procedure 
setHandler(Image_Win,w32HPaint,routine_id("PaintWin")) 
----------------------------------------------------------------- 
constant StatMain = {MainStat,1}, 
		 StatDate = {MainStat,2}, 
		 StatTime = {MainStat,3} 
		  
constant Timer = 1 
 
constant DAYS = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"} 
 
procedure setDateTime() 
 
	sequence dt, ampm, the_date, the_time 
	 
	dt = getLocalTime() 
	 
	ampm = "AM" 
	if dt[5] > 12 then 
		dt[5] -= 12 
		ampm = "PM" 
		elsif dt[5] = 0 then 
			dt[5] = 12 
	end if 
	 
	the_date = sprintf("%s %02d/%02d/%04d", {DAYS[dt[3]+1], dt[2], dt[4], dt[1]}) 
	 
	the_time = sprintf("%02d:%02d:%02d %s", {dt[5],dt[6],dt[7], ampm}) 
	 
	setText(StatDate, the_date) 
	setText(StatTime, the_time) 
	 
end procedure 
 
procedure MainActivate(integer self, integer event, sequence parm) 
 
	setDateTime() 
	setTimer(MainWin,Timer,1000) 
	 
end procedure 
setHandler(MainWin,w32HActivate,routine_id("MainActivate")) 
 
procedure MainResize(integer self, integer event, sequence parm) 
	 
	sequence rect 
	 
	rect = getClientRect(MainWin) 
	setSubFields(MainStat, {rect[3]-180, -90, -1}) 
 
end procedure 
setHandler(MainWin,w32HResize,routine_id("MainResize")) 
 
procedure MainTimer(integer self, integer event, sequence parm) 
 
	if parm[1] = Timer then 
		setDateTime() 
	end if 
	 
end procedure 
setHandler(MainWin,w32HTimer,routine_id("MainTimer")) 
 
procedure MainClose(integer self, integer event, sequence parm) 
 
	killTimer(MainWin,Timer) 
	 
end procedure 
setHandler(MainWin,w32HClose,routine_id("MainClose")) 
 
WinMain(MainWin,Normal) 

I had wanted to use Euphoria's EDS, but that proved a bit diffcult for me. So you'd have to make a seperate entity for each game you added. Any tips would help me out a lot. Also, note that I used a little bit of code from I think Greg, whoever wrote the cximage DIB function. I'd like to thank them.

new topic     » topic index » view message » categorize

2. Re: Game Database App

Lone_EverGreen_Ranger said...

Hello,

I am having a bit of trouble finishing up my app. The software is almost complete. The only things that need to be done are to load the software from the saved file. The save file might need to use some sprucing up, but for the most part, it is complete. One last thing is the image display should allow for the user to upload multiple images and be able to scroll through and look atthe images that the user has uploaded. The functionality of uploading a image is complete, however this "ani-mation system" is not. Also, once a game has been added, the title of the game should be displayed in the gamelist box. These are the only things needed to be done at this time.

...

I had wanted to use Euphoria's EDS, but that proved a bit diffcult for me. So you'd have to make a seperate entity for each game you added. Any tips would help me out a lot. Also, note that I used a little bit of code from I think Greg, whoever wrote the cximage DIB function. I'd like to thank them.

If its alright with you, I can send back some simpler code, that does what you described, except for the image stuff, AND uses the EDS system.

new topic     » goto parent     » topic index » view message » categorize

3. Re: Game Database App

DerekParnell said...
Lone_EverGreen_Ranger said...

Hello,

I am having a bit of trouble finishing up my app. The software is almost complete. The only things that need to be done are to load the software from the saved file. The save file might need to use some sprucing up, but for the most part, it is complete. One last thing is the image display should allow for the user to upload multiple images and be able to scroll through and look atthe images that the user has uploaded. The functionality of uploading a image is complete, however this "ani-mation system" is not. Also, once a game has been added, the title of the game should be displayed in the gamelist box. These are the only things needed to be done at this time.

...

I had wanted to use Euphoria's EDS, but that proved a bit diffcult for me. So you'd have to make a seperate entity for each game you added. Any tips would help me out a lot. Also, note that I used a little bit of code from I think Greg, whoever wrote the cximage DIB function. I'd like to thank them.

If its alright with you, I can send back some simpler code, that does what you described, except for the image stuff, AND uses the EDS system.

Sure it is fine with me.

new topic     » goto parent     » topic index » view message » categorize

4. Re: Game Database App

Hi, any reason why you didn't put most of the "additem" code in loops... Seems almost too obvious to mention?

new topic     » goto parent     » topic index » view message » categorize

5. Re: Game Database App

I've done a rework of your code and put onto the Web. It has the image processing stuff commented out but I hope it helps.

new topic     » goto parent     » topic index » view message » categorize

6. Re: Game Database App

DerekParnell said...

I've done a rework of your code and put onto the Web. It has the image processing stuff commented out but I hope it helps.

Thank you. I'll go over the code and learn from it. Hopefully I'll be able to add the image code myself, then the whole program will be complete. Thanks again, Derek.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu