Italia
Fonte/ Codesnippets

Erstellen Tortendiagramm

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
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 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.622 Views

Untitledvor 0 min.
H.Brill23.09.2024
KFU17.08.2013

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie