Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
Editor programa
proc editor
declarar _ende%
declarar _dlg%
declarar SCHRIFT%
declarar Groesse%
declarar Fett%
declarar kursiv%
declarar unterstrichen%
declarar CUT%
declarar COPY%
declarar INS%
declarar Texto%
declarar anz!, f%, u%, k%, font$, g!, x%, datei$, texto$, edit#
def @buttonstate(1) @sendmessage(@%(1),$0F2,0,0)
def @changed(1) @sendmessage(@%(1),$0B8,0,0)
proc zeigeschrift
let font$ = @GetText $(schrift%)
let g! = @Mul(@Val(@GetText $(groesse%)),anz!)
UseFont font$,g!,0,f%,k%,u%
@sendmessage(texto%,$30,%font,1) wm_SetFont
ENDPROC
proc Datei_Laden
let datei$ = @LoadFile$(Expediente invitar:,*.txt)
if (datei$ <> )
usecursor 2
If (@FileSize(Expediente$) > 32000)
@MessageBox(Expediente es a groß para el Editor!,Referencia:,48)
Más
Dim Editar#,@FileSize(Expediente$) + 2000
ReadText Editar#,Expediente$
If @SendMessage(texto%,$000C,0,Editar#)
Título de la ventana Mini-Ed 1.0 [ + Expediente$ + ]
Más
@MessageBox(Expediente es a groß para el Editor!,Referencia:,48)
EndIf
Disponer Editar#
EndIf
usecursor 0
endif
ENDPROC
Proc Speichere
Parámetros dname$
Declarar Nr%, Max%
assign #1,dname$
rewrite #1
Let Nr% = 0
Let Max% = @GetLineCount(Texto%)
Mientras que Nr% <= Max%
Imprimir #1,@GetLine$(Texto%,Nr%)
Inc Nr%
EndWhile
close #1
ENDPROC
Proc Datei_SpeichernAls
let datei$ = @SaveFile$(Expediente speichern:,Expediente$)
if (Expediente$ <> )
Speichere Expediente$
Título de la ventana Mini-Ed 1.0 [ + Expediente$ + ]
endif
ENDPROC
Proc Datei_Speichern
If (Expediente$ <> )
Speichere Expediente$
Más
Datei_SpeichernAls
EndIf
ENDPROC
Proc Geändert
If @Changed(Texto%)
If @Equ(@MessageBox(El Expediente wurde geändert. Soll ellos gespeichert voluntad?,
Expediente$,36),6)
Datei_Speichern
EndIf
EndIf
ENDPROC
let _dlg% = %Hwnd
let SCHRIFT%=@create(choicebox,_dlg%,,0,0,136,120)
let Groesse%=@create(choicebox,_dlg%,,136,0,40,120)
let Fett%=@create(button,_dlg%,f,176,0,24,24)
let kursiv%=@create(button,_dlg%,k,200,0,24,24)
let unterstrichen%=@create(button,_dlg%,u,224,0,24,24)
let Texto%=@create(multiedit,_dlg%,,0,24,548,364)
let f% = 0
let k% = 0
let u% = 0
let anz! = 1.5
let Expediente$ =
clearlist
addfonts
@movelisttochoice(schrift%)
@sendmessage(schrift%,$14E,2,0)
@addchoice(groesse%,10)
@addchoice(groesse%,12)
@addchoice(groesse%,14)
@addchoice(groesse%,16)
@addchoice(groesse%,18)
@addchoice(groesse%,22)
@addchoice(groesse%,26)
@sendmessage(groesse%,$14E,2,0)
zeigeschrift
@SetFocus(Texto%)
let _ende% = 0
whilenot _ende%
waitinput
if %key = 2
geändert
let _ende% = 1
elseif %key = 4
If ((%WinRight - %WinLeft) > 220) and ((%WinBottom - %WinTop) >120)
SetWindowPos Texto% = 0,24 - ((%WinRight - %WinLeft) - 6),
((%WinBottom - %WinTop) - 88)
endif
elseif @menuitem(100)
geändert
SetText texto%,
Let Expediente$=
Título de la ventana Mini-Ed 1.5
@SetFocus(Texto%)
elseif @menuitem(101)
geändert
Datei_Laden
@SetFocus(Texto%)
elseif @menuitem(102)
Datei_Speichern
@SetFocus(Texto%)
elseif @menuitem(103)
Datei_SpeichernAls
@SetFocus(Texto%)
elseif @menuitem(-3808)
shownormal
SetWindowPos Texto% = 0,24 - ((%WinRight - %WinLeft) - 6),
((%WinBottom - %WinTop) - 88)
elseif @menuitem(-4064)
showmin
elseif @menuitem(-4048)
showmax
SetWindowPos Texto% = 0,24 - ((%WinRight - %WinLeft) - 6),
((%WinBottom - %WinTop) - 88)
elseif @menuitem(109) or @menuitem(-4000)
Geändert
Let _ende% = 1
elseif @menuitem(130)
@messagebox(programmiert con XProfan,RGH-MINITEXT,0)
elseif @menuitem(110)
@sendmessage(texto%,$304,0,0) wm_Undo
elseif @menuitem(111)
@sendmessage(texto%,$300,0,0) wm_Cut
elseif @menuitem(112)
@sendmessage(texto%,$301,0,0) wm_Copy
elseif @menuitem(113)
@sendmessage(texto%,$302,0,0) wm_Insert
elseif @menuitem(114)
@sendmessage(texto%,$303,0,0) wm_Clear
Elseif @MenuItem(200)
let anz! = 1
checkmenu 200,1
checkmenu 201,0
checkmenu 202,0
zeigeschrift
Elseif @MenuItem(201)
let anz! = 1.5
checkmenu 200,0
checkmenu 201,1
checkmenu 202,0
zeigeschrift
Elseif @MenuItem(202)
let anz! = 2
checkmenu 200,0
checkmenu 201,0
checkmenu 202,1
zeigeschrift
elseif @getfocus(schrift%)
zeigeschrift
elseif @getfocus(groesse%)
zeigeschrift
elseif @getfocus(fett%)
if @buttonstate(%getfocus) <> 108
let f% = 1 - f%
if f%
settext %getfocus,F
más
settext %getfocus,f
endif
zeigeschrift
endif
elseif @getfocus(kursiv%)
if @buttonstate(%getfocus) <> 108
let k% = 1 - k%
if k%
settext %getfocus,K
más
settext %getfocus,k
endif
zeigeschrift
endif
elseif @getfocus(unterstrichen%)
if @buttonstate(%getfocus) <> 108
let u% = 1 - u%
if u%
settext %getfocus,U
más
settext %getfocus,u
endif
zeigeschrift
endif
endif
endwhile
@destroywindow(_dlg%)
ENDPROC
HAUPTPROGRAMM
=============
set(TrueColor,0)
windowstyle $11F
windowtitle Mini-Ed 1.0
window 20,20-555,452
cls @rgb(23,23,23)
PopUp &Expediente
AppendMenu 100,&Neu
AppendMenu 101,&Laden
AppendMenu 102,&Guardar
AppendMenu 103,Guardar &como
Separador
AppendMenu 109,&Ende
PopUp &Editar
AppendMenu 110,&Rückgänging Alt+BS
Separador
AppendMenu 111,&Ausschneiden Shift+Entf
AppendMenu 112,&Kopieren Strg+Einfg
AppendMenu 113,&Einfügen Shift+Einfg
AppendMenu 114,&Löschen Strg+Entf
PopUp &Anzeige
AppendMenu 200,&100 %
AppendMenu 201,1&50 %
AppendMenu 202,&200 %
AppendMenuBar 130,a&Info
CheckMenu 201,1
editor
end