Español
Foro

Formatieren de Textenausgaben

 

KHR
¡Hola miteinander

Yo tener veces angefangen con XProfan10 una prgramm a escribir, el Yo gern a Arbeit nutzen möchte.

Mittlerweile se ejecuta una großer Teil muy bien aber con el ersten Erweiterungen bin Yo bastante uns trudeln geraten.

Hier como Ejemplo ein´Tool, el Yo a benutzen gedenke:
KompilierenMarcaSeparación
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, el es alles algo ungeordnet y zusammengestückelt de Fragmenten de el Ayuda y otro Testprogrammen. Yo habs aber de el großen ganzen rausschneiden necesario y code zeigt auch todavía bastante bien verschiedene Versuchsstadien ( mix zwischen create(texto..) y drawtext,) y y y .... Man verzeihe Por favor, una Principiante!

Mein Problemas son:

como bekomme Yo por Drawtext una ausgabe en el rechten Rand ausgerichtet?

Kann Yo el Textos siempre otra vez con @Crear(Texto,..) en uno Bucle a el selben Bildschirmposition teste ausgeben oder stapels se entonces irgendwo en el Hintergrund el Texto-elemente ?

Was mach Yo, daß se no jedesmal el Color de fondo meines Dialogfensters en Standard zurücksetzt, si una vez en el Hintergrund war.

¿Por qué verschwinden en dieser Gelegenheit auch igual el Drawtext-Ausgaben?
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
16.03.2008  
 




Rolf
Koch
Hab no mehr viel Tiempo grad, sólo rápidamente a Createtext:
No neu redactar, pero vorhandenes Textcontrol nutzen y neuen Texto reinschreiben:
Settext handle&,Neuer Texto
 
16.03.2008  
 



@Karl: El Codesuche hilft Usted hier:  [...] 
 
16.03.2008  
 




Frank
Abbing
¡Hola Karl,


como bekomme Yo por Drawtext una ausgabe en el rechten Rand ausgerichtet?


Yo habe deinen Code dazu veces angepaßt:
KompilierenMarcaSeparación
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


Kann Yo el Textos siempre otra vez con @Crear(Texto,..) en uno Bucle a el selben Bildschirmposition teste ausgeben oder stapels se entonces irgendwo en el Hintergrund el Texto-elemente ?


Sí, el stapeln se entonces. Usted puede benutzte Controls aber con DestroyWindow(controlhandle&) en cualquier momento liberación. Yo sería aber feste Controls benutzen y no ständig neue generieren.


Was mach Yo, daß se no jedesmal el Color de fondo meines Dialogfensters en Standard zurücksetzt, si una vez en el Hintergrund war.


El einfachste Möglichkeit es, deine Controls y Textos direkt en el Ventana principal para dibujar. Und gar kein Dialogfenster a benutzen.


¿Por qué verschwinden en dieser Gelegenheit auch igual el Drawtext-Ausgaben?


Für el Neuzeichen en Dialogfenstern es el Programmierer incluso zuständig. Beim Ventana principal hilft dir XProfan. Darum mein Tipp con el Ventana principal.
 
16.03.2008  
 




Jörg
Sellmeyer
Yo sería a Deiner Punto auch el DrawText-Ausgaben con un Textcontrol (Crear(Texto,...)) erledigen. Erspart Usted el ständige neuzeichnen.
Si usted con Crear(Texto,...) una Textcontrol erstellst mußt Usted Usted el Handle speichern. Dann kannst Usted en cualquier momento el Texto ändern:
KompilierenMarcaSeparación
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.03.2008  
 




KHR
¡Hola miteinander

danke para Eure Tiempo y Eure Respuesta,

Jetzt se me como ya einiges klarer. Aus el Codesnippets tener Yo entonces auch todavía einiges zusammengesucht. Irgedwie tener Yo zuvor siempre después de el falschen Begriffen gesucht. Man muß con cada Werkzeug sólo umgehen aprender,

ok - normalerweise arbeite Yo auch con handles en create(TEXTE.... habs aber beim zusammenschustern übersehen y No pensaba en ello, daß se una meiner Fragen en richtigem Umgang con la lengua ya hecho ha.

Mittlerweile sieht todos en me nun ya viel mejor de
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
16.03.2008  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

642 Views

Untitledvor 0 min.
RudiB.13.08.2021
rquindt18.03.2018
Walter21.08.2017
Ernst12.07.2016
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie