Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Plotting graph in Visual FoxPro v5.0
Message
De
10/12/1998 11:05:47
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00165955
Message ID:
00166097
Vues:
23
>>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
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform