Français
Forum

Formatieren de Textenausgaben

 

KHR
allô miteinander

je hab la fois angefangen avec XProfan10 un prgramm trop écrivons, le moi gern zur travail nutzen voudrais.

Mittlerweile fonctionne un großer partie très bien mais avec den ersten Erweiterungen suis je assez uns trudeln geraten.

ici comme Beispiel ein´Tool, le moi trop benutzen gedenke:
KompilierenMarqueSéparation
proc Durchsatzkalkulator

    Declare titel$, EditDialog%, ok%, cancel%,EditDialogEnde%
    Declare Edit1&,Edit2&,Edit3&,Edit4&,Edit5&,Edit6&,Edit7&
    titel$ = Durchsatzkalkulator für Freifall
    EditDialog%= @Create(Dialog,%HWnd,Titel$,130,90,600,450)
    startpaint EditDialog%
    cls Farbe_Grau%
    TextColor Farbe_Schwarz%, Farbe_grau%
    UseFont Arial,17,0,1,0,0
    drawtext  20, 19,Maximaldurchsatz
    drawtext 260, 19,t/h
    drawtext  20, 44,Nominaldurchsatz
    drawtext 260, 44,t/h
    drawtext  20, 69,Schüttgewicht
    drawtext 260, 69,g/l
    drawtext  20, 94,Rohrdurchmesser
    drawtext 260, 94,t/h
    drawtext  20,119,Fallhöhe
    drawtext 260,119,m
    drawtext  20,144,Fixgeschwindigkeit
    drawtext 260,144,m/s
    OK%      = @Create(Button, EditDialog%,&Berechnen ,  20, 350, 80,30)
    CANCEL%  = @Create(Button, EditDialog%,&Ende      , 200, 350, 80,30)
    @SetFocus(edit1&)
    EditDialogEnde% = 0
    NewStyle& = ~BS_RIGHT | ~BS_VCENTER
    @Set(NumWidth,4)
    @Set(Decimals,3)
    Edit1&  = @Create(Edit,EditDialog%, @str$(D_calc_Max_Durchsatz!)  , 170 , 15 , 80 , 20)
    Edit2&  = @Create(Edit,EditDialog%, @str$(D_calc_Nom_Durchsatz!)  , 170 , 40 , 80 , 20)
    @Set(NumWidth,2)
    @Set(Decimals,0)
    Edit3&  = @Create(Edit,EditDialog%, @str$(d_calc_Schuettgewicht&) , 170 , 65 , 80 , 20)
    Edit4&  = @Create(Edit,EditDialog%, @str$(D_calc_Durchmesser&)    , 170 , 90 , 80 , 20)
    @Set(Decimals,1)
    Edit5&  = @Create(Edit,EditDialog%, @str$(D_calc_Fallhoehe!)      , 170 ,115 , 80 , 20)
    Edit6&  = @Create(Edit,EditDialog%, @str$(D_calc_Fixgeschw!)      , 170 ,140 , 80 , 20)

    WhileNot EditDialogEnde%

        WaitInput
        Case @Clicked(CANCEL%):EditDialogEnde% = 1

        If @Clicked(OK%)

            TextColor Farbe_Schwarz%, Farbe_grau%
            UseFont Arial,17,0,1,0,0
            D_calc_Max_Durchsatz!   = @val(@GetText$(Edit1&))
            D_calc_Nom_Durchsatz!   = @val(@GetText$(Edit2&))
            d_calc_Schuettgewicht&  = @val(@GetText$(Edit3&))
            D_calc_Durchmesser&     = @val(@GetText$(Edit4&))
            D_calc_Fallhoehe!       = @val(@GetText$(Edit5&))
            D_calc_Fixgeschw!       = @val(@GetText$(Edit6&))
            d_calc_Fallgeschwindigkeit! = 2*9.80665*D_calc_Fallhoehe!
            d_calc_Fallgeschwindigkeit! = @sqrt(d_calc_Fallgeschwindigkeit!)
            d_calc_rohrflaeche!  = ((D_calc_Durchmesser&/1000 /2) ^2 )*@pi()
            d_calc_Max_fuellung!   = D_calc_Max_Durchsatz! * 9.80665
            d_calc_Max_fuellung!   = d_calc_Max_fuellung!  / (d_calc_Fallgeschwindigkeit!* d_calc_rohrflaeche!
            *(d_calc_Schuettgewicht&*1000))
            d_calc_Max_fuellung!   = d_calc_Fallgeschwindigkeit!*(D_calc_Durchmesser&/2000)^2*@Pi()*(d_calc_Schuettgewicht&*1000)
            d_calc_Nom_fuellung!    = D_calc_Nom_Durchsatz! * 1000000/3600 /d_calc_Max_fuellung! * 100
            d_calc_Max_fuellung!    = D_calc_Max_Durchsatz! * 1000000/3600 /d_calc_Max_fuellung! * 100
            drawtext 310, 94 , Querschnitt
            drawtext 470, 94 , m²
            drawtext 310,119 , Geschwind.
            drawtext 470,119 , m/s
            @Set(NumWidth,2)
            @Set(Decimals,2)
            @Create(Text,EditDialog%,Nominal                           , 200 , 234 ,  80 , 20 )
            @Create(Text,EditDialog%,Maximal                           , 280 , 234 ,  80 , 20 )
            @Create(Text,EditDialog%,Rohrfüllung ( % )                 ,  20 , 234 , 160 , 20 )
            @Create(Text,EditDialog%,m/s                               , 100 , 259 ,  40 , 20 )
            @Create(Text,EditDialog%,m/s                               , 100 , 284 ,  40 , 20 )
            TextColor Text_farbe_2%, Farbe_grau%
            UseFont Arial,17,0,1,0,0
            @Set(NumWidth,1)
            @Set(Decimals,5)
            drawtext 400, 94,@str$(d_calc_rohrflaeche!)
            @Set(NumWidth,3)
            @Set(Decimals,2)
            drawtext 400,119,@str$(d_calc_Fallgeschwindigkeit!)
            drawtext 210,259,@str$(d_calc_Nom_fuellung!)
            drawtext 290,259,@str$(d_calc_Max_fuellung!)
            drawtext  40,284,@str$(D_calc_Fixgeschw! )
            drawtext  40,259,@str$(d_calc_Fallgeschwindigkeit!)

        ElseIf @Clicked(CANCEL%)

            EditDialogEnde% = 1

        EndIf

    EndWhile

    endpaint
    @DestroyWindow(EditDialog%)

endproc

Variablen Durchsatzkalkulator
Declare D_calc_Max_Durchsatz!
Declare D_calc_Nom_Durchsatz!
Declare D_calc_Durchmesser&
Declare D_calc_Fallhoehe!
Declare D_calc_Fixgeschw!
declare d_calc_Max_fuellung!
declare d_calc_Nom_fuellung!
declare d_calc_Fix_fuellung!
declare d_calc_Fallgeschwindigkeit!
declare d_calc_Schuettgewicht&
declare d_calc_rohrflaeche!
Declare Text_Farbe_1%
Declare Text_Farbe_2%
Declare Farbe_weiss%
Declare Farbe_schwarz%
Declare Farbe_grau%
Text_Farbe_1%   = @RGB(0,176,0)
Text_Farbe_2%   = @RGB(0,0,230)
Farbe_weiss%    = @RGB(255,255,255)
Farbe_schwarz%  = @RGB(0,0,0)
Farbe_grau%     = @RGB(220,220,220)
D_calc_Max_Durchsatz!  = 300
D_calc_Nom_Durchsatz!  = 200
d_calc_Schuettgewicht& =1100
D_calc_Durchmesser&    = 200
D_calc_Fallhoehe!      = 2
D_calc_Fixgeschw!      = 4.75
cls
Durchsatzkalkulator

Ok Ok, voilà tout quelque chose ungeordnet et zusammengestückelt aus Fragmenten aus qui Aider et anderen Testprogrammen. je habs mais aus dem grand ganzen rausschneiden doit et qui code zeigt aussi encore droite bien verschiedene Versuchsstadien ( mix entre create(text..) et drawtext,) et et et .... on verzeihe s'il te plaît einem Débutant!

mon Probleme sommes:

comment bekomme je per Drawtext une ausgabe sur den rechten rebord ausgerichtet?

peux je qui Textes toujours wieder avec @Créer(Text,..) dans einer Boucle à qui selben Bildschirmposition teste ausgeben ou bien stapels sich ensuite irgendwo im Hintergrund qui Text-elemente ?

quoi mach je, qui sich pas chaque fois qui Hintergrundfarbe meines Dialogfensters sur Standard zurücksetzt, si es einmal im Hintergrund était.

Pourquoi verschwinden chez cette Gelegenheit aussi juste qui Drawtext-Ausgaben?
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
16.03.2008  
 




Rolf
Koch
Hab pas plus viel Zeit grad, seulement vite trop Createtext:
pas récente erstellen, mais vorhandenes Textcontrol nutzen et neuen Text reinschreiben:
Settext handle&,Neuer Text
 
16.03.2008  
 



@Karl: qui Codesuche hilft Dir ici:  [...] 
 
16.03.2008  
 




Frank
Abbing
allô Karl,


comment bekomme je per Drawtext une ausgabe sur den rechten rebord ausgerichtet?


j'ai deinen Code en supplément la fois ajusté:
KompilierenMarqueSéparation
proc Durchsatzkalkulator

    Declare titel$, EditDialog%, ok%, cancel%,EditDialogEnde%
    Declare Edit1&,Edit2&,Edit3&,Edit4&,Edit5&,Edit6&,Edit7&
    Declare hdc&
    titel$ = Durchsatzkalkulator für Freifall
    EditDialog%= @Create(Dialog,%HWnd,Titel$,130,90,600,450)
    startpaint EditDialog%
    hdc&=%hdc
    cls Farbe_Grau%
    TextColor Farbe_Schwarz%, Farbe_grau%
    UseFont Arial,17,0,1,0,0
    SetTextAlign(hdc&,0)
    drawtext  20, 19,Maximaldurchsatz
    drawtext  20, 44,Nominaldurchsatz
    drawtext  20, 69,Schüttgewicht
    drawtext  20, 94,Rohrdurchmesser
    drawtext  20,119,Fallhöhe
    drawtext  20,144,Fixgeschwindigkeit
    SetTextAlign(hdc&,2)
    drawtext 290, 19,t/h
    drawtext 290, 44,t/h
    drawtext 290, 69,g/l
    drawtext 290, 94,t/h
    drawtext 290,119,m
    drawtext 290,144,m/s
    OK%      = @Create(Button, EditDialog%,&Berechnen ,  20, 350, 80,30)
    CANCEL%  = @Create(Button, EditDialog%,&Ende      , 200, 350, 80,30)
    @SetFocus(edit1&)
    EditDialogEnde% = 0
    NewStyle& = ~BS_RIGHT | ~BS_VCENTER
    @Set(NumWidth,4)
    @Set(Decimals,3)
    Edit1&  = @Create(Edit,EditDialog%, @str$(D_calc_Max_Durchsatz!)  , 170 , 15 , 80 , 20)
    Edit2&  = @Create(Edit,EditDialog%, @str$(D_calc_Nom_Durchsatz!)  , 170 , 40 , 80 , 20)
    @Set(NumWidth,2)
    @Set(Decimals,0)
    Edit3&  = @Create(Edit,EditDialog%, @str$(d_calc_Schuettgewicht&) , 170 , 65 , 80 , 20)
    Edit4&  = @Create(Edit,EditDialog%, @str$(D_calc_Durchmesser&)    , 170 , 90 , 80 , 20)
    @Set(Decimals,1)
    Edit5&  = @Create(Edit,EditDialog%, @str$(D_calc_Fallhoehe!)      , 170 ,115 , 80 , 20)
    Edit6&  = @Create(Edit,EditDialog%, @str$(D_calc_Fixgeschw!)      , 170 ,140 , 80 , 20)

    WhileNot EditDialogEnde%

        WaitInput
        Case @Clicked(CANCEL%):EditDialogEnde% = 1

        If @Clicked(OK%)

            TextColor Farbe_Schwarz%, Farbe_grau%
            UseFont Arial,17,0,1,0,0
            D_calc_Max_Durchsatz!   = @val(@GetText$(Edit1&))
            D_calc_Nom_Durchsatz!   = @val(@GetText$(Edit2&))
            d_calc_Schuettgewicht&  = @val(@GetText$(Edit3&))
            D_calc_Durchmesser&     = @val(@GetText$(Edit4&))
            D_calc_Fallhoehe!       = @val(@GetText$(Edit5&))
            D_calc_Fixgeschw!       = @val(@GetText$(Edit6&))
            d_calc_Fallgeschwindigkeit! = 2*9.80665*D_calc_Fallhoehe!
            d_calc_Fallgeschwindigkeit! = @sqrt(d_calc_Fallgeschwindigkeit!)
            d_calc_rohrflaeche!  = ((D_calc_Durchmesser&/1000 /2) ^2 )*@pi()
            d_calc_Max_fuellung!   = D_calc_Max_Durchsatz! * 9.80665
            d_calc_Max_fuellung!   = d_calc_Max_fuellung!  / (d_calc_Fallgeschwindigkeit!* d_calc_rohrflaeche!
            *(d_calc_Schuettgewicht&*1000))
            d_calc_Max_fuellung!   = d_calc_Fallgeschwindigkeit!*(D_calc_Durchmesser&/2000)^2*@Pi()*(d_calc_Schuettgewicht&*1000)
            d_calc_Nom_fuellung!    = D_calc_Nom_Durchsatz! * 1000000/3600 /d_calc_Max_fuellung! * 100
            d_calc_Max_fuellung!    = D_calc_Max_Durchsatz! * 1000000/3600 /d_calc_Max_fuellung! * 100
            drawtext 310, 94 , Querschnitt
            drawtext 470, 94 , m²
            drawtext 310,119 , Geschwind.
            drawtext 470,119 , m/s
            @Set(NumWidth,2)
            @Set(Decimals,2)
            @Create(Text,EditDialog%,Nominal                           , 200 , 234 ,  80 , 20 )
            @Create(Text,EditDialog%,Maximal                           , 280 , 234 ,  80 , 20 )
            @Create(Text,EditDialog%,Rohrfüllung ( % )                 ,  20 , 234 , 160 , 20 )
            @Create(Text,EditDialog%,m/s                               , 100 , 259 ,  40 , 20 )
            @Create(Text,EditDialog%,m/s                               , 100 , 284 ,  40 , 20 )
            TextColor Text_farbe_2%, Farbe_grau%
            UseFont Arial,17,0,1,0,0
            @Set(NumWidth,1)
            @Set(Decimals,5)
            drawtext 400, 94,@str$(d_calc_rohrflaeche!)
            @Set(NumWidth,3)
            @Set(Decimals,2)
            drawtext 400,119,@str$(d_calc_Fallgeschwindigkeit!)
            drawtext 210,259,@str$(d_calc_Nom_fuellung!)
            drawtext 290,259,@str$(d_calc_Max_fuellung!)
            drawtext  40,284,@str$(D_calc_Fixgeschw! )
            drawtext  40,259,@str$(d_calc_Fallgeschwindigkeit!)

        ElseIf @Clicked(CANCEL%)

            EditDialogEnde% = 1

        EndIf

    EndWhile

    endpaint
    @DestroyWindow(EditDialog%)

endproc

DEF SetTextAlign(2) ! gdi32,SetTextAlign
Variablen Durchsatzkalkulator
Declare D_calc_Max_Durchsatz!
Declare D_calc_Nom_Durchsatz!
Declare D_calc_Durchmesser&
Declare D_calc_Fallhoehe!
Declare D_calc_Fixgeschw!
declare d_calc_Max_fuellung!
declare d_calc_Nom_fuellung!
declare d_calc_Fix_fuellung!
declare d_calc_Fallgeschwindigkeit!
declare d_calc_Schuettgewicht&
declare d_calc_rohrflaeche!
Declare Text_Farbe_1%
Declare Text_Farbe_2%
Declare Farbe_weiss%
Declare Farbe_schwarz%
Declare Farbe_grau%
Text_Farbe_1%   = @RGB(0,176,0)
Text_Farbe_2%   = @RGB(0,0,230)
Farbe_weiss%    = @RGB(255,255,255)
Farbe_schwarz%  = @RGB(0,0,0)
Farbe_grau%     = @RGB(220,220,220)
D_calc_Max_Durchsatz!  = 300
D_calc_Nom_Durchsatz!  = 200
d_calc_Schuettgewicht& =1100
D_calc_Durchmesser&    = 200
D_calc_Fallhoehe!      = 2
D_calc_Fixgeschw!      = 4.75
cls
Durchsatzkalkulator


peux je qui Textes toujours wieder avec @Créer(Text,..) dans einer Boucle à qui selben Bildschirmposition teste ausgeben ou bien stapels sich ensuite irgendwo im Hintergrund qui Text-elemente ?


oui, qui stapeln sich ensuite. tu peux benutzte Controls mais avec DestroyWindow(controlhandle&) jederzeit freigeben. je serait mais feste Controls benutzen et pas ständig neue generieren.


quoi mach je, qui sich pas chaque fois qui Hintergrundfarbe meines Dialogfensters sur Standard zurücksetzt, si es einmal im Hintergrund était.


qui einfachste Possibilité ist es, deine Controls et Textes direct sur dem Hauptfenster trop zeichnen. et gar ne...aucune Dialogfenster trop benutzen.


Pourquoi verschwinden chez cette Gelegenheit aussi juste qui Drawtext-Ausgaben?


Pour cela Neuzeichen sur Dialogfenstern ist qui Programmierer selbst zuständig. Beim Hauptfenster hilft dir XProfan. tout autor mon Tipp avec dem Hauptfenster.
 
16.03.2008  
 




Jörg
Sellmeyer
je serait à Deiner Stelle aussi qui DrawText-Ausgaben avec einem Textcontrol (Créer(Text,...)) erledigen. Erspart Dir cela ständige neuzeichnen.
si Du avec Créer(Text,...) un Textcontrol erstellst dois Du Dir cela Handle Sauver. ensuite peux Du jederzeit den Text changement:
KompilierenMarqueSéparation
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.03.2008  
 




KHR
allô miteinander

merci pour Eure Zeit et Eure répondre,

maintenant wird mir là déjà einiges klarer. Aus den Codesnippets hab je mir ensuite aussi encore einiges zusammengesucht. Irgedwie hab je zuvor toujours pour den falschen Begriffen gesucht. il faut avec chaque Werkzeug arrêt tourner autour de apprendre,

ok - normalement arbeite je aussi avec handles chez create(TEXTE.... habs mais beim zusammenschustern übersehen et pas tour gedacht, qui sich une meiner Fragen chez richtigem Umgang avec qui Discours déjà erledigt hat.

Mittlerweile sieht cela ganze chez mir eh bien déjà viel besser aus
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
16.03.2008  
 



répondre


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

675 Views

Untitledvor 0 min.
RudiB.13.08.2021
rquindt18.03.2018
Walter21.08.2017
Ernst12.07.2016
plus...

Themeninformationen



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