| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Lauftext erzeugen (2)
(C) 2007 David iF Strutz, http://xprofan.com
DECLARE __cf1&
Def __cf1(2) !KERNEL32,GetProcAddress
Def __cf2(1) !KERNEL32,GetModuleHandleA
__cf1&=__cf1(__cf2(gdi32.dll),GetTextExtentPoint32A)
WINDOWSTYLE 80
CLS
SHOWMAX
MCLS %MAXX,%MAXY
STARTPAINT -1
USEFONT Arial,100,0,0,0,0
TEXTCOLOR 0,-1
var TWIDTH&=TEXTWEITE(Hallo Welt,0)
ENDPAINT
var SCROLLWIDTH&=%MAXX+TWIDTH&
WHILENOT ISKEY(27)
STARTPAINT -1
CLS $00FFFFFF
DRAWTEXT %MAXX-MOD(&GETTICKCOUNT/10,SCROLLWIDTH&),100,Hallo Welt
ENDPAINT
MCOPYBMP 0,100 - %MAXX,100>0,100;0
ENDWHILE
end
proc TEXTWEITE
PARAMETERS T$,PRT_CTL%
DECLARE Z$,ADR&,ADR1&,LENG&
LET Z$=000000
LET ADR&=@IF(@LT$(@LEFT$($PROFVER,1),7),@ADD(@ADDR(T$),1),@ADDR(T$))
LET ADR1&=@IF(@LT$(@LEFT$($PROFVER,1),7),@ADD(@ADDR(Z$),1),@ADDR(Z$))
call(__cf1&,%HDC,ADR&,@LEN(T$),ADR1&)
LET LENG&=@LONG(ADR1&,0)
LET LENG&=@IF(@EQU(PRT_CTL%,1),(@LONG(ADR1&,0)/10),@LONG(ADR1&,0))
RETURN LENG&
endproc
|
|
|
| |
|
|