FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour xImage doubt
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
xImage doubt
Posted: Sun Nov 17, 2024 05:48 PM

Hi,

Eu tenho um campo memo em um dbf que armazenar uma imagem com o memoread()

oArqImg:IMAGEM := MemoRead(Alltrim(VetGars[x][10]))

Qual a melhor maneira de mostrar essa imagem posteriormente em uma dialog? Or other way to save and recover image with dbf/cdx.

I try:

@40,40 XIMAGE oImage SIZE 300,300 OF oDlg411 SOURCE MEMOREAD( Lista411:aRow[ 4 ] ) but I get this error:

Application

===========

Path and name: D:\SISTEMAS\ESC\finesc.exe (32 bits)

Size: 8,592,896 bytes

Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20181011)

FiveWin version: FWH 18.11

C compiler version: Borland/Embarcadero C++ 7.3 (32-bit)

Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 8 secs

Error occurred at: 17/11/2024, 14:42:43

Error description: Error FiveWin/1 Non defined Id: No: 199

Stack Calls

===========

Called from: .\source\classes\CONTROL.PRG => TCONTROL:INITIATE( 452 )

Called from: .\source\classes\XIMAGE.PRG => TXIMAGE:INITIATE( 189 )

Called from: => __OBJSENDMSG( 0 )

Called from: => HB_EXECFROMARRAY( 0 )

Called from: .\source\function\HARBOUR.PRG => OSEND( 300 )

Called from: => HB_EXECFROMARRAY( 0 )

Called from: .\source\function\HARBOUR.PRG => ASEND( 278 )

Called from: .\source\classes\DIALOG.PRG => TDIALOG:INITIATE( 805 )

Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 1120 )

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xImage doubt
Posted: Mon Nov 18, 2024 04:05 AM
Suggested way to link xbrowse and ximage:
Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oFont, oBrw, oImage

   if !File( "IMAGES.DBF" )
      CreateImagesDBF()
   endif

   USE IMAGES NEW SHARED VIA "DBFCDX"

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-16

   DEFINE DIALOG oDlg SIZE 800,400 PIXEL TRUEPIXEL FONT oFont ;
      TITLE "XBROWSE + XIMAGE"
   @ 20,20 XBROWSE oBrw SIZE 380,-20 PIXEL OF oDlg ;
      DATASOURCE "IMAGES" ;
      COLUMNS "FOLDER", "NAME" ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :AutoFit()
      :nStretchCol := 1
      :bChange    := { || oImage:Refresh() }
      :CreateFromCode()
   END

   @ 20,400 XIMAGE oImage SIZE -20,-20 OF oDlg ;
      SOURCE ( oBrw:cAlias )->IMAGE

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil

//----------------------------------------------------------------------------//

function CreateImagesDBF()

   DBCREATE( "IMAGES.DBF", { { "NAME", "C", 10, 0 }, ;
      { "FOLDER", "C", 40, 0 }, { "IMAGE", "M", 8, 0 } }, ;
      "DBFCDX", .T., "IMG" )

   AEval( ;
      { "..\bitmaps\olga1.jpg", "..\bitmaps\sea.bmp", ;
      "..\bitmaps\pngs\2.png", "..\bitmaps\007.bmp" }, <|c|
         DBAPPEND()
         FIELD->NAME    := UPPER( cFileName( c ) )
         FIELD->FOLDER  := cFilePath( c )
         FIELD->IMAGE   := MEMOREAD( c )
         return nil
         > )

   CLOSE IMG

return nil
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xImage doubt
Posted: Mon Nov 18, 2024 05:15 AM
There is another simpler way to display images like above, without using XImage at all.
This is a sample.
Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oFont, oBrw, oImage

   if !File( "IMAGES.DBF" )
      CreateImagesDBF()
   endif

   USE IMAGES NEW SHARED VIA "DBFCDX"

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-16

   DEFINE DIALOG oDlg SIZE 800,500 PIXEL TRUEPIXEL FONT oFont ;
      TITLE "XBROWSE WITHOUT XIMAGE"

   @ 20,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE "IMAGES" ;
      COLUMNS "FOLDER", "NAME", "IMAGE" ;
      COLSIZES 200,150,400 ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :oRightCol   := "IMAGE"
      :oRightCol:lFullHeight := .t.
      :oRightCol:nDataBmpAlign := AL_CENTER
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil

//----------------------------------------------------------------------------//

function CreateImagesDBF()

   DBCREATE( "IMAGES.DBF", { { "NAME", "C", 10, 0 }, ;
      { "FOLDER", "C", 40, 0 }, { "IMAGE", "M", 8, 0 } }, ;
      "DBFCDX", .T., "IMG" )

   AEval( ;
      { "..\bitmaps\olga1.jpg", "..\bitmaps\sea.bmp", ;
      "..\bitmaps\pngs\2.png", "..\bitmaps\007.bmp" }, <|c|
         DBAPPEND()
         FIELD->NAME    := UPPER( cFileName( c ) )
         FIELD->FOLDER  := cFilePath( c )
         FIELD->IMAGE   := MEMOREAD( c )
         return nil
         > )

   CLOSE IMG

return nil
Regards



G. N. Rao.

Hyderabad, India
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
Re: xImage doubt
Posted: Mon Nov 18, 2024 01:13 PM
nageswaragunupudi wrote:Suggested way to link xbrowse and ximage:
Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oFont, oBrw, oImage

   if !File( "IMAGES.DBF" )
      CreateImagesDBF()
   endif

   USE IMAGES NEW SHARED VIA "DBFCDX"

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-16

   DEFINE DIALOG oDlg SIZE 800,400 PIXEL TRUEPIXEL FONT oFont ;
      TITLE "XBROWSE + XIMAGE"
   @ 20,20 XBROWSE oBrw SIZE 380,-20 PIXEL OF oDlg ;
      DATASOURCE "IMAGES" ;
      COLUMNS "FOLDER", "NAME" ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :AutoFit()
      :nStretchCol := 1
      :bChange    := { || oImage:Refresh() }
      :CreateFromCode()
   END

   @ 20,400 XIMAGE oImage SIZE -20,-20 OF oDlg ;
      SOURCE ( oBrw:cAlias )->IMAGE

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil

//----------------------------------------------------------------------------//

function CreateImagesDBF()

   DBCREATE( "IMAGES.DBF", { { "NAME", "C", 10, 0 }, ;
      { "FOLDER", "C", 40, 0 }, { "IMAGE", "M", 8, 0 } }, ;
      "DBFCDX", .T., "IMG" )

   AEval( ;
      { "..\bitmaps\olga1.jpg", "..\bitmaps\sea.bmp", ;
      "..\bitmaps\pngs\2.png", "..\bitmaps\007.bmp" }, <|c|
         DBAPPEND()
         FIELD->NAME    := UPPER( cFileName( c ) )
         FIELD->FOLDER  := cFilePath( c )
         FIELD->IMAGE   := MEMOREAD( c )
         return nil
         > )

   CLOSE IMG

return nil
Thank you so much Mr. Nages. I Use pelles c to create my dialogs and controls, how I can create a tximage control? Tximage works with redefine?
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xImage doubt
Posted: Mon Nov 18, 2024 02:05 PM
Code (fw): Select all Collapse
// C:\FWH\SAMPLES\XIMAGE08.PRG/RC

#include "fivewin.ch"

function Main()

   local oDlg, oImage, oSay
   local cPath   := "c:\\fwh1905\\bitmaps\\pngs\\"
   local aImages := DIRECTORY( cPath + "*.png" )
   local nImage  := 1

   AEval( aImages, { |a,i| aImages[ i ] := cPath + a[ 1 ] } )

   DEFINE DIALOG oDlg RESOURCE "diaporama" ;
      TITLE "Album de Fotos" COLOR CLR_BLACK, CLR_WHITE TRANSPARENT

   oDlg:lHelpIcon := .F.

   REDEFINE XIMAGE oImage SOURCE aImages[ nImage ] ID 101 OF oDlg UPDATE

   oImage:nUserControl := 0
   //   oImage:FitRect()

   REDEFINE SAY oSay PROMPT { || cFileName( aImages[ nImage ] ) } ID 102 ;
      OF oDlg UPDATE COLOR CLR_BLACK, CLR_WHITE

   REDEFINE BUTTON ID 503 OF oDlg WHEN nImage < Len( aImages ) ;
      ACTION ( nImage++, oDlg:Update() )

   REDEFINE BUTTON ID 504 OF oDlg WHEN nImage > 1 ;
      ACTION ( nImage--, oDlg:Update() )


   REDEFINE BUTTON ID 501 OF oDlg ACTION oDlg:End()

   oDlg:bPainted := { || oDlg:Box( oSay:nTop-1, oSay:nLeft-1, oSay:nTop + ;
                         oSay:nHeight, oSay:nLeft + oSay:nWidth, CLR_GRAY ) }

   ACTIVATE DIALOG oDlg CENTER

return nil

/*
DIAPORAMA DIALOG 22, 26, 311, 205
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Pedigree BullFight Photos"
FONT 12, "MS Sans Serif"
{
    PUSHBUTTON  "Close", 501, 246,  84, 45, 15
    PUSHBUTTON  "->", 503, 269, 53, 16, 17
    PUSHBUTTON  "<-", 504, 247, 53, 16, 17
    CTEXT  ""  102, 10, 172, 225, 13, SS_CENTERIMAGE
    CONTROL     "", 101, "TXImage", 0 | WS_CHILD | WS_VISIBLE, 10, 14, 225, 150
}

*/

/*
REDEFINE BUTTON ID 504 OF oDlg WHEN nImage > 1 ACTION ( nImage--, oImage:REFRESH() )
       REDEFINE BUTTON ID 503 OF oDlg WHEN nImage < Len( aDirectorio ) ACTION ( nImage++, oImage:REFRESH() )
 
*/
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: xImage doubt
Posted: Mon Nov 18, 2024 02:59 PM
hi,

why do i need to #define all Constant in *.RC
Code (fw): Select all Collapse
#define DS_MODALFRAME 0x0080
#define WS_POPUP            2147483648
#define WS_VISIBLE          268435456
#define WS_CAPTION          12582912
#define WS_SYSMENU          524288
#define WS_CHILD            1073741824
#define SS_CENTERIMAGE      0x00000200L

    DIAPORAMA DIALOG 22, 26, 311, 205
    STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION "Pedigree BullFight Photos"
    FONT 12, "MS Sans Serif"
    {
        PUSHBUTTON  "Close", 501, 246,  84, 45, 15
        PUSHBUTTON  "->", 503, 269, 53, 16, 17
        PUSHBUTTON  "<-", 504, 247, 53, 16, 17
        CTEXT  ""  102, 10, 172, 225, 13, SS_CENTERIMAGE
        CONTROL     "", 101, "TXImage", 0 | WS_CHILD | WS_VISIBLE, 10, 14, 225, 150
    }
what do i miss for *.RC files :?:
greeting,

Jimmy
Posts: 137
Joined: Mon Oct 22, 2012 04:43 PM
Re: xImage doubt
Posted: Mon Nov 18, 2024 03:18 PM
in front of your rc-file
Code (fw): Select all Collapse
#include "..\include\WinApi.ch"
Regards



Ing. Anton Lerchster
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: xImage doubt
Posted: Mon Nov 18, 2024 03:29 PM
hi,
alerchster wrote:in front of your rc-file
Code (fw): Select all Collapse
#include "..\include\WinApi.ch"
THX, that include i miss.

but still missing SS_CENTERIMAGE
XIMAGE.RC(11) : error RC2104 : undefined keyword or key name: SS_CENTERIMAGE
which i found in Winuser.H
greeting,

Jimmy
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xImage doubt
Posted: Mon Nov 18, 2024 03:31 PM
Jimmy wrote:hi,

why do i need to #define all Constant in *.RC
Code (fw): Select all Collapse
#define DS_MODALFRAME 0x0080
#define WS_POPUP            2147483648
#define WS_VISIBLE          268435456
#define WS_CAPTION          12582912
#define WS_SYSMENU          524288
#define WS_CHILD            1073741824
#define SS_CENTERIMAGE      0x00000200L

    DIAPORAMA DIALOG 22, 26, 311, 205
    STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION "Pedigree BullFight Photos"
    FONT 12, "MS Sans Serif"
    {
        PUSHBUTTON  "Close", 501, 246,  84, 45, 15
        PUSHBUTTON  "->", 503, 269, 53, 16, 17
        PUSHBUTTON  "<-", 504, 247, 53, 16, 17
        CTEXT  ""  102, 10, 172, 225, 13, SS_CENTERIMAGE
        CONTROL     "", 101, "TXImage", 0 | WS_CHILD | WS_VISIBLE, 10, 14, 225, 150
    }
what do i miss for *.RC files :?:
I don't understand Jimmy, what you're asking, is it in PELLESC.exe? In WORKSHOP.exe, you don't need this. WORKSHOP.exe is first line. The best RESOURCE EDITOR on the PLANET. hahahaha.

No entiendo Jimmy, lo que preguntas, ¿está en PELLESC.exe? En WORKSHOP.exe, no necesita esto. WORKSHOP.exe es la primera línea. El mejor EDITOR DE RECURSOS del PLANETA. jajajaja.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xImage doubt
Posted: Mon Nov 18, 2024 03:36 PM
Origen, by master Nages:

https://forums.fivetechsoft.com/viewtopic.php?t=36135

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: xImage doubt
Posted: Tue Nov 19, 2024 05:43 AM
hi,
karinha wrote:I don't understand Jimmy, what you're asking, is it in PELLESC.exe? In WORKSHOP.exe, you don't need this. WORKSHOP.exe is first line. The best RESOURCE EDITOR on the PLANET.
NO i do NOT have a Resource Editor, I´m using only Fivewin.
But i Have never work with REDEFINE and *.RC before, so i have to learn it.
greeting,

Jimmy
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xImage doubt
Posted: Tue Nov 19, 2024 12:14 PM
Good morning Jimmy, without a doubt, WORKSHOP.exe from BORLAND is the simplest and easiest to use. Even though it is 16 bits, there is an emulator so you can run it in 64 bits. Look here: use Google translate.

https://fivewin.com.br/index.php?/topic/30233-contribui%C3%A7%C3%A3o-workshop-rodar-em-windows-64-bits/#comment-291687

https://github.com/otya128/winevdm/releases

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: xImage doubt
Posted: Wed Nov 20, 2024 10:04 AM
hi,
karinha wrote:WORKSHOP.exe from BORLAND is the simplest and easiest to use.
my Problem is that i don´t have WORKSHOP.EXE so i can´t use it.
greeting,

Jimmy
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xImage doubt
Posted: Wed Nov 20, 2024 01:37 PM
Jimmy wrote:hi,
WORKSHOP.exe from BORLAND is the simplest and easiest to use.
my Problem is that i don´t have WORKSHOP.EXE so i can´t use it.
What do you mean you don't have WORKSHOP.exe? The best resource editor in the world?

¿Qué quieres decir con que no tienes WORKSHOP.exe? ¿El mejor editor de recursos del mundo?

Download WORKSHOP.exe 16 bits:

https://mega.nz/file/4dVF3ALB#OBUkXoLwMW-GPPGuwlIxPfnBTjh3IzUZZWCM2ksEbZM

Download WORKSHOP.exe 32 bits:

https://mega.nz/file/hEtlnQoZ#lUKQlfgyMBBoIOe7mDuxIk_zbwFSoHrzsSWOCaql74U

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: xImage doubt
Posted: Thu Nov 21, 2024 10:35 AM
hi,
thx for the link to download WORKSHOP32.RAR :D

i have look inside and have read README.TXT and INSTALL.TXT but confused what to do.

as it are Files for Borland C++ 5.02 i do not understand how to handle it.
it seems Workshop Resource Editor is include in IDE so how to start IDE ?

i have read about Registry Setting for Borland C++ 5.02.
do i need to change them and SET them for BCC 7 ?

sorry for those Dummy Question, but i never have work this Way before :roll:
greeting,

Jimmy