Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Plotting graph in Visual FoxPro v5.0
Message
 
To
10/12/1998 11:05:47
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00165955
Message ID:
00166121
Views:
17
Thanks for posting this Cetin. I've been pondering MSGraph and using Excel like this seems to be better.

How would I go about displaying this graph in VFP? I could do ox.Visible=.T. but it would look cleaner to display it directly in my VFP app. TIA

>>>The best solution IMHO is to use Excel and control it through Automation.
>>
>>We've been doing graphs through MSGraph, and it works, but there seems to be no way to print it from VFP without going through the rigamarol of putting it on a report. Would Excel work better for this? Is there any docs on doing this?
>>
>>Thanks,
>>
>>-Michelle
>Michelle,
>Also MSGraph working good, if especially you change charttype on the fly it needs to be updated (ie: first print preview and mimic mouse click on preview). Excel working better and doesn't need a report :)
* Part of xlChartType constants
>#define xl3DArea 					-4098
>#define xl3DColumn					-4100
>#define xl3DLine					-4101
>#define xl3DPie						-4102
>#define xlArea						1
>#define xlBubble3DEffect			87
>#define xlLine						4
>#define xlPie						5
>#define xlRadar						-4151
>#define xlSurface					83
>
>*** set the LOCALEID to English
>nlLocaleId=sys(3004)		&& Save local id
>=sys(3006,1033)			&& We will be sending instructions in English
>ox = crea('excel.application')
>ox.workbooks.add()
>with ox.activeworkbook.worksheets(1)
>	.Cells(1,1).Value = "NumProd1"
>	.Cells(1,2).Value = "AMount"
>	.Cells(1,3).value = "Quota"
>	.Cells(2,1).Value = 113
>	.Cells(2,2).Value = 12000
>	.Cells(2,3).value = 23
>	.Cells(3,1).Value = 254
>	.Cells(3,2).Value = 45000
>	.Cells(3,3).value = 24
>	.Cells(4,1).Value = 165
>	.Cells(4,2).Value = 37000
>	.Cells(4,3).value = 42
>	ox.charts.add()
>	ox.charts(1).chartwizard(.range(.cells(1,1),.cells(4,3)),xl3DColumn,4,1,0,1,1,"","","","")
>endwith
>with ox.charts(1)
>	.hastitle = .t.
>	.haslegend = .t.
>	.ChartTitle.caption = "This is chart title"
>	.ChartType=xl3DArea  && Set a charttype
>	.plotby = 2
>	* Now play with chart format
>		#define xlCategory		1
>		#define xlValue			2
>		#define xlSeriesAxis	3
>		With .Axes(xlValue)
>		    .HasTitle = .T.
>		    with .AxisTitle
>			    .Caption = "This is Rotated Value title"
>			    .Font.Size = 10
>			    .Font.Bold = .f.
>			    .Orientation = 90 && 90 degrees rotated title
>		    endwith
>    	EndWith
>    	.charttype = xl3DLine  && Change charttype in between
>    	.PrintOut   && Print chart
>endwith
>oX.activeworkbook.saved = .t. && Suppress save dialog
>oX.quit      && Quit excel
>=sys(3006,val(nlLocaleId))
Cetin
Colin Magee
Team Leader, Systems Development
Metroland Media Group Ltd.
Mississauga, Ontario, Canada

cmagee@metroland.com

Never mistake having a career with having a life.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform