|  | 
|   | 
 | 
  |  KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Bruch-Darstellung realisieren
Lauffähig ab Profan-Version 5.0
PRFellow-Vorlage
Autor: Thomas Hölzer
Auf einfache Weise einen Bruch schreiben
Zähler und Nenner werden zentriert,
und der Bruchstrich paßt sich der Länge automatisch an.
Def w32_DrawText(5) !USER32,DrawTextA
Declare rect#,txt#
Proc ZeichneBruch
    Parameters z$,n$,x%,y%
    Declare strich$,laenge%,t$,cr$
    Let cr$=Chr$(13);Chr$(10)
    Let laenge%=Len(z$)
    Case Gt(Len(n$),laenge%): Let laenge%=Len(n$)
    Let laenge%=Mul(laenge%,2)
    Let strich$=Translate$(Space$(laenge%),Chr$(32),Chr$(45))
    Dim rect#,16
    Long rect#,0=x%
    Long rect#,4=y%
    Long rect#,8=Add(x%,100)  das dürfte reichen
    Long rect#,12=Add(y%,100)
    Let t$=z$;cr$;strich$;cr$;n$
    Dim txt#,Add(Len(t$),1)
    String txt#,0=t$
    w32_DrawText(%hdc,txt#,Len(t$),rect#,$2001)  mit Umbruch und zentriert
    w32_DrawText(%hdc2,txt#,Len(t$),rect#,$2001)
    Dispose rect#
    Dispose txt#
EndProc
Beispiel: Ausgabe an Koordinaten 10,100
Cls
ZeichneBruch 12345,12345678, 10,100
While 1
    WaitInput
Wend
 |  
  | 
|   | 
 |  | 
|   | 
 
 
  |