xImage doubt

xImage doubt

Postby wartiaga » Sun Nov 17, 2024 5: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 )
wartiaga
 
Posts: 212
Joined: Wed May 25, 2016 1:04 am

Re: xImage doubt

Postby nageswaragunupudi » Mon Nov 18, 2024 4:05 am

Suggested way to link xbrowse and ximage:

Code: Select all  Expand view  RUN
#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


Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10690
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: xImage doubt

Postby nageswaragunupudi » Mon Nov 18, 2024 5:15 am

There is another simpler way to display images like above, without using XImage at all.
This is a sample.

Code: Select all  Expand view  RUN
#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


Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10690
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: xImage doubt

Postby wartiaga » Mon Nov 18, 2024 1:13 pm

nageswaragunupudi wrote:Suggested way to link xbrowse and ximage:

Code: Select all  Expand view  RUN
#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


Image


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?
wartiaga
 
Posts: 212
Joined: Wed May 25, 2016 1:04 am

Re: xImage doubt

Postby karinha » Mon Nov 18, 2024 2:05 pm

Code: Select all  Expand view  RUN

// 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
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: xImage doubt

Postby Jimmy » Mon Nov 18, 2024 2:59 pm

hi,

why do i need to #define all Constant in *.RC
Code: Select all  Expand view  RUN
#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
User avatar
Jimmy
 
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: xImage doubt

Postby alerchster » Mon Nov 18, 2024 3:18 pm

in front of your rc-file
Code: Select all  Expand view  RUN
#include "..\include\WinApi.ch"
Regards

Ing. Anton Lerchster
User avatar
alerchster
 
Posts: 95
Joined: Mon Oct 22, 2012 4:43 pm

Re: xImage doubt

Postby Jimmy » Mon Nov 18, 2024 3:29 pm

hi,
alerchster wrote:in front of your rc-file
Code: Select all  Expand view  RUN
#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
User avatar
Jimmy
 
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: xImage doubt

Postby karinha » Mon Nov 18, 2024 3:31 pm

Jimmy wrote:hi,

why do i need to #define all Constant in *.RC
Code: Select all  Expand view  RUN
#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
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: xImage doubt

Postby karinha » Mon Nov 18, 2024 3: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
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: xImage doubt

Postby Jimmy » Tue Nov 19, 2024 5: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
User avatar
Jimmy
 
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: xImage doubt

Postby karinha » 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
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: xImage doubt

Postby Jimmy » 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
User avatar
Jimmy
 
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: xImage doubt

Postby karinha » Wed Nov 20, 2024 1:37 pm

Jimmy wrote: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.


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
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: xImage doubt

Postby Jimmy » 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
User avatar
Jimmy
 
Posts: 1733
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 88 guests