English
Source / code snippets

create graphic Tortendiagramm

 

CompileMarkSeparation
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
 
07/15/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

1.851 Views

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie