Hallo zusammen,
folgendes Problem wird noch auf mich zukommen. Hat jemand schon mal
ein Diagramm also x,y-Kurve mit xbase programmiert. ?
Die Daten hierzu habe ich schon zusammengetragen. Ich könnte natürlich
die Daten im CSV-Format abspeichern. Excel-starten und der User macht
dies dann selber. Aber ob das der richtige / elegante?? Weg ist??
Diagramm
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Rolf,
entweder Du nutzt das kostenfreie RMChart, oder in der Alaska-GUI-Newsgroup gibt es mehrere Beispiele - ich glaube, auch bei James Loughner auf der Seite findest Du eine Klasse...
Viele Grüße,
Martin
entweder Du nutzt das kostenfreie RMChart, oder in der Alaska-GUI-Newsgroup gibt es mehrere Beispiele - ich glaube, auch bei James Loughner auf der Seite findest Du eine Klasse...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14658
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Rolf,
man kann das halbwegs einfach über Xbase++ pur machen. Da gibt es ja auch Beispiele auf der Installations-CD.
Eine recht gute Lösung scheint mir aber hier zu sein
Integration von RMChart in xBase++
Die Diskussion ist zwar zwischendurch mal etwas abgeglitten, aber insgesamt fand ich das, was ich damit ausprobiert hatte, recht ansprechend.
Jan
man kann das halbwegs einfach über Xbase++ pur machen. Da gibt es ja auch Beispiele auf der Installations-CD.
Eine recht gute Lösung scheint mir aber hier zu sein
Integration von RMChart in xBase++
Die Diskussion ist zwar zwischendurch mal etwas abgeglitten, aber insgesamt fand ich das, was ich damit ausprobiert hatte, recht ansprechend.
Jan
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Diagramm
hi,
um ein x,y Diagramm geht kannst du einfach GRALINE & GRAMARKER
nehmen um ein x,y Diagramm zu erstellen.
gruss by OHR
Jimmy
kommt drauf an "wie schön" du es haben willst. Wenn es wirklich "nur"Rolf Ramacher hat geschrieben: folgendes Problem wird noch auf mich zukommen. Hat jemand schon mal
ein Diagramm also x,y-Kurve mit xbase programmiert. ?
um ein x,y Diagramm geht kannst du einfach GRALINE & GRAMARKER
nehmen um ein x,y Diagramm zu erstellen.
gruss by OHR
Jimmy
Code: Alles auswählen
#include "Gra.ch"
MEMVAR zUNRSUM,lock_dauer,nMaxRow,nMaxCol,b_type3
PROCEDURE UMSGRAPH
LOCAL aPoints := {}
LOCAL old_sele := SELECT()
LOCAL nXfaktor := INT(setAppwindow():currentSize()[1]/13)
LOCAL nTextPos := nXfaktor*12
LOCAL c1,c2,d1,d2
LOCAL i,iMax,j,cText
LOCAL GETLIST := {}
SELECT 13
IF USE2LOCK(zUNRSUM,.F.,lock_dauer)
ELSE
F_MELDUNG(21,zUNRSUM+" konnte nicht geöffnet werden")
SELECT(old_sele)
RETURN
ENDIF
GO TOP
c1 := UNRSUM->ULJAHR
d1 := UNRSUM->ULMONAT
GO BOTTOM
c2 := UNRSUM->ULJAHR
d2 := UNRSUM->ULMONAT
S_HELL()
CLS
@ nMaxRow-2,00,nMaxRow,nMaxCol BOX b_type3
@ nMaxRow-1,20 SAY "von Jahr-Monat "
@ nMaxRow-1,39 SAY "-"
@ nMaxRow-1,43 SAY " bis "
@ nMaxRow-1,53 SAY "-"
SET INTE ON
@ nMaxRow-1,35 GET c1 PICTURE "9999"
@ nMaxRow-1,40 GET d1 PICTURE "99"
@ nMaxRow-1,49 GET c2 PICTURE "9999"
@ nMaxRow-1,54 GET d2 PICTURE "99"
SET INTE ON
READ
SET INTE OFF
CLEAR GETS
GO TOP
LOCATE FOR UNRSUM->ULJAHR = c1 .AND. UNRSUM->ULMONAT >= d1
DO WHILE !EOF()
AADD(aPoints,{VAL(UNRSUM->ULMONAT)*nXfaktor,INT(UNRSUM->ULUMSSATZ/2000),UNRSUM->ULJAHR})
IF ( UNRSUM->ULJAHR = c2 .AND. UNRSUM->ULMONAT = d2 )
EXIT
ENDIF
SKIP
ENDDO
CLOSE
SELECT(old_sele)
CLS
GraSetColor( NIL,1)
FOR i:=1 TO 15
GraLine( ,{nXfaktor,i*25} , {nTextPos,i*25} )
cText := STR(50*i,3)+"K"
GraStringAt( , {nTextPos+1,i*25},cText)
NEXT
i:=0
FOR i:=1 TO 12
cText := "01."+STRZERO(i,2)+"."+STR(YEAR(DATE()))
cText := CTOD(cText)
cText := SUBSTR(CMonth(cText),1,3)
GraStringAt( , {i*nXfaktor,0},cText)
NEXT
iMax := LEN(aPoints)
* graSpline( NIL, aPoints, .F. ) // Spline zeichnen
i:=0
FOR i:=1 TO iMax
GraSetColor( NIL,INT(i/12)+1)
cText := aPoints[i][3]
GraStringAt( NIL, {0, aPoints[i][2]},cText)
GraMarker( NIL, aPoints[i] ) // Ersten Punkt markieren
j:=0
FOR j:=1 TO 11 // ▄brige Punkte markieren
GraLine( , , aPoints[i+j] ) // und mit Linien verbinden
GraMarker( , aPoints[i+j] )
IF i+j >= iMax
EXIT
ENDIF
NEXT
i:= i+11
IF i >= iMax
EXIT
ENDIF
NEXT
CENTER(05,"Firma Yiu Gmbh "+c1+" - "+c2)
CENTER(01,"weiter mit Taste ...")
Inkey(30) // Warten auf Tastendruck
RETURN
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Rolf,
Balkendiagramme und andere Spielereien habe ich schon direkt mit Xbase++ Programmiert. SIN() und COS() findet man auch in der Wissensbasis, damit lassen sich Kreise realisieren.
Aber das ist recht mühsam.
Ich kann nur RM-Chart empfehlen. Dieses kann man über ActiveX oder meine HB_RM-CHART Klasse als DLL integrieren. Der Link von oben ist nur einer von mehreren. Ich habe einmal eine Zusammenfassung geschrieben:
http://www.xbaseforum.de/viewtopic.php?t=542
und hier (3d-Party ...) liegt meine kostenlose Klasse die direkt auf die
DLL geht:
http://www.xbaseforum.de/viewtopic.php?t=542
RM CHart ist sehr mächtig und sieht wirklich hübsch aus.
Da kann man mit XBase++ Bordmitteln nicht mehr mithalten.
Balkendiagramme und andere Spielereien habe ich schon direkt mit Xbase++ Programmiert. SIN() und COS() findet man auch in der Wissensbasis, damit lassen sich Kreise realisieren.
Aber das ist recht mühsam.
Ich kann nur RM-Chart empfehlen. Dieses kann man über ActiveX oder meine HB_RM-CHART Klasse als DLL integrieren. Der Link von oben ist nur einer von mehreren. Ich habe einmal eine Zusammenfassung geschrieben:
http://www.xbaseforum.de/viewtopic.php?t=542
und hier (3d-Party ...) liegt meine kostenlose Klasse die direkt auf die
DLL geht:
http://www.xbaseforum.de/viewtopic.php?t=542
RM CHart ist sehr mächtig und sieht wirklich hübsch aus.
Da kann man mit XBase++ Bordmitteln nicht mehr mithalten.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Rolf,
Viele Grüße,
Martin
Beispiele dafür sind (beizeiten) auch auf der DevCon-Seite zu sehen - ich habe RMChart dort ein wenig integriertbrandelh hat geschrieben:RM CHart ist sehr mächtig und sieht wirklich hübsch aus.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.