added for Eric
This commit is contained in:
40
begui/begui/imports/pascal/examples/about.pas
Normal file
40
begui/begui/imports/pascal/examples/about.pas
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
Unit About;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
BeGUI;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form_About : MFormH;
|
||||||
|
Button_Divi : MButtonH;
|
||||||
|
Edit: MEditH;
|
||||||
|
|
||||||
|
procedure Create_About;
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
|
||||||
|
procedure EventButton(sender: pointer; msg: uint32);
|
||||||
|
begin
|
||||||
|
MForm_Hide(Form_About);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure Create_About;
|
||||||
|
begin
|
||||||
|
Form_About := MApplication_AddForm_int32(Application,250, 100, 500, 300, pchar('About'),pchar('About'));
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Initialisation for the edit
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Edit := MForm_AddMEdit_int32(Form_About, 9, 10, 160, 20, pchar('Calculator v1.0'));
|
||||||
|
MEdit_setText(Edit,pchar('Calculator v1.0'));
|
||||||
|
|
||||||
|
|
||||||
|
Button_Divi := MButton_Create_int32(160,135,200,145, pchar('OK'));
|
||||||
|
MForm_AddChild(Form_About, Button_Divi);
|
||||||
|
MButton_AttachClickDispatcher(Button_Divi, base_Message(@EventButton));
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
283
begui/begui/imports/pascal/examples/testapp4.pas
Normal file
283
begui/begui/imports/pascal/examples/testapp4.pas
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
program TespApp4;
|
||||||
|
|
||||||
|
uses BeGUI,About,Strings;
|
||||||
|
|
||||||
|
|
||||||
|
procedure MenuClick(sender: pointer; x:double; y:double);
|
||||||
|
begin
|
||||||
|
if sender <> nil then
|
||||||
|
GenericAlert(pchar('click'));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure MenuClick_Quit(sender: pointer; x:double; y:double);
|
||||||
|
Begin
|
||||||
|
MApplication_Free(Application);
|
||||||
|
End;
|
||||||
|
|
||||||
|
procedure MenuClick_About(sender: pointer; x:double; y:double);
|
||||||
|
Begin
|
||||||
|
// Display Help
|
||||||
|
MForm_Show(Form_About);
|
||||||
|
|
||||||
|
End;
|
||||||
|
|
||||||
|
|
||||||
|
Var
|
||||||
|
Button: Array[1..10] Of MButtonH;
|
||||||
|
Button_Clear : MButtonH;
|
||||||
|
Button_Point : MButtonH;
|
||||||
|
Button_Egal : MButtonH;
|
||||||
|
Button_Plus : MButtonH;
|
||||||
|
Button_Minus : MButtonH;
|
||||||
|
Button_Multi : MButtonH;
|
||||||
|
Button_Divi : MButtonH;
|
||||||
|
Edit: MEditH;
|
||||||
|
Mem_Edit : String[20];
|
||||||
|
Mem_Op : String[20];
|
||||||
|
Mem_Operande : integer;
|
||||||
|
|
||||||
|
|
||||||
|
Const
|
||||||
|
Pos_X : Array[1..3] of integer=(20,60,100);
|
||||||
|
Pos_Y : Array[1..4] of integer=(45,70,95,120);
|
||||||
|
weith = 30;
|
||||||
|
heigth = 10;
|
||||||
|
|
||||||
|
procedure EventTest(sender: pointer; msg: uint32);
|
||||||
|
begin
|
||||||
|
if sender <> nil then
|
||||||
|
GenericAlert(MButton_getCaption(sender));
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure EventButton(sender: pointer; msg: uint32);
|
||||||
|
var
|
||||||
|
Test: array[0..20] of char;
|
||||||
|
value: char;
|
||||||
|
value_real : real;
|
||||||
|
value_real2: real;
|
||||||
|
value_result: real;
|
||||||
|
er : Integer;
|
||||||
|
Begin
|
||||||
|
If sender <> nil Then
|
||||||
|
Begin
|
||||||
|
value := strPas(MButton_getCaption(sender))[1];
|
||||||
|
|
||||||
|
// For digit
|
||||||
|
If ( value ='1') Or ( value ='2') Or ( value ='3') or ( value ='4')
|
||||||
|
or ( value ='5') Or ( value ='6') Or ( value ='7') or ( value ='8') or (value='9') or (value='0')Then
|
||||||
|
Begin
|
||||||
|
//=C2=A0Add Value to the sting
|
||||||
|
Mem_Edit:=Mem_Edit+strPas(MButton_getCaption(sender));
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
Val(Mem_Edit,value_real,er);
|
||||||
|
// Clear
|
||||||
|
if ( value='C') Then
|
||||||
|
Begin
|
||||||
|
Mem_Op:='';
|
||||||
|
Mem_Operande:=0;
|
||||||
|
Mem_Edit:='';
|
||||||
|
MEdit_setText(Edit,nil);
|
||||||
|
End;
|
||||||
|
|
||||||
|
// dot
|
||||||
|
If (Value='.') Then
|
||||||
|
Begin
|
||||||
|
If (Frac(value_real) = 0) Then
|
||||||
|
Begin
|
||||||
|
Mem_Edit:=Mem_Edit+'.';
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
|
// Egal
|
||||||
|
If (Value='=') Then
|
||||||
|
Begin
|
||||||
|
If (Mem_Op = '' ) Then
|
||||||
|
Begin
|
||||||
|
Str(value_real:6:2,Mem_Edit);
|
||||||
|
End Else
|
||||||
|
Begin
|
||||||
|
Val(Mem_Op,value_real2,er);
|
||||||
|
Case Mem_Operande of
|
||||||
|
1 : Value_result:=value_real2+value_real;
|
||||||
|
2 : Value_result:=value_real2-value_real;
|
||||||
|
3 : Value_result:=value_real2*value_real;
|
||||||
|
4 : Value_result:=value_real2/value_real;
|
||||||
|
End;
|
||||||
|
Str(value_result:6:2,Mem_Edit);
|
||||||
|
End;
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
|
||||||
|
// Plus
|
||||||
|
If (Value='+') Then
|
||||||
|
Begin
|
||||||
|
Mem_Op:=Mem_Edit;
|
||||||
|
Mem_Operande:=1;
|
||||||
|
Mem_Edit:='';
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
|
||||||
|
// Minus
|
||||||
|
If (Value='-') Then
|
||||||
|
Begin
|
||||||
|
Mem_Op:=Mem_Edit;
|
||||||
|
Mem_Operande:=2;
|
||||||
|
Mem_Edit:='';
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
|
||||||
|
// Multi
|
||||||
|
If (Value='*') Then
|
||||||
|
Begin
|
||||||
|
Mem_Op:=Mem_Edit;
|
||||||
|
Mem_Operande:=3;
|
||||||
|
Mem_Edit:='';
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
|
||||||
|
// Division
|
||||||
|
If (Value='/') Then
|
||||||
|
Begin
|
||||||
|
Mem_Op:=Mem_Edit;
|
||||||
|
Mem_Operande:=4;
|
||||||
|
Mem_Edit:='';
|
||||||
|
StrPCopy(test,Mem_Edit);
|
||||||
|
MEdit_setText(Edit,Test);
|
||||||
|
End;
|
||||||
|
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
|
procedure Create_Calculator(Calculator : MFormH);
|
||||||
|
Begin
|
||||||
|
Mem_Edit:='';
|
||||||
|
Mem_Op:='';
|
||||||
|
{ create the form of the calculator }
|
||||||
|
{ ??? - MApplication_AddForm don't take the value of size and position }
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Initialisation for the digit number
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Button[1] := MButton_Create_int32(Pos_X[1], Pos_Y[1], Pos_X[1]+weith, Pos_Y[1]+heigth, pchar('1'));
|
||||||
|
MForm_AddChild(Calculator, Button[1]);
|
||||||
|
MButton_AttachClickDispatcher(Button[1], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[2] := MButton_Create_int32(Pos_X[2],Pos_Y[1], Pos_X[2]+weith, Pos_Y[1]+heigth, pchar('2'));
|
||||||
|
MForm_AddChild(Calculator, Button[2]);
|
||||||
|
MButton_AttachClickDispatcher(Button[2], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[3] := MButton_Create_int32(Pos_X[3],Pos_Y[1], Pos_X[3]+weith, Pos_Y[1]+heigth, pchar('3'));
|
||||||
|
MForm_AddChild(Calculator, Button[3]);
|
||||||
|
MButton_AttachClickDispatcher(Button[3], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[4] := MButton_Create_int32(Pos_X[1],Pos_Y[2], Pos_X[1]+weith, Pos_Y[2]+heigth, pchar('4'));
|
||||||
|
MForm_AddChild(Calculator, Button[4]);
|
||||||
|
MButton_AttachClickDispatcher(Button[4], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[5] := MButton_Create_int32(Pos_X[2], Pos_Y[2], Pos_X[2]+weith, Pos_Y[2]+heigth, pchar('5'));
|
||||||
|
MForm_AddChild(Calculator, Button[5]);
|
||||||
|
MButton_AttachClickDispatcher(Button[5], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[6] := MButton_Create_int32(Pos_X[3],Pos_Y[2], Pos_X[3]+weith, Pos_Y[2]+heigth, pchar('6'));
|
||||||
|
MForm_AddChild(Calculator, Button[6]);
|
||||||
|
MButton_AttachClickDispatcher(Button[6], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[7] := MButton_Create_int32(Pos_X[1],Pos_Y[3], Pos_X[1]+weith, Pos_Y[3]+heigth, pchar('7'));
|
||||||
|
MForm_AddChild(Calculator, Button[7]);
|
||||||
|
MButton_AttachClickDispatcher(Button[7], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[8] := MButton_Create_int32(Pos_X[2],Pos_Y[3], Pos_X[2]+weith, Pos_Y[3]+heigth, pchar('8'));
|
||||||
|
MForm_AddChild(Calculator, Button[8]);
|
||||||
|
MButton_AttachClickDispatcher(Button[8], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[9] := MButton_Create_int32(Pos_X[3],Pos_Y[3], Pos_X[3]+weith, Pos_Y[3]+heigth, pchar('9'));
|
||||||
|
MForm_AddChild(Calculator, Button[9]);
|
||||||
|
MButton_AttachClickDispatcher(Button[9], base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button[10] := MButton_Create_int32(Pos_X[1],Pos_Y[4], Pos_X[1]+weith, Pos_Y[4]+heigth, pchar('0'));
|
||||||
|
MForm_AddChild(Calculator, Button[10]);
|
||||||
|
MButton_AttachClickDispatcher(Button[10], base_Message(@EventButton));
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Initialisation for the edit
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Edit := MForm_AddMEdit_int32(Calculator, 9, 20, 160, 30, pchar('toto'));
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Initialisation for operation button
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
Button_Clear:=MButton_Create_int32(170,20,190,30, pchar('C'));
|
||||||
|
MForm_AddChild(Calculator, Button_clear);
|
||||||
|
MButton_AttachClickDispatcher(Button_Clear, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Egal:=MButton_Create_int32(170,45,190,55, pchar('='));
|
||||||
|
MForm_AddChild(Calculator, Button_Egal);
|
||||||
|
MButton_AttachClickDispatcher(Button_Egal, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Plus:=MButton_Create_int32(170,70,190,75, pchar('+'));
|
||||||
|
MForm_AddChild(Calculator, Button_Plus);
|
||||||
|
MButton_AttachClickDispatcher(Button_Plus, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Minus:=MButton_Create_int32(170,95,190,105, pchar('-'));
|
||||||
|
MForm_AddChild(Calculator, Button_Minus);
|
||||||
|
MButton_AttachClickDispatcher(Button_Minus, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Multi:=MButton_Create_int32(170,120,190,130, pchar('*'));
|
||||||
|
MForm_AddChild(Calculator, Button_Multi);
|
||||||
|
MButton_AttachClickDispatcher(Button_Multi, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Divi := MButton_Create_int32(170,145,190,155, pchar('/'));
|
||||||
|
MForm_AddChild(Calculator, Button_Divi);
|
||||||
|
MButton_AttachClickDispatcher(Button_Divi, base_Message(@EventButton));
|
||||||
|
|
||||||
|
Button_Point := MButton_Create_int32(Pos_X[2],Pos_Y[4], Pos_X[2]+weith, Pos_Y[4]+heigth, pchar('.'));
|
||||||
|
MForm_AddChild(Calculator, Button_Point);
|
||||||
|
MButton_AttachClickDispatcher(Button_Point, base_Message(@EventButton));
|
||||||
|
|
||||||
|
End;
|
||||||
|
|
||||||
|
//poo
|
||||||
|
|
||||||
|
var
|
||||||
|
MainForm: MFormH;
|
||||||
|
|
||||||
|
mb : MMenuBarH;
|
||||||
|
Menu_About,
|
||||||
|
Menu_Quit : MMenuItemH;
|
||||||
|
|
||||||
|
mnu : MMenuH;
|
||||||
|
mnu_Help : MMenuH;
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
MainForm := MApplication_GetMainForm(Application);
|
||||||
|
|
||||||
|
mb := BMenuBar_Create(MainForm, pchar('main'));
|
||||||
|
Menu_Quit := MMenuItem_Create(pchar('Close'));
|
||||||
|
MMenuItem_AttachMenuClickDispatcher(Menu_Quit, @menuClick_Quit);
|
||||||
|
|
||||||
|
mnu := BMenu_Create(pchar('Calculator'));
|
||||||
|
BMenu_AddItem(mnu, Menu_Quit);
|
||||||
|
BMenuBar_AddItem(mb, mnu);
|
||||||
|
|
||||||
|
mnu_Help := BMenu_Create(pchar('?'));
|
||||||
|
Menu_About := MMenuItem_Create(pchar('About...'));
|
||||||
|
BMenu_AddItem(Mnu_Help, Menu_About);
|
||||||
|
MMenuItem_AttachMenuClickDispatcher(Menu_About, @menuClick_About);
|
||||||
|
BMenuBar_AddItem(mb, mnu_Help);
|
||||||
|
|
||||||
|
Create_Calculator(MainForm);
|
||||||
|
Create_About;
|
||||||
|
|
||||||
|
MApplication_Run(Application);
|
||||||
|
end.
|
||||||
Reference in New Issue
Block a user