1

Konu: Raporlarda Resim Kullanımı

Herkeze merhaba,

Ben raporlarımda logo göstermek için raporun üst tarafına bir Ole bound control ekledim, program içinde bir dosyaya generel field ekliyorum ve onun içine Logo'yu yerleştiririyorum. Bazı bilgisayarlarda herhangi bir sorun olmuyor, ancak bazı bilgisayarlarda resim boyutu ayarlanmıyor ve resmin altında resmin adı yazıyor.
Aynı sorunu Generel field içine baktığımdada yaşıyorum.
Bunu nasıl çözebilirim bir fikri olan varmı ?

General field içine aşağıdaki şekilde ekliyorum.

Visual Fox Pro
APPEND GENERAL fResim FROM "c:\logo.bmp" CLASS "PBRUSH"

Teşekkürler

2

Re: Raporlarda Resim Kullanımı

General field kullanma:) OleBound/picture kontrolunu yine koy. File: yerine eger biliyorsan:
c:\logo.bmp
yaz. Bilmiyorsan ve bir fieldden gelecekse (mesela ImagePath):
(ImagePath)
yaz.

Onu tablonda saklayip gerektiginde kullanmak icin soyle birsey yapabilirsin:

create table UserLogo (logo m nocptrans)
insert into UserLogo values ( filetostr("c:\logo.bmp") )

report icin
thisform.Addproperty("cBMP", forcepath( sys(2015)+'.bmp', sys(2023))
StrToFile( UserLogo.logo, thisform.cBMP )

Reportda file:
(thisform.cBMP)

3

Re: Raporlarda Resim Kullanımı

Teşekkürler,

(ImagePath)  ile sorunu çözdüm.

4

Re: Raporlarda Resim Kullanımı

sayın basöz blob veri tipi içine resim ekleyip gerektiğinde formda nasıl gösterilebilir acaba? daha önce bir örnek vermiştiniz yanılmıyorsam. bu şekilde bir algoritma varsa rica edebilir miyim?
1-dosyadan blob veri tipi içine resim depolayacak. gerektiğinde formda gösterecek.
2-mschart ile oluşturulan activex olecontrol grafiği blob içine aktarılacak ve gerektiğinde form ya da
raporda gösterilebilecek.(bundaki amaç belirli periyotlarda oluşturulan grafikleri raporlara eklemek) şimdiden teşekkürler.

5

Re: Raporlarda Resim Kullanımı

cetinyasar yazdı:

Herkeze merhaba,

Ben raporlarımda logo göstermek için raporun üst tarafına bir Ole bound control ekledim, program içinde bir dosyaya generel field ekliyorum ve onun içine Logo'yu yerleştiririyorum. Bazı bilgisayarlarda herhangi bir sorun olmuyor, ancak bazı bilgisayarlarda resim boyutu ayarlanmıyor ve resmin altında resmin adı yazıyor.
Aynı sorunu Generel field içine baktığımdada yaşıyorum.
Bunu nasıl çözebilirim bir fikri olan varmı ?

General field içine aşağıdaki şekilde ekliyorum.

Visual Fox Pro
APPEND GENERAL fResim FROM "c:\logo.bmp" CLASS "PBRUSH"

Teşekkürler


bende buna benzer sorunla karşılaşmıştım. resimleri göstermek yerine resmin adını ve uzantısını yazıyordu. Bunun için registry de HKEY_CLASSES_ROOT\.jpg\jpegfile varsayılana paint.picture yazdımda resmi gösteriyor

6

Re: Raporlarda Resim Kullanımı

Ercan,
Image'in pictureval degerini kullanabilrisin.

MSchart icin komple bir ornek gondermistim. Ya burada, ya UTde veya MS forumlarda. Bulursam tekrar gonderirim, gercek kodlarimin icinden ayiklamasi dert oluyor.

7

Re: Raporlarda Resim Kullanımı

bekliyorum şimdiden çok teşekkürler.
uzun zamandır düşünüyordum nasıl çözebilirim diye. özellikle grafiğin(activex olecontrol) ya da resmin dbf dosyasında saklanması benim için çok önemli.

8 Son düzenleyen, foxman (09.03.2007 13:51:56)

Re: Raporlarda Resim Kullanımı

Grafik için OWCCHART isminde bir office componenti var. Ben yaklaşık 150 sayfalık bir raporda her sayfaya ayrı değerler içeren grafikler getirmek için kullandım. Aşağıda basitçe dataların chart'ını hazırlayıp gif olarak save eden bir örnek var. Makinede Office yüklü değilse microsoft'un sitesinde owc10_tur.exe, owc11_eng.exe gibi isimlerle bulunuyor download edebilirsiniz.

Visual Fox Pro
CREATE CURSOR chartdata (desc c(25),unit n(8),total n(8),percent n(8,4))

 
INSERT INTO chartdata (desc,unit,total,percent) VALUES ("Maria Anders",15637,53450,29.2554)
INSERT INTO chartdata (desc,unit,total,percent) VALUES ("Ana Trujillo",11361,53450,21.2554)
INSERT INTO chartdata (desc,unit,total,percent) VALUES ("Elizabeth Lincoln",9292,53450,17.3845)
INSERT INTO chartdata (desc,unit,total,percent) VALUES ("Aria Cruz",9157,53450,17.1319)
INSERT INTO chartdata (desc,unit,total,percent) VALUES ("Pedro Afonso",8003,53450,14.9729)
 
Select chartdata
GO TOP
Dimension laLabels(Reccount("chartdata"))
Dimension laData(Reccount("chartdata"))
 
Scan
    laLabels(Recno()) = Transform(chartdata.percent,"##.##")+"% "+chartdata.Desc
    laData(Recno())   = chartdata.percent
Endscan
 
loChartSpace = Createobject("OWC11.ChartSpace")
oConst = loChartSpace.Constants
Public loGraph
loGraph = loChartSpace.Charts.Add()
*loGraph.Type = 1
loGraph.Type = 59
 
loGraph.HasLegend = .T.
loGraph.PlotArea.Interior.Color = "LightYellow"
 
loChartSpace.HasChartSpaceTitle = .T.
loChartSpace.ChartSpaceTitle.Caption = "PERCENTAGE OF UNITS SALES PER EMPLOYEE"
loChartSpace.ChartSpaceTitle.Font.Bold = .T.
 
For i=1 To (Reccount("chartdata"))
    loGraph.SeriesCollection.Add()
    loGraph.SeriesCollection(i-1).Caption = laLabels(i)
Endfor
loGraph.SeriesCollection(0).SetData(oConst.chDimCategories, oConst.chDataLiteral, @laLabels)
loGraph.SeriesCollection(0).SetData(oConst.chDimValues, oConst.chDataLiteral, @laData)
 
lcFile="owcchart.gif"
loChartSpace.ExportPicture(lcFile,"gif",640,430)
 
Use In chartdata

9 Son düzenleyen, ercan (09.03.2007 21:51:57)

Re: Raporlarda Resim Kullanımı

benim amacım mschart tan direk blob veri tipine veri aktarmak ve istendiğinde image olarak from ya da raporda göstermek. filetostr ile resmi dbf nin blob veri tipi olarak kaydedip formda image olarak göstermeyi başardım.sıra mschartı blob veri tipine aktarmakta.

10

Re: Raporlarda Resim Kullanımı

UTye yazmisim:)

Visual Fox Pro
Local oCharter

oCharter=Createobject('charter')
Select myReportCursor
scan
*oCharter.DrawChartFromCursor(..labelColumn,datacolumn params....)
    oCharter.Copy2Clipboard()
    lcGraphFile = Forcepath(Sys(2015)+".bmp", Sys(2023))
    if ClipBoard2BMP(m.lcGraphFile)
      replace GraphFile with m.lcGraphFile
        endif
EndScan
 
Procedure ClipBoard2BMP
Lparameters tcFileName
Local llResult,lcFileName
*
* Predefined Clipboard Formats
*
#Define CF_DIB              8
 
Declare short IsClipboardFormatAvailable In win32api Integer cbformat
Declare Integer GetClipboardData In win32api Integer uFormat
Declare Integer OpenClipboard In win32Api Integer hWndNewOwner
Declare Integer CloseClipboard In win32Api
Declare Integer SaveDIB In DibAPI32.Dll Integer hBitmap, String @ cFileName
Declare Integer GetSystemPalette In DibAPI32.Dll
Declare Integer GetActiveWindow In win32Api
 
lcFileName = Fullpath(Iif(Empty(m.tcFileName),;
    PUTFILE("Save as Bitmap", 'FromClipBoard', "BMP"), ;
    m.tcFileName))
If !Empty(m.lcFileName) and ( IsClipboardFormatAvailable(CF_DIB) # 0 )
    IF ( OpenClipboard(GetActiveWindow()) != 0 )
        llResult = ( SaveDIB(GetClipboardData( CF_DIB ), @lcFileName) = 0)
        CloseClipboard()
    endif
Endif
Return m.llResult
 
*Charter::Copy2Clipboard()
Procedure Copy2Clipboard
    With This.Chart
        *!* Select Chart Part 1
        .SelectPart(1,1,1,1,1) && VtChPartTypePlot, index1, index2, index3, index4)
        *!*    Copy the chart to the clipboard in Windows Metafile format.
        .EditCopy
    Endwith
Endproc

dibapi32.dll MS un yayinladigi dosyalardan birisi. Galiba helpde wincap diye geciyordu. Burada BMP olarak dosyaya saklaniyor. Ama BLOB icin hic oraya saklamadan fielde de koyabilirsin. dbiapi32 dokumanina bak.

11

Re: Raporlarda Resim Kullanımı

tidestone firmasının  first impression adında bir programı var. bu program methodunun birinde grafiğin direk resim formatında saklanmasına olanak veriyor. o şekilde çözdüm. yardımcı olan herkese teşekkür ederim.