Foro | | | | 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 |
| | | | |
| | | @Karl: El Codesuche hilft Usted hier: [...] |
| | | | |
| | 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. |
| | | | |
| | 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 ▲ |
| |
|
RespuestaThemeninformationenDieses Thema ha 5 subscriber: |