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