Français
Source/ Codesnippets

Erstellen Grafik Tortendiagramm

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Grafik: Tortendiagramm erstellen
Von Timo Schnitzer
Befehle : Init,Erstelle,UseGFont,Zeige,Deinit
UseGFont:
1. Par              : FontName
2. Par              : Zeichenhöhe
3. Par              : Zeichenbreite
4. Par              : Fett?
5. Par              : Kursiv?
6. Par              : Unterstrichen?
Init:
1. Par - 4. Par     : Ort und Länge des Rechtecks, in dem das Tortendiagramm gezeichnet wird
5. Par              : Tiefe des Tortendiagramms
6. Par              : Beginn der Zählung (in Prozent)
7. Par              : Neigung (in Prozent)
8. Par              : Ein evt. Rand der um das Diagramm gezeichnet wird
Erstelle:
1. Par              : Größe des Tortenstücks (in Prozent)
2. Par              : Farbe des Tortenstücks
3. Par              : Schrift im Tortenstück
Zeige:
1. Par              : Handle des Fenster auf dem gezeichnet werden soll
2. Par              : KopierModus
Deinit:
0  Par
Dieses Demo zeigt zu fast jeder Funktion eine Anwendungsmöglickeit
declare Button&,T1$,T2$,T3$,T4$,T%,T2%,T3%
 $I Grafik.inc
WindowTitle Tortendiagramme mit der der Grafik.inc von Timo Schnitzer
WindowStyle 528
Window 0,0 - 600,400
Button& = Create(Button,%HWnd,Ende,Width(%HWnd) - 60,10,50,25)
USEGFONT Courier,18,7,1,1,1
T1$ = Das
T2$ = ist
T3$ = ein
T4$ = Tor-
ten-
dia-
gramm
!!!
T%  = 9 + Len(T4$)

Whileloop T%

    Case (&Loop = 3) OR (&Loop = 6) OR (&Loop = 9)                            : T3% = 1
    Case (&Loop = (14)) OR (&Loop = (20)) OR (&Loop = (26)) OR (&Loop = (33)) : T2% = 1
    Casenot Val(SubStr$(Left$($ProfVer,2),1,.)) > 8 : Clear T2% vor Version 9 -> Len(
    ) = 1 ||| Version 9 u. höher -> Len(
    ) = 2
    INIT Tortendiagramm,70,30,300,300,170,0,0,0
    ERSTELLE 50/3,Rgb(0,255,0),Mid$(T1$,1,&Loop)
    ERSTELLE 50/3,Rgb(255,0,0),Mid$(T2$,1,&Loop - 3)
    ERSTELLE 50/3,Rgb(0,255,255),Mid$(T3$,1,&Loop - 6)
    ERSTELLE 50,Rgb(255,255,0),Mid$(T4$,1,&Loop - 9 - T2%)
    ZEIGE %HWnd,0
    DEINIT
    Sleep 400 - T2% * 400 + T3% * 400
    Clear T2%,T3%
    Case GetFocus(Button&) : end

Wend

USEGFONT Arial,18,7,0,0,0
Sleep 5000
Cls

Whileloop 200

    INIT Tortendiagramm,70,30,300,300,170,&Loop/2,40,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 25

    INIT Tortendiagramm,70,30,300,300,170,0,40,0
    ERSTELLE 40            ,Rgb(0,255,0),Grün
    ERSTELLE 15 - &Loop / 5,Rgb((25 - &Loop) * 25,&Loop * 25,0),Rot->
    Grün
    ERSTELLE 10 + &Loop / 5,Rgb(0,255,255),Türkis
    ERSTELLE 05            ,Rgb(192,192,192),Grau
    ERSTELLE 20 - &Loop / 5,Rgb(255,255,0),Gelb
    ERSTELLE 10 + &Loop / 5,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 25

    INIT Tortendiagramm,70,30,300,300,170,0,40,0
    ERSTELLE 40                   ,Rgb(0,255,0),Grün
    ERSTELLE 15 - (25 - &Loop) / 5,Rgb(&Loop * 25,(25 - &Loop) * 25,0),Grün->
    Rot
    ERSTELLE 10 + (25 - &Loop) / 5,Rgb(0,255,255),Türkis
    ERSTELLE 05                   ,Rgb(192,192,192),Grau
    ERSTELLE 20 - (25 - &Loop) / 5,Rgb(255,255,0),Gelb
    ERSTELLE 10 + (25 - &Loop) / 5,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 100

    INIT Tortendiagramm,70,30,300,300,170 + &Loop * 6 / 4,&Loop,40,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 40,0,-1

    INIT Tortendiagramm,70,30,300,300,170 + &Loop * 15 / 4,0,40,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 12

    INIT Tortendiagramm,70,30,300,300,170,0,40 + &Loop * 5,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 50

    INIT Tortendiagramm,70,30,300,300,170,0,100 - &Loop * 2,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

Whileloop 4

    INIT Tortendiagramm,70,30,300,300,170,0,0 + &Loop * 5,0
    ERSTELLE 40,Rgb(0,255,0),Grün
    ERSTELLE 15,Rgb(255,0,0),Rot
    ERSTELLE 10,Rgb(0,255,255),Türkis
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255,0),Gelb
    ERSTELLE 10,Rgb(255,0,255),Lila
    ZEIGE %HWnd,0
    DEINIT
    Case GetFocus(Button&) : end

Wend

declare H1%,I1%,H2%,I2%
Clear T%
Clear T2%
T%  = 0
T2% = 5
H1% = 10
H2% = 60
I1% = 10
I2% = 20

Whilenot GetFocus(Button&)

    Add T%,T2%
    Add H2%,H1%
    Add I2%,I1%
    INIT Tortendiagramm,H2%,I2%,300,300,170,T% * (100/85),20 + T% / 1.5,10
    ERSTELLE 40,Rgb(0,255,T% * 3),Grün
    ERSTELLE 15,Rgb(255,T% * 1,0),Rot
    ERSTELLE 10,Rgb(355 - T% * 3,255 - T% * 2,254 - T% * 1),Weiß  254 Wegen Transparenz
    ERSTELLE 05,Rgb(192,192,192),Grau
    ERSTELLE 20,Rgb(255,255 - T% * 2,0),Gelb
    ERSTELLE 10,Rgb(255,T% * 3,254),Lila  254 Wegen Transparenz
    ZEIGE %HWnd,-1  Mit Profan leider etwas langsam
    DEINIT
    Case H2% > 600 - 320   : H1% = -10
    Case H2% < 0           : H1% = 10
    Case I2% > 400 - 310   : I1% = -10
    Case I2% < -50         : I1% = 10
    Case T%  > 84          : T2% = -5
    Case T%  < 1           : T2% = 5

Wend

SetWindowPos Button& = %Maxx,0 - 0,0
T2% = T%
T%  = 0
INIT Tortendiagramm,H2%,I2%,300,300,170,T2% * (100/85),20 + T2% / 1.5,0
ERSTELLE 40,Rgb(0,255,T% * 3),Grün
ERSTELLE 15,Rgb(255,T% * 1,0),Rot
ERSTELLE 10,Rgb(355 - T% * 3,255 - T% * 2,254 - T% * 1),Weiß
ERSTELLE 05,Rgb(192,192,192),Grau
ERSTELLE 20,Rgb(255,255 - T% * 2,0),Gelb
ERSTELLE 10,Rgb(255,T% * 3,2554),Lila
ZEIGE %HWnd,-1
DEINIT
Sleep 1000
T% = T2%
INIT Tortendiagramm,H2%,I2%,300,300,170,T2% * (100/85),20 + T2% / 1.5,0
ERSTELLE 40,Rgb(0,255,T% * 3),Grün
ERSTELLE 15,Rgb(255,T% * 1,0),Rot
ERSTELLE 10,Rgb(355 - T% * 3,255 - T% * 2,254 - T% * 1),Weiß
ERSTELLE 05,Rgb(192,192,192),Grau
ERSTELLE 20,Rgb(255,255 - T% * 2,0),Gelb
ERSTELLE 10,Rgb(255,T% * 3,254),Lila
ZEIGE %HWnd,-1
DEINIT
Sleep 1000
T% = 0
INIT Tortendiagramm,H2%,I2%,300,300,170,T2% * (100/85),20 + T2% / 1.5,0
ERSTELLE 40,Rgb(0,255,T% * 3),Grün
ERSTELLE 15,Rgb(255,T% * 1,0),Rot
ERSTELLE 10,Rgb(355 - T% * 3,254 - T% * 2,255 - T% * 1),Weiß
ERSTELLE 05,Rgb(192,192,192),Grau
ERSTELLE 20,Rgb(255,255 - T% * 2,0),Gelb
ERSTELLE 10,Rgb(255,T% * 3,254),Lila
ZEIGE %HWnd,-s2>1
DEINIT
Sleep 1000
end
 
15.07.2007  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.859 Views

Untitledvor 0 min.
H.Brill23.09.2024
Torben Nissen01.07.2021
Normann Strübli31.03.2020
Peter Max Müller30.05.2015
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie