Newtonm,
You can use the following. Copy and paste this into a .PRG, and then change the ICON and PATH names as appropriate to your application and ICON file.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* FIXICON.PRG: Replace Icon in Fox 2.x ESL
* Author: Scott Payton
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLEAR
CLOSE ALL
*
PRIVATE M.LC_ESLIcon
PRIVATE M.LC_FoxIcon
PRIVATE M.LC_NewIcon
*
M.LC_NEWIcon = ""
M.LC_FoxIcon = ""
M.LC_ESLIcon = Read_Icon( "\ICONS\MYICON.ICO", 126, @m.LC_NEWIcon )
*
=Updt_Icon("\MYAPP\FOXW2600.ESL", 175720, m.LC_NewIcon)
*
CLOSE ALL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
FUNCTION Updt_Icon
PARAMETER PC_Name, PN_Offset, PC_Buffer
*
PRIVATE M.LN_Handle
*
M.LN_Handle = FOPEN( m.PC_Name, 2 ) && Read/Write Buffered.
*
IF M.LN_Handle < 0 && If open not successfull...
?? CHR( 7 )
WAIT WINDOW m.PC_Name + " Open error: " + STR(FERROR())
RETURN .F.
ENDIF
*
=FSEEK(M.LN_Handle, M.PN_Offset)
*
=FWRITE(M.LN_Handle, M.PC_Buffer, 512)
*
=FCLOSE(M.LN_Handle)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
FUNCTION Read_Icon
PARAMETER M.PC_Name, M.PN_Offset, M.PC_Buffer
*
PRIVATE M.LN_Handle
*
M.LN_Handle = FOPEN(M.PC_Name)
IF M.LN_Handle < 0 && If open not successfull...
?? CHR( 7 )
WAIT WINDOW m.PC_Name + " Open error: " + STR(FERROR())
RETURN .F.
ENDIF
=FSEEK(M.LN_Handle, M.PN_Offset)
*
M.PC_Buffer = FREAD(M.LN_Handle, 512)
*
=FCLOSE(M.LN_Handle)
If everyone likes this, I'll put it in a FAQ...
Best Regards,
Scott
Please let me know if this has helped
![[hammer] [hammer] [hammer]](/data/assets/smilies/hammer.gif)