diff --git a/Demos/1050_pydemo2trackip.txt b/Demos/1050_pydemo2trackip.txt new file mode 100644 index 00000000..c4a28fb8 --- /dev/null +++ b/Demos/1050_pydemo2trackip.txt @@ -0,0 +1,418 @@ +program PyDemo2; + +//https://github.com/maxkleiner/python4delphi/blob/master/Demos/Demo02/Unit1.pas +//https://stackoverflow.com/questions/21464102/reset-python4delphi-engine +//https://stackoverflow.com/questions/21464102/reset-python4delphi-engine + +//interface + +{uses + Classes, SysUtils, + Windows, Messages, Graphics, Controls, Forms, Dialogs, + StdCtrls, ComCtrls, ExtCtrls, + PythonEngine, Vcl.PythonGUIInputOutput, PythonVersions.pas ; } + +type + TForm1 = TForm; + var + PythonEngine1: TPythonEngine; + PythonModule1: TPythonModule; + PythonType1: TPythonType ; + aMemo2: TMemo; + Panel1: TPanel; + Button1: TButton; + Splitter1: TSplitter; + Button2: TButton; + Button3: TButton; + OpenDialog1: TOpenDialog; + SaveDialog1: TSaveDialog; + PythonGUIInputOutput1: TPythonGUIInputOutput; + aMemo1: TMemo; + procedure TForm1Button1Click(Sender: TObject); forward; + procedure TForm1Button2Click(Sender: TObject); forward; + procedure TForm1Button3Click(Sender: TObject); forward; + //private + { Déclarations privées } + //public + { Déclarations publiques } + //end; + +const PYDLLNAME = 'python36.dll'; + PSCRIPTNAME = 'initpy.py'; + PYHOME = 'C:\Users\max\AppData\Local\Programs\Python\Python36-32\'; + PYSCRIPT = 'C:\maXbox\maxbox3\maxbox3\maXbox3\examples\module1maxbox1.py'; + PYSCRIPT2 = 'C:\maXbox\maxbox3\maxbox3\maXbox3\examples\896_textclassification.py'; + LB = CR+LF; + + +const PyModule = + 'def printData(data): '+#13#10+ + ' return data+data+"/n"'; + +const PYCMD = 'print("this is box")'+LB+ + 'import sys'+LB+ + 'f=open(r"1050pytest2hhhh.txt","w")'+LB+ + 'f.write("Hello PyWorld_mX4, \n")'+LB+ + 'f.write("This data will be written on the file.")'+LB+ + 'f.close()'; + +var + Form1: TForm1; + +//implementation + +//{$R *.DFM} + +procedure TForm1Button1Click(Sender: TObject); +var + //aResult : PPyObject; + codstr: TStrings; +begin + codstr:= TStringlist.create; + with PythonEngine1 do begin + UseLastKnownVersion := true; + //AutoFinalize:= False; + //dllpath:= PyHOME; + //dllname:= PYDLLNAME; + try + //unloadDLL; + loadDLL; + //unloadDLL; + //openDLL(Pyhome+pydllname) + writeln('IsHandleValid_after: '+botostr(IsHandleValid)); + except + writeln('dll EXCEPT '+ExceptionToString(ExceptionType,ExceptionParam)); + //free; + finally + free; + end; + // DllPath := '/usr/lib/x86_64-linux-gnu'; + // DllName := 'libpython3.9.so.1.0'; + {Result := EvalStrings( Memo1.Lines ); + if Assigned(Result) then + begin + ShowMessage(Format('Eval: %s',[PyObjectAsString(Result)])); + Py_DECREF(Result); + end + else } + // ShowMessage('Could not evaluate the script'); + // Or you could simply use: + //Writeln('Eval: ' + EvalStringsAsStr( aMemo1.Lines ) ); + codstr.text:= '2+3'; + writeln(botostr(CheckEvalSyntax(codstr.text))); + //Writeln('Eval: ' + EvalStringsAsStr(codstr)); + //free; + end; + codstr.Free; +end; + +procedure TForm1CreatePythonComponents; +var PyVersions: TPythonVersions; + cbPyVersions: Tlistbox; +begin + if cbPyVersions.ItemIndex <0 then begin + ShowMessage('No Python version is selected'); + Exit; + end; //} + + // Destroy P4D components + { + FreeAndNil(PythonEngine1); + FreeAndNil(PythonType1); + FreeAndNil(PythonModule1); } + if assigned(PythonEngine1) then PythonEngine1.free; + if assigned(PythonModule1) then PythonModule1.free; + if assigned(PythonType1) then PythonType1.free; + + { TPythonEngine } + PythonEngine1 := TPythonEngine.Create(Self); + //writeln('mapdll EXCEPT '+ExceptionToString(ExceptionType,ExceptionParam)); + PythonEngine1.pythonhome:= PYHOME; + PythonEngine1.dllpath:= PyHOME; + PythonEngine1.dllname:= PYDLLNAME; + PyVersions[cbPyVersions.ItemIndex].AssignTo(PythonEngine1); + + PythonEngine1.IO := PythonGUIInputOutput1; + + { TPythonModule } + PythonModule1 := TPythonModule.Create(Self); + + //PythonModule1.Name := 'PythonModule1'; + PythonModule1.Engine := PythonEngine1; + PythonModule1.ModuleName := 'spam'; + with PythonModule1.Errors.Add do begin + Name := 'PointError'; + ErrorType := etClass; + end; + with PythonModule1.Errors.Add do begin + Name := 'EBadPoint'; + ErrorType := etClass; + ParentClass.Name := 'PointError'; + end; + + { TPythonType } + PythonType1 := TPythonType.Create; + PythonType1.Name := 'PythonType1'; + PythonType1.Engine := PythonEngine1; + //PythonType1.OnInitialization := PythonType1Initialization; + PythonType1.TypeName := 'Point'; + PythonType1.Prefix := 'Create'; + PythonType1.Services.Basic := [pbsRepr,pbsStr,pbsGetAttrO,pbsSetAttrO]; + PythonType1.TypeFlags := [tpTypeSubclass, tpBytesSubclass, tpfHaveGC]; + //[tpfHaveGetCharBuffer,tpfHaveSequenceIn,tpfHaveInplaceOps, + // [tpfHaveRichCompare,tpfHaveWeakRefs,tpfHaveIter,tpfHaveClass,tpfBaseType]; + PythonType1.Module := PythonModule1; + try + PythonEngine1.LoadDll; + except + writeln('mapdll EXCEPT '+ExceptionToString(ExceptionType,ExceptionParam)); + end; + PythonEngine1.free; +end; + + +procedure TForm1Button2Click(Sender: TObject); +begin + with OpenDialog1 do + begin + if Execute then + aMemo1.Lines.LoadFromFile( FileName ); + end; //} +end; + +procedure TForm1Button3Click(Sender: TObject); +begin + with SaveDialog1 do + begin + if Execute then + aMemo1.Lines.SaveToFile( FileName ); + end; +end; + +procedure createPYEngine; +begin + +//object PythonEngine1: TPythonEngine + PythonGUIInputOutput1:= TPythonGUIInputOutput.create(nil) + PythonEngine1:= TPythonEngine.create(nil) + + PythonEngine1.IO := PythonGUIInputOutput1 + OpenDialog1:= TOpenDialog.create(self); + with opendialog1 do begin + DefaultExt := '*.py' + Filter := 'Python files|*.py|Text files|*.txt|All files|*.*' + //Left = 176 + end; + {object SaveDialog1: TSaveDialog + DefaultExt = '*.py' + Filter = 'Python files|*.py|Text files|*.txt|All files|*.*' + Left = 208 + end } + //PythonGUIInputOutput1:= TPythonGUIInputOutput.create(self) + with PythonGUIInputOutput1 do begin + UnicodeIO:= False + RawOutput:= False + Output:= Memo2 + //Left = 64 + end; + end; + +var myloadscript, myloadscript2: string; + PyForm: TForm; pyMemo: TMemo; + +Procedure PYLaz_P4D_Demo; +//https://wiki.freepascal.org/Python4Delphi +var eng : TPythonEngine; + Out1: TPythonGUIInputOutput; +begin + eng:= TPythonEngine.Create(Nil); + Out1:= TPythonGUIInputOutput.create(nil) + Out1.output:= pyMemo; //debugout.output; //memo2; + Out1.RawOutput:= False; + Out1.UnicodeIO:= False; + Out1.maxlines:= 20; + out1.displaystring('this string') + //eng.IO:= Out1; + Out1.writeline('draw the line'); + //eng.free; + try + eng.LoadDll; + eng.IO:= Out1; + if eng.IsHandleValid then begin + writeln('DLLhandle: '+botostr(eng.IsHandleValid)) + WriteLn('evens: '+ eng.EvalStringAsStr('[x**2 for x in range(15)]')); + WriteLn('gauss: '+ eng.EvalStringAsStr('sum([x for x in range(101)])')); + WriteLn('gauss2: '+ eng.EvalStr('sum([x % 2 for x in range(10100)])')); + writeln('syncheck '+ + botostr(eng.CheckEvalSyntax('print("powers:",[x**2 for x in range(10)])'))); + eng.ExecString('print("powers:",[x**2 for x in range(10)])'); + eng.ExecString(PYCMD); + writeln('ExecSynCheck1 '+botostr(eng.CheckExecSyntax(myloadscript))); + //writeln('ExecSynCheck2 '+ + // botostr(eng.CheckExecSyntax(filetostring(PYSCRIPT)))); + //eng.ExecString(filetostring(PYSCRIPT)); + writeln(eng.Run_CommandAsString('print("powers:",[x**2 for x in range(10)])',eval_input)); + writeln(eng.Run_CommandAsString('sum([x for x in range(201)])',eval_input)); + eng.ExecString('from sympy import *'); + eng.ExecString('from sympy.plotting import plot'); + writeln(eng.EvalStr('list(primerange(7, 150))')); + writeln(eng.EvalStr('sum(list(primerange(0, 100)))')); + writeln(eng.EvalStr('(list(primerange(0, 101)))')); + + //https://medium.com/catalysts-reachout/track-anyones-ip-address-using-python-5a1a76146615 + + eng.ExecString('import os'+LF+'import json'+LF+'import urllib.request'); + eng.ExecString('url = "http://ip-api.com/json/"'); + eng.ExecString('targetip = "129.42.38.1"'); + + //eng.ExecString('response=urllib.request.urlopen(url)'); + eng.ExecString('response=urllib.request.urlopen(url+targetip)'); + + //response=urllib2.urlopen(url+ip) + //writeln(eng.EvalStr('response.read()')); + + eng.ExecString('data=response.read()'); + eng.ExecString('values=json.loads(data)'); + println(eng.EvalStr('"ISP: "+values["isp"]')); + println(eng.EvalStr('"city: "+values["city"]')); + println(eng.EvalStr('"IP: "+values["query"]')); + + // response=urllib2.urlopen(url+ip) + + {print("IP: "+values["query"]) + print("City: "+values["city"]) + print("ISP: "+values["isp"]) + print("Country: "+values["country"]) + print("Region: "+values["region"]) + print("Timezone: "+values["timezone"]) } + + + pymemo.update; + end + else writeln('invalid library handle! '+Getlasterrortext); + writeln('PythonOK '+botostr(PythonOK)); + out1.free; + //pyImport(PyModule); + except + eng.raiseError; + finally + eng.free; + end; +end; + +//https://stackoverflow.com/questions/67759582/find-correct-python4delphi-tpythonengine-parameters + +//https://medium.com/@SergiAlfonso/small-python-script-ff68ee7687fb + +{$DEFINE MSWINDOWS} + +procedure TPythonEngineConfigSetPythonengineValues(PythonEngine + : TPythonEngine); +var + FPyVersions: TPythonVersions; + var self: TPythonEngine; +begin + /// + /// convert this https://github.com/pyscripter/python4delphi/wiki/FindingPython + /// into a small automatic setting of parameter + /// + + PythonEngine.UseLastKnownVersion := Self.UseLastKnownVersion; + if Self.UseLastKnownVersion then + begin +{$IFDEF MSWINDOWS} + FPyVersions := GetRegisteredPythonVersions; + FPyVersions[0].AssignTo(PythonEngine); +{$ENDIF} +{$IFDEF LINUX} + /// not supported on LINUX + /// https://en.delphipraxis.net/topic/4700-getregisteredpythonversions-for-linux/ +{$ENDIF} + end + else begin + //var self: TPythonEngine; + self:= TPythonEngine(PythonEngine); + PythonEngine.APIVersion := self.APIVersion ; + PythonEngine.DllName := Self.DllName; + PythonEngine.DllPath := Self.DllPath; + PythonEngine.AutoFinalize := Self.AutoFinalize; + PythonEngine.AutoLoad := Self.AutoLoad; + PythonEngine.AutoUnload := Self.AutoUnload; + PythonEngine.RedirectIO := Self.RedirectIO; + PythonEngine.UseWindowsConsole := Self.UseWindowsConsole; + PythonEngine.RegVersion := Self.RegVersion; + end; +end; + + var OriginalOwner: TPythonEngine; + +begin //@main + + { createPYEngine; + TForm1Button1Click(self)} + + //TForm1CreatePythonComponents; + {OriginalOwner := GetPythonEngine; //.Owner; + GetPythonEngine.Free; + TPythonEngine.Create(OriginalOwner); } + //GetPythonEngine.Free; + {writeln('PythonOK '+botostr(PythonOK)); + try + pyImport(PYSCRIPT) + except + writeln('ImportEXCEPT '+ExceptionToString(ExceptionType,ExceptionParam)); + end; } + + //PythonEngine1.Free; + + //myloadscript:= filetostring(PYSCRIPT); + //myloadscript2:= filetostring(PYSCRIPT2); + + PyForm:= loadForm2(300,200, clgreen, 'PyFrm4D'); + pyMemo:= TMemo.create(PyForm); + pyMemo.parent:= PyForm + PyForm.show; + + PYLaz_P4D_Demo; + + //register_PYthonGUI; + //PyForm.show; + + + with TFastStringStream.create('') do begin + free; + end; + + with TPythonGUIInputOutput.create(self) do begin + displaystring(''); + free; + end; //} + +End. +----app_template_loaded_code---- +----File newtemplate.txt not exists - now saved!---- + +Doc: Destroying it calls Py_Finalize, which frees all memory allocated by the Python DLL. + +Or, if you're just using the Python API without the VCL wrappers, you can probably just call Py_NewInterpreter on your TPythonInterface object to get a fresh execution environment without necessarily discarding everything done before. + +Ref: + +-------------------------------------------------------- +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. +PascalScript maXbox4 - RemObjects & SynEdit + +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. + +dll EXCEPT Exception: Access violation at address 00345A76 in module 'maXbox4.exe'. Read of address 4365636E. +TRUE +Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AD. + +mapdll EXCEPT Exception: There is already one instance of TPythonEngine running. +PythonOK TRUE +ImportEXCEPT Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AC. + mX4 executed: 26/07/2021 13:30:51 Runtime: 0:0:2.48 Memload: 71% use \ No newline at end of file diff --git a/Demos/VirtualBox_kalilinux64_11_10_2022_18_47_51_AGSI.png b/Demos/VirtualBox_kalilinux64_11_10_2022_18_47_51_AGSI.png new file mode 100644 index 00000000..1a848679 Binary files /dev/null and b/Demos/VirtualBox_kalilinux64_11_10_2022_18_47_51_AGSI.png differ diff --git a/Demos/VirtualBox_kalilinux64_13_10_2022_12_09_45_AGSI.png b/Demos/VirtualBox_kalilinux64_13_10_2022_12_09_45_AGSI.png new file mode 100644 index 00000000..503c591d Binary files /dev/null and b/Demos/VirtualBox_kalilinux64_13_10_2022_12_09_45_AGSI.png differ diff --git a/Demos/output/20220609_153401.jpg b/Demos/output/20220609_153401.jpg new file mode 100644 index 00000000..1cc2ec13 Binary files /dev/null and b/Demos/output/20220609_153401.jpg differ diff --git a/Demos/output/frankfurtmanmachineout21.jpg b/Demos/output/frankfurtmanmachineout21.jpg new file mode 100644 index 00000000..0c694495 Binary files /dev/null and b/Demos/output/frankfurtmanmachineout21.jpg differ diff --git a/Demos/output/manmachineout.jpg b/Demos/output/manmachineout.jpg new file mode 100644 index 00000000..ee47400b Binary files /dev/null and b/Demos/output/manmachineout.jpg differ diff --git a/Demos/output/manmachineout2.jpg b/Demos/output/manmachineout2.jpg new file mode 100644 index 00000000..ddf92da4 Binary files /dev/null and b/Demos/output/manmachineout2.jpg differ diff --git a/Demos/output/manmachineout21.jpg b/Demos/output/manmachineout21.jpg new file mode 100644 index 00000000..6a2c58c3 Binary files /dev/null and b/Demos/output/manmachineout21.jpg differ diff --git a/Demos/output/manmachinepyscript.jpg b/Demos/output/manmachinepyscript.jpg new file mode 100644 index 00000000..6a2c58c3 Binary files /dev/null and b/Demos/output/manmachinepyscript.jpg differ diff --git a/Demos/output/maxekon25sessionout2021.jpg b/Demos/output/maxekon25sessionout2021.jpg new file mode 100644 index 00000000..66e0783a Binary files /dev/null and b/Demos/output/maxekon25sessionout2021.jpg differ diff --git a/Demos/output/maxekon25sessionout2021_2.jpg b/Demos/output/maxekon25sessionout2021_2.jpg new file mode 100644 index 00000000..2612f95d Binary files /dev/null and b/Demos/output/maxekon25sessionout2021_2.jpg differ diff --git a/Demos/output/sessionout2022_CAS - Kopie.jpg b/Demos/output/sessionout2022_CAS - Kopie.jpg new file mode 100644 index 00000000..069d4daf Binary files /dev/null and b/Demos/output/sessionout2022_CAS - Kopie.jpg differ diff --git a/Demos/output/sessionout2022_CAS.jpg b/Demos/output/sessionout2022_CAS.jpg new file mode 100644 index 00000000..069d4daf Binary files /dev/null and b/Demos/output/sessionout2022_CAS.jpg differ diff --git a/Demos/output/testcas32022_CAS - Kopie (2).jpg b/Demos/output/testcas32022_CAS - Kopie (2).jpg new file mode 100644 index 00000000..421b2039 Binary files /dev/null and b/Demos/output/testcas32022_CAS - Kopie (2).jpg differ diff --git a/Demos/output/testcas32022_CAS - Kopie (3).jpg b/Demos/output/testcas32022_CAS - Kopie (3).jpg new file mode 100644 index 00000000..923f1ff6 Binary files /dev/null and b/Demos/output/testcas32022_CAS - Kopie (3).jpg differ diff --git a/Demos/output/testcas32022_CAS - Kopie.jpg b/Demos/output/testcas32022_CAS - Kopie.jpg new file mode 100644 index 00000000..36bfeef5 Binary files /dev/null and b/Demos/output/testcas32022_CAS - Kopie.jpg differ diff --git a/Demos/output/testcas32022_CAS.jpg b/Demos/output/testcas32022_CAS.jpg new file mode 100644 index 00000000..923f1ff6 Binary files /dev/null and b/Demos/output/testcas32022_CAS.jpg differ diff --git a/Demos/output/transrapid2022_CAS - Kopie.jpg b/Demos/output/transrapid2022_CAS - Kopie.jpg new file mode 100644 index 00000000..bff67383 Binary files /dev/null and b/Demos/output/transrapid2022_CAS - Kopie.jpg differ diff --git a/Demos/output/transrapid2022_CAS.jpg b/Demos/output/transrapid2022_CAS.jpg new file mode 100644 index 00000000..bff67383 Binary files /dev/null and b/Demos/output/transrapid2022_CAS.jpg differ diff --git a/Demos/output/truth2022_CAS.jpg b/Demos/output/truth2022_CAS.jpg new file mode 100644 index 00000000..a9ce76fe Binary files /dev/null and b/Demos/output/truth2022_CAS.jpg differ diff --git a/README.md b/README.md index 7052ed27..64be9194 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,6 @@ end; https://maxbox4.wordpress.com/2021/07/28/python4maxbox-code/ +![1096_2022-11-12_svg_delphi_maxbox_seaborn4](https://user-images.githubusercontent.com/109789632/201486990-f574eb5f-46e1-439f-a456-2e158fdf35e9.png) + diff --git a/Tests/1072_captcha21_EKON26_tutor97.txt b/Tests/1072_captcha21_EKON26_tutor97.txt new file mode 100644 index 00000000..4e6ce493 --- /dev/null +++ b/Tests/1072_captcha21_EKON26_tutor97.txt @@ -0,0 +1,415 @@ +Program Captcha_Pykon_P4D_VCL4Py_Routines; + +var PyForm: TForm; pyMemo: TMemo; + avar: string; pyval: variant; pyint: integer; + +const OUT_TT_ONLY_PRECIS = 7; + FF_SWISS = 32; + TRansparent =1; + +//https://lazarus-ccr.sourceforge.io/docs/lcl/lcltype/out_tt_only_precis.html + +procedure TForm1letrasAnguladas(c : string; angulo : integer; + nextPos : Integer; image1: TImage); +var + logfont:TLogFont; + font: Thandle; + //Image1: TImage; + //form: TForm; +begin + + LogFont.lfheight:=45; + logfont.lfwidth:=10; + logfont.lfweight:=900; + + LogFont.lfEscapement:=angulo; + logfont.lfcharset:=1; + logfont.lfoutprecision:=OUT_TT_ONLY_PRECIS; + logfont.lfquality:= DEFAULT_QUALITY; + logfont.lfpitchandfamily:= FF_SWISS; + logfont.lfUnderline := 0; + logfont.lfStrikeOut := 0; + font:=createfontindirect(logfont); + //image1.canvas.brush.color:= clblack; + Selectobject(Image1.canvas.handle,font); + SetTextColor(Image1.canvas.handle,rgb(0,180,0)); + SetBKmode(Image1.canvas.handle,TRansparent); + SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + Image1.canvas.textout(nextPos,Image1.Height div 3,c); + //SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + // image1.canvas.brush.color:= clblack; + + deleteobject(font); +end; + +const PYDLL32 = 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\python32.dll'; +var vX:integer; strCaptcha: string; form1: TForm; image1: TImage; + +const PyGiniFunc = + 'def gini_index(groups, classes): '+LF+ + ' n_instances = float(sum([len(group) for group in groups])) '+LF+ + ' # sum weighted Gini index for each group '+LF+ + ' gini = 0.0 '+LF+ + ' for group in groups: '+LF+ + ' size = float(len(group)) '+LF+ + ' # avoid divide by zero '+LF+ + ' if size == 0: '+LF+ + ' continue '+LF+ + ' score = 0.0 '+LF+ + ' # score the group based on the score for each class '+LF+ + ' for class_val in classes: '+LF+ + ' p = [row[-1] for row in group].count(class_val)/size '+LF+ + ' score += p * p '+LF+ + ' # weight the group score by its relative size '+LF+ + ' gini += (1.0 - score) * (size / n_instances) '+LF+ + ' return gini '; + +begin //@main + //PythonEngine1.Free; + //myloadscript2:= filetostring(PYSCRIPT2); + //Memo1.beginUpdate; + + + form1:= TForm.create(self); + image1:= TImage.create(self); + with form1 do begin + setbounds(100,100, 315,250) + color:= clblack; + show; + with image1 do begin + parent:= form1; + color:= clblack; + setbounds(0,0,315,220) + for it := 0 to 15 do begin + Canvas.Pen.Color := Random(100000); + Canvas.MoveTo(random(Width), random(Height)); + Canvas.LineTo(random(Width), random(Height)); + end; + end; + end; + + //Procedure azuSaveForm( F : TForm; Filename : string)'); + azuSaveForm(form1, exepath+'savecaptcha.txt'); + + strCaptcha:= 'str-Captcha' + for vX := 1 to Length(strCaptcha) do + TForm1letrasAnguladas(strCaptcha[vX],Random(600)+1,25*vX-15, image1); + + //*) + //azuSaveForm(form1, exepath+'savecaptcha.txt'); + + + with TPythonEngine.Create(Nil) do begin + pythonhome:= 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + try + loadDLL; + //opendll(PYDLL32) + Println('Decimal: '+ + EvalStr('__import__("decimal").Decimal(0.1)')); + println(evalstr('sum([i for i in range(101)])')); + //execstr(filetostring(exepath+'EKON26\gini_split.py')); + //execStr(PyGiniFunc) + execstr(filetoString('C:\Program Files\Streaming\IBZ2021\Module2_3\EKON26\gini_split.py')); + println(evalstr('gini_index([[[1,1], [1,0]], [[1,1], [1,0]]], [0,1])')); + except + raiseError; + finally + free; + end; + end; + + //register_PYthonGUI; + // print('dir p4d:: '+getDosOutput('py -3.7-32 -c "from delphivcl import *"',exePath)); + //get a list of all p4d methods (vcl4python): + print('dir p4d:: '+ + getDosOutput('py -3.7-32 -c "from delphivcl import *; '+ + 'print(dir()[0:45])"',exePath)); + writeln('host name: '+gethostname) + writeln('ip host name: '+getipaddress(gethostname)); + writeln('getParentDirklib of box: '+getParentDirklib(exepath)); + writeln('getLocaleDecimalSeparatorklib: '+getLocaleDecimalSeparatorklib); + writeln('#lines: '+itoa(getNumberOfLinesInStrFixedWordWrapklib(PyGiniFunc))); + writeln('getDateAsStringklib '+getDateAsStringklib(now)); + writeln('getCurrentTimeStampklib '+getCurrentTimeStampklib); + + +End. +----app_template_loaded_code---- +----File newtemplate.txt not exists - now saved!---- + +doc: https://stackoverflow.com/questions/23134820/unhandled-exception-at-multiarray-pyd-the-2nd-time-the-program-runs#23173191 + +https://stackoverflow.com/questions/16779799/py-initialize-and-py-finalize-and-matplotlib + +maXbox_Starter86_3_Python4maXbox + +Doc: Destroying it calls Py_Finalize, which frees all memory allocated by the Python DLL. +Or, if you're just using the Python API without the VCL wrappers, you can probably just call Py_NewInterpreter on your TPythonInterface object to get a fresh execution environment without necessarily discarding everything done before. + +Evil eval() + +You should never pass untrusted source to the eval() directly. As it is quite easy for the malicious user to wreak havoc on your system. For example, the following code can be used to delete all the files from the system. + +1 >>> +2 eval('os.system("RM -RF /")') # command is deliberately capitalized +3 >>> + +# demo script +import matplotlib.pyplot as plt +import numpy as np +x = np.arange(0,8*np.pi,0.1) # start,stop,step +y = np.cos(x) *1/(1+x) +plt.plot(x,y) +plt.show() + + +Ref: https://sourceforge.net/projects/maxbox/files/Examples/EKON/P4D/python37.dll/download +-------------------------------------------------------- +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. +PascalScript maXbox4 - RemObjects & SynEdit + +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. + +dll EXCEPT Exception: Access violation at address 00345A76 in module 'maXbox4.exe'. Read of address 4365636E. +TRUE +Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AD. + +mapdll EXCEPT Exception: There is already one instance of TPythonEngine running. +PythonOK TRUE +ImportEXCEPT Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AC. + mX4 executed: 26/07/2021 13:30:51 Runtime: 0:0:2.48 Memload: 71% use + +Example 3: Python multithreading + +All the programs above in this article are single-threaded programs. Here's an example of a multithreaded Python program. + + +import threading + +def print_hello_three_times(): + for i in range(3): + print("Hello") + +def print_hi_three_times(): + for i in range(3): + print("Hi") + +t1 = threading.Thread(target=print_hello_three_times) +t2 = threading.Thread(target=print_hi_three_times) + +t1.start() +t2.start() + +This package implements JSON support for FPC. + +You might want to have a look at the lazarus jsonviewer tool, written using +fpJSON (see lazarus/tools/jsonviewer). It visualizes the fpJSON data and +shows how to program using fpjson. + +JSON support consists of 3 parts: + +unit fpJSON contains the data representation. Basically, it defines a set of +classes: + +TJSONData ++- TJSONNumber + +- TJSONIntegerNumber + +- TJSONFloatNumber + +- TJSONInt64Number ++- TJSONString ++- TJSONBoolean ++- TJSONNull ++- TJSONObject ++- TJSONArray + +The TJSONData.JSONType property is an enumerated: +TJSONtype = (jtUnknown, jtNumber, jtString, jtBoolean, jtNull, jtArray, jtObject); + +Which allows to determine the type of a value. + +Page 7: But the eval-uation of -> But the evaluation of +page 8: Ans here's the -> And here's the +page 10: The mentioned windows dll file for Python. > The mentioned windows dll file from Python. +page 10: (I'll show that in the Tutor III). -> (I'll show that in the Part 3). +page 14: so we use the same inter-preter as from a shell -> so we use the same from a shell + +procedure TPythonEngine.DoRedirectIO; +const + code = 'import sys'+LF+ + 'class DebugOutput:'+LF+ + ' pyio = __import__("pyio")'+LF+ + ' softspace=0'+LF+ + ' encoding=None'+LF+ + ' def write(self,message):'+LF+ + ' self.pyio.write(message)'+LF+ + ' def readline(self, size=None):'+LF+ + ' return self.pyio.read(size)'+LF+ + ' def flush(self):' + LF + + ' pass' + LF + + ' def isatty(self):' + LF + + ' return True' + LF + + 'sys.old_stdin=sys.stdin'+LF+ + 'sys.old_stdout=sys.stdout'+LF+ + 'sys.old_stderr=sys.stderr'+LF+ + 'sys.stdin=sys.stderr=sys.stdout=DebugOutput()'+LF+#0; +begin + if csDesigning in ComponentState then + Exit; + CheckPython; + if not Assigned(FIOPythonModule) then + begin + // create a new module called pyio + FIOPythonModule := TPythonModule.Create( Self ); + with FIOPythonModule as TPythonModule do + begin + Engine := Self; + ModuleName := 'pyio'; + AddMethod( 'write', pyio_write, 'write(String) -> None' ); + AddMethod( 'read', pyio_read, 'read() -> String' ); + AddMethod( 'SetDelayWrites', pyio_SetDelayWrites, 'SetDelayWrites(Boolean) -> None' ); + AddMethod( 'SetMaxLines', pyio_SetMaxLines, 'SetMaxLines(Integer) -> None' ); + AddMethod( 'GetTypesStats', pyio_GetTypesStats, 'GetTypesStats( [type name] ) -> a list of tuple (TypeName, InstanceCount, CreateHits, DeleteHits)' ); + end; + end; + with FIOPythonModule as TPythonModule do + if not Initialized then + Initialize; + // execute the code + ExecString(code); + FIORedirected := True; +end; + +https://tmssoftware.com/radoween/ + +checks all initdefault + +1 procedure InitDefault(); virtual; +2 procedure InitDefault(); override; TNNetMovingStdNormalization +3 procedure InitDefault(); override; TNNetChannelShiftBase +4 procedure InitDefault(); override; TNNetChannelMul +5 procedure InitDefault(); override; TNNetCellBias +6 procedure InitDefault(); override; TNNetCellMul +7 procedure InitDefault(); override; TNNetChannelStdNormalization +8 procedure InitDefault(); override; TNNetConvolutionAbstract +9 procedure InitDefault(); override; TNNetDepthwiseConv + +in maXbox +1 RegisterMethod('Procedure InitDefault( )'); TNNetDepthwiseConv +2 TNNetConvolutionAbstract TNNetLayerConcatedWeights +3 TNNetChannelStdNormalization +4 TNNetCellMul +5 TNNetCellBias +6 TNNetChannelMul +7 TNNetChannelShiftBase +8 TNNetMovingStdNormalization +9 RegisterMethod('Procedure InitDefault( )'); + + // Initializers + procedure InitUniform(Value: TNeuralFloat = 1); + procedure InitGaussian(Value: TNeuralFloat = 1); + procedure InitLeCunUniform(Value: TNeuralFloat = 1); + procedure InitHeUniform(Value: TNeuralFloat = 1); + procedure InitHeGaussian(Value: TNeuralFloat = 1); + procedure InitHeUniformDepthwise(Value: TNeuralFloat = 1); + procedure InitHeGaussianDepthwise(Value: TNeuralFloat = 1); + procedure InitSELU(Value: TNeuralFloat = 1); + +critical +procedure TNeuralDataLoadingFit.FitLoading(pNN: TNNet; TrainingCnt, + ValidationCnt, TestCnt, pBatchSize, Epochs: integer; + pGetTrainingPair, pGetValidationPair, + pGetTestPair: TNNetGetPairFn); + +procedure TNeuralImageFit.Fit(pNN: TNNet; + pImgVolumes, pImgValidationVolumes, pImgTestVolumes: TNNetVolumeList; + pNumClasses, pBatchSize, Epochs: integer); + + 0.1.40 +C:\Program Files\Streaming\IBZ2021\Module2_3>pip uninstall delphivcl +Found existing installation: delphivcl 0.1.31 +Uninstalling delphivcl-0.1.31: + Would remove: + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl-0.1.31.dist-info\* + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\* + Would not remove (might be manually added): + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\Win64\DelphiVCL.pyd + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\__init__ - Kopie.py + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs - Kopie.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.log +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.31 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip install delphivcl +Collecting delphivcl + Downloading delphivcl-0.1.40-cp37-cp37m-win32.whl (2.2 MB) + |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.2 MB 1.7 MB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.40 +WARNING: You are using pip version 20.1.1; however, version 22.2.2 is available. +You should consider upgrading via the 'c:\users\breitsch\appdata\local\programs\python\python37-32\python.exe -m pip install --upgrade pip' command. + +C:\Program Files\Streaming\IBZ2021\Module2_3>py + +C:\Program Files\Streaming\IBZ2021\Module2_3>py -0 +Installed Pythons found by py Launcher for Windows + -3.8-64 * + -3.7-32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/1072_captcha2_EKON26.txt b/Tests/1072_captcha2_EKON26.txt new file mode 100644 index 00000000..d00b88aa --- /dev/null +++ b/Tests/1072_captcha2_EKON26.txt @@ -0,0 +1,347 @@ +Program Captcha; + +var PyForm: TForm; pyMemo: TMemo; + avar: string; pyval: variant; pyint: integer; + +const OUT_TT_ONLY_PRECIS = 7; + FF_SWISS = 32; + TRansparent =1; + +//https://lazarus-ccr.sourceforge.io/docs/lcl/lcltype/out_tt_only_precis.html + +procedure TForm1letrasAnguladas(c : string; angulo : integer; + nextPos : Integer; image1: TImage); +var + logfont:TLogFont; + font: Thandle; + //Image1: TImage; + //form: TForm; +begin + + LogFont.lfheight:=45; + logfont.lfwidth:=10; + logfont.lfweight:=900; + + LogFont.lfEscapement:=angulo; + logfont.lfcharset:=1; + logfont.lfoutprecision:=OUT_TT_ONLY_PRECIS; + logfont.lfquality:= DEFAULT_QUALITY; + logfont.lfpitchandfamily:= FF_SWISS; + logfont.lfUnderline := 0; + logfont.lfStrikeOut := 0; + font:=createfontindirect(logfont); + + Selectobject(Image1.canvas.handle,font); + SetTextColor(Image1.canvas.handle,rgb(0,180,0)); + SetBKmode(Image1.canvas.handle,TRansparent); + SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + Image1.canvas.textout(nextPos,Image1.Height div 3,c); + //SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + deleteobject(font); +end; + +const PYDLL32 = 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\python32.dll'; +var vX:integer; strCaptcha: string; form1: TForm; image1: TImage; + +begin //@main + //PythonEngine1.Free; + //myloadscript2:= filetostring(PYSCRIPT2); + //Memo1.beginUpdate; + + + form1:= TForm.create(self); + image1:= TImage.create(self); + with form1 do begin + setbounds(100,100, 300,250) + show; + with image1 do begin + parent:= form1; + setbounds(0,0,300,220) + for it := 0 to 15 do begin + Canvas.Pen.Color := Random(100000); + Canvas.MoveTo(random(Width), random(Height)); + Canvas.LineTo(random(Width), random(Height)); + end; + end; + end; + + + strCaptcha:= 'str-Captcha' + for vX := 1 to Length(strCaptcha) do + TForm1letrasAnguladas(strCaptcha[vX],Random(600)+1,25*vX-15, image1); + + //*) + + + with TPythonEngine.Create(Nil) do begin + pythonhome:= 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + try + //loadDLL; + opendll(PYDLL32) + Println('Decimal: '+ + EvalStr('__import__("decimal").Decimal(0.1)')); + println(evalstr('sum([i for i in range(101)])')); + //execstr(filetostring(exepath+'EKON26\gini_split.py')); + execstr(filetostring('C:\Program Files\Streaming\IBZ2021\Module2_3\EKON26\gini_split.py')); + println(evalstr('gini_index([[[1,1], [1,0]], [[1,1], [1,0]]], [0,1])')); + except + raiseError; + finally + free; + end; + end; + + //register_PYthonGUI; + writeln('host name: '+gethostname) + writeln('ip host name: '+getipaddress(gethostname)); + + +End. +----app_template_loaded_code---- +----File newtemplate.txt not exists - now saved!---- + +doc: https://stackoverflow.com/questions/23134820/unhandled-exception-at-multiarray-pyd-the-2nd-time-the-program-runs#23173191 + +https://stackoverflow.com/questions/16779799/py-initialize-and-py-finalize-and-matplotlib + +maXbox_Starter86_3_Python4maXbox + +Doc: Destroying it calls Py_Finalize, which frees all memory allocated by the Python DLL. +Or, if you're just using the Python API without the VCL wrappers, you can probably just call Py_NewInterpreter on your TPythonInterface object to get a fresh execution environment without necessarily discarding everything done before. + +Evil eval() + +You should never pass untrusted source to the eval() directly. As it is quite easy for the malicious user to wreak havoc on your system. For example, the following code can be used to delete all the files from the system. + +1 >>> +2 eval('os.system("RM -RF /")') # command is deliberately capitalized +3 >>> + +# demo script +import matplotlib.pyplot as plt +import numpy as np +x = np.arange(0,8*np.pi,0.1) # start,stop,step +y = np.cos(x) *1/(1+x) +plt.plot(x,y) +plt.show() + + +Ref: https://sourceforge.net/projects/maxbox/files/Examples/EKON/P4D/python37.dll/download +-------------------------------------------------------- +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. +PascalScript maXbox4 - RemObjects & SynEdit + +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. + +dll EXCEPT Exception: Access violation at address 00345A76 in module 'maXbox4.exe'. Read of address 4365636E. +TRUE +Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AD. + +mapdll EXCEPT Exception: There is already one instance of TPythonEngine running. +PythonOK TRUE +ImportEXCEPT Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AC. + mX4 executed: 26/07/2021 13:30:51 Runtime: 0:0:2.48 Memload: 71% use + +Example 3: Python multithreading + +All the programs above in this article are single-threaded programs. Here's an example of a multithreaded Python program. + + +import threading + +def print_hello_three_times(): + for i in range(3): + print("Hello") + +def print_hi_three_times(): + for i in range(3): + print("Hi") + +t1 = threading.Thread(target=print_hello_three_times) +t2 = threading.Thread(target=print_hi_three_times) + +t1.start() +t2.start() + +This package implements JSON support for FPC. + +You might want to have a look at the lazarus jsonviewer tool, written using +fpJSON (see lazarus/tools/jsonviewer). It visualizes the fpJSON data and +shows how to program using fpjson. + +JSON support consists of 3 parts: + +unit fpJSON contains the data representation. Basically, it defines a set of +classes: + +TJSONData ++- TJSONNumber + +- TJSONIntegerNumber + +- TJSONFloatNumber + +- TJSONInt64Number ++- TJSONString ++- TJSONBoolean ++- TJSONNull ++- TJSONObject ++- TJSONArray + +The TJSONData.JSONType property is an enumerated: +TJSONtype = (jtUnknown, jtNumber, jtString, jtBoolean, jtNull, jtArray, jtObject); + +Which allows to determine the type of a value. + +Page 7: But the eval-uation of -> But the evaluation of +page 8: Ans here's the -> And here's the +page 10: The mentioned windows dll file for Python. > The mentioned windows dll file from Python. +page 10: (I'll show that in the Tutor III). -> (I'll show that in the Part 3). +page 14: so we use the same inter-preter as from a shell -> so we use the same from a shell + +procedure TPythonEngine.DoRedirectIO; +const + code = 'import sys'+LF+ + 'class DebugOutput:'+LF+ + ' pyio = __import__("pyio")'+LF+ + ' softspace=0'+LF+ + ' encoding=None'+LF+ + ' def write(self,message):'+LF+ + ' self.pyio.write(message)'+LF+ + ' def readline(self, size=None):'+LF+ + ' return self.pyio.read(size)'+LF+ + ' def flush(self):' + LF + + ' pass' + LF + + ' def isatty(self):' + LF + + ' return True' + LF + + 'sys.old_stdin=sys.stdin'+LF+ + 'sys.old_stdout=sys.stdout'+LF+ + 'sys.old_stderr=sys.stderr'+LF+ + 'sys.stdin=sys.stderr=sys.stdout=DebugOutput()'+LF+#0; +begin + if csDesigning in ComponentState then + Exit; + CheckPython; + if not Assigned(FIOPythonModule) then + begin + // create a new module called pyio + FIOPythonModule := TPythonModule.Create( Self ); + with FIOPythonModule as TPythonModule do + begin + Engine := Self; + ModuleName := 'pyio'; + AddMethod( 'write', pyio_write, 'write(String) -> None' ); + AddMethod( 'read', pyio_read, 'read() -> String' ); + AddMethod( 'SetDelayWrites', pyio_SetDelayWrites, 'SetDelayWrites(Boolean) -> None' ); + AddMethod( 'SetMaxLines', pyio_SetMaxLines, 'SetMaxLines(Integer) -> None' ); + AddMethod( 'GetTypesStats', pyio_GetTypesStats, 'GetTypesStats( [type name] ) -> a list of tuple (TypeName, InstanceCount, CreateHits, DeleteHits)' ); + end; + end; + with FIOPythonModule as TPythonModule do + if not Initialized then + Initialize; + // execute the code + ExecString(code); + FIORedirected := True; +end; + +https://tmssoftware.com/radoween/ + +checks all initdefault + +1 procedure InitDefault(); virtual; +2 procedure InitDefault(); override; TNNetMovingStdNormalization +3 procedure InitDefault(); override; TNNetChannelShiftBase +4 procedure InitDefault(); override; TNNetChannelMul +5 procedure InitDefault(); override; TNNetCellBias +6 procedure InitDefault(); override; TNNetCellMul +7 procedure InitDefault(); override; TNNetChannelStdNormalization +8 procedure InitDefault(); override; TNNetConvolutionAbstract +9 procedure InitDefault(); override; TNNetDepthwiseConv + +in maXbox +1 RegisterMethod('Procedure InitDefault( )'); TNNetDepthwiseConv +2 TNNetConvolutionAbstract TNNetLayerConcatedWeights +3 TNNetChannelStdNormalization +4 TNNetCellMul +5 TNNetCellBias +6 TNNetChannelMul +7 TNNetChannelShiftBase +8 TNNetMovingStdNormalization +9 RegisterMethod('Procedure InitDefault( )'); + + // Initializers + procedure InitUniform(Value: TNeuralFloat = 1); + procedure InitGaussian(Value: TNeuralFloat = 1); + procedure InitLeCunUniform(Value: TNeuralFloat = 1); + procedure InitHeUniform(Value: TNeuralFloat = 1); + procedure InitHeGaussian(Value: TNeuralFloat = 1); + procedure InitHeUniformDepthwise(Value: TNeuralFloat = 1); + procedure InitHeGaussianDepthwise(Value: TNeuralFloat = 1); + procedure InitSELU(Value: TNeuralFloat = 1); + +critical +procedure TNeuralDataLoadingFit.FitLoading(pNN: TNNet; TrainingCnt, + ValidationCnt, TestCnt, pBatchSize, Epochs: integer; + pGetTrainingPair, pGetValidationPair, + pGetTestPair: TNNetGetPairFn); + +procedure TNeuralImageFit.Fit(pNN: TNNet; + pImgVolumes, pImgValidationVolumes, pImgTestVolumes: TNNetVolumeList; + pNumClasses, pBatchSize, Epochs: integer); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/1072_captcha2_EKON26_tutor97.txt b/Tests/1072_captcha2_EKON26_tutor97.txt new file mode 100644 index 00000000..974dfd3a --- /dev/null +++ b/Tests/1072_captcha2_EKON26_tutor97.txt @@ -0,0 +1,413 @@ +Program Captcha_Pykon_P4D_VCL4Py_Routines; + +var PyForm: TForm; pyMemo: TMemo; + avar: string; pyval: variant; pyint: integer; + +const OUT_TT_ONLY_PRECIS = 7; + FF_SWISS = 32; + TRansparent =1; + +//https://lazarus-ccr.sourceforge.io/docs/lcl/lcltype/out_tt_only_precis.html + +procedure TForm1letrasAnguladas(c : string; angulo : integer; + nextPos : Integer; image1: TImage); +var + logfont:TLogFont; + font: Thandle; + //Image1: TImage; + //form: TForm; +begin + + LogFont.lfheight:=45; + logfont.lfwidth:=10; + logfont.lfweight:=900; + + LogFont.lfEscapement:=angulo; + logfont.lfcharset:=1; + logfont.lfoutprecision:=OUT_TT_ONLY_PRECIS; + logfont.lfquality:= DEFAULT_QUALITY; + logfont.lfpitchandfamily:= FF_SWISS; + logfont.lfUnderline := 0; + logfont.lfStrikeOut := 0; + font:=createfontindirect(logfont); + //image1.canvas.brush.color:= clblack; + Selectobject(Image1.canvas.handle,font); + SetTextColor(Image1.canvas.handle,rgb(0,180,0)); + SetBKmode(Image1.canvas.handle,TRansparent); + SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + Image1.canvas.textout(nextPos,Image1.Height div 3,c); + //SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255))); + // image1.canvas.brush.color:= clblack; + + deleteobject(font); +end; + +const PYDLL32 = 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\python32.dll'; +var vX:integer; strCaptcha: string; form1: TForm; image1: TImage; + +const PyGiniFunc = + 'def gini_index(groups, classes): '+LF+ + ' n_instances = float(sum([len(group) for group in groups])) '+LF+ + ' # sum weighted Gini index for each group '+LF+ + ' gini = 0.0 '+LF+ + ' for group in groups: '+LF+ + ' size = float(len(group)) '+LF+ + ' # avoid divide by zero '+LF+ + ' if size == 0: '+LF+ + ' continue '+LF+ + ' score = 0.0 '+LF+ + ' # score the group based on the score for each class '+LF+ + ' for class_val in classes: '+LF+ + ' p = [row[-1] for row in group].count(class_val)/size '+LF+ + ' score += p * p '+LF+ + ' # weight the group score by its relative size '+LF+ + ' gini += (1.0 - score) * (size / n_instances) '+LF+ + ' return gini '; + +begin //@main + //PythonEngine1.Free; + //myloadscript2:= filetostring(PYSCRIPT2); + //Memo1.beginUpdate; + + + form1:= TForm.create(self); + image1:= TImage.create(self); + with form1 do begin + setbounds(100,100, 315,250) + color:= clblack; + show; + with image1 do begin + parent:= form1; + color:= clblack; + setbounds(0,0,315,220) + for it := 0 to 15 do begin + Canvas.Pen.Color := Random(100000); + Canvas.MoveTo(random(Width), random(Height)); + Canvas.LineTo(random(Width), random(Height)); + end; + end; + end; + + //Procedure azuSaveForm( F : TForm; Filename : string)'); + azuSaveForm(form1, exepath+'savecaptcha.txt'); + + strCaptcha:= 'str-Captcha' + for vX := 1 to Length(strCaptcha) do + TForm1letrasAnguladas(strCaptcha[vX],Random(600)+1,25*vX-15, image1); + + //*) + //azuSaveForm(form1, exepath+'savecaptcha.txt'); + + + with TPythonEngine.Create(Nil) do begin + pythonhome:= 'C:\users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + try + loadDLL; + //opendll(PYDLL32) + Println('Decimal: '+ + EvalStr('__import__("decimal").Decimal(0.1)')); + println(evalstr('sum([i for i in range(101)])')); + //execstr(filetostring(exepath+'EKON26\gini_split.py')); + //execStr(PyGiniFunc) + execstr(filetoString('C:\Program Files\Streaming\IBZ2021\Module2_3\EKON26\gini_split.py')); + println(evalstr('gini_index([[[1,1], [1,0]], [[1,1], [1,0]]], [0,1])')); + except + raiseError; + finally + free; + end; + end; + + //register_PYthonGUI; + // print('dir p4d:: '+getDosOutput('py -3.7-32 -c "from delphivcl import *"',exePath)); + //get a list of all p4d methods (vcl4python): + print('dir p4d:: '+ + getDosOutput('py -3.7-32 -c "from delphivcl import *; '+ + 'print(dir()[0:45])"',exePath)); + writeln('host name: '+gethostname) + writeln('ip host name: '+getipaddress(gethostname)); + writeln('getParentDirklib of box: '+getParentDirklib(exepath)); + writeln('getLocaleDecimalSeparatorklib: '+getLocaleDecimalSeparatorklib); + writeln('#lines: '+itoa(getNumberOfLinesInStrFixedWordWrapklib(PyGiniFunc))); + + +End. +----app_template_loaded_code---- +----File newtemplate.txt not exists - now saved!---- + +doc: https://stackoverflow.com/questions/23134820/unhandled-exception-at-multiarray-pyd-the-2nd-time-the-program-runs#23173191 + +https://stackoverflow.com/questions/16779799/py-initialize-and-py-finalize-and-matplotlib + +maXbox_Starter86_3_Python4maXbox + +Doc: Destroying it calls Py_Finalize, which frees all memory allocated by the Python DLL. +Or, if you're just using the Python API without the VCL wrappers, you can probably just call Py_NewInterpreter on your TPythonInterface object to get a fresh execution environment without necessarily discarding everything done before. + +Evil eval() + +You should never pass untrusted source to the eval() directly. As it is quite easy for the malicious user to wreak havoc on your system. For example, the following code can be used to delete all the files from the system. + +1 >>> +2 eval('os.system("RM -RF /")') # command is deliberately capitalized +3 >>> + +# demo script +import matplotlib.pyplot as plt +import numpy as np +x = np.arange(0,8*np.pi,0.1) # start,stop,step +y = np.cos(x) *1/(1+x) +plt.plot(x,y) +plt.show() + + +Ref: https://sourceforge.net/projects/maxbox/files/Examples/EKON/P4D/python37.dll/download +-------------------------------------------------------- +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. +PascalScript maXbox4 - RemObjects & SynEdit + +dll EXCEPT Exception: There is already one instance of TPythonEngine running. +TRUE +Exception: Python is not properly initialized. + +dll EXCEPT Exception: Access violation at address 00345A76 in module 'maXbox4.exe'. Read of address 4365636E. +TRUE +Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AD. + +mapdll EXCEPT Exception: There is already one instance of TPythonEngine running. +PythonOK TRUE +ImportEXCEPT Exception: Access violation at address 6BA3BA66 in module 'python36.dll'. Read of address 000000AC. + mX4 executed: 26/07/2021 13:30:51 Runtime: 0:0:2.48 Memload: 71% use + +Example 3: Python multithreading + +All the programs above in this article are single-threaded programs. Here's an example of a multithreaded Python program. + + +import threading + +def print_hello_three_times(): + for i in range(3): + print("Hello") + +def print_hi_three_times(): + for i in range(3): + print("Hi") + +t1 = threading.Thread(target=print_hello_three_times) +t2 = threading.Thread(target=print_hi_three_times) + +t1.start() +t2.start() + +This package implements JSON support for FPC. + +You might want to have a look at the lazarus jsonviewer tool, written using +fpJSON (see lazarus/tools/jsonviewer). It visualizes the fpJSON data and +shows how to program using fpjson. + +JSON support consists of 3 parts: + +unit fpJSON contains the data representation. Basically, it defines a set of +classes: + +TJSONData ++- TJSONNumber + +- TJSONIntegerNumber + +- TJSONFloatNumber + +- TJSONInt64Number ++- TJSONString ++- TJSONBoolean ++- TJSONNull ++- TJSONObject ++- TJSONArray + +The TJSONData.JSONType property is an enumerated: +TJSONtype = (jtUnknown, jtNumber, jtString, jtBoolean, jtNull, jtArray, jtObject); + +Which allows to determine the type of a value. + +Page 7: But the eval-uation of -> But the evaluation of +page 8: Ans here's the -> And here's the +page 10: The mentioned windows dll file for Python. > The mentioned windows dll file from Python. +page 10: (I'll show that in the Tutor III). -> (I'll show that in the Part 3). +page 14: so we use the same inter-preter as from a shell -> so we use the same from a shell + +procedure TPythonEngine.DoRedirectIO; +const + code = 'import sys'+LF+ + 'class DebugOutput:'+LF+ + ' pyio = __import__("pyio")'+LF+ + ' softspace=0'+LF+ + ' encoding=None'+LF+ + ' def write(self,message):'+LF+ + ' self.pyio.write(message)'+LF+ + ' def readline(self, size=None):'+LF+ + ' return self.pyio.read(size)'+LF+ + ' def flush(self):' + LF + + ' pass' + LF + + ' def isatty(self):' + LF + + ' return True' + LF + + 'sys.old_stdin=sys.stdin'+LF+ + 'sys.old_stdout=sys.stdout'+LF+ + 'sys.old_stderr=sys.stderr'+LF+ + 'sys.stdin=sys.stderr=sys.stdout=DebugOutput()'+LF+#0; +begin + if csDesigning in ComponentState then + Exit; + CheckPython; + if not Assigned(FIOPythonModule) then + begin + // create a new module called pyio + FIOPythonModule := TPythonModule.Create( Self ); + with FIOPythonModule as TPythonModule do + begin + Engine := Self; + ModuleName := 'pyio'; + AddMethod( 'write', pyio_write, 'write(String) -> None' ); + AddMethod( 'read', pyio_read, 'read() -> String' ); + AddMethod( 'SetDelayWrites', pyio_SetDelayWrites, 'SetDelayWrites(Boolean) -> None' ); + AddMethod( 'SetMaxLines', pyio_SetMaxLines, 'SetMaxLines(Integer) -> None' ); + AddMethod( 'GetTypesStats', pyio_GetTypesStats, 'GetTypesStats( [type name] ) -> a list of tuple (TypeName, InstanceCount, CreateHits, DeleteHits)' ); + end; + end; + with FIOPythonModule as TPythonModule do + if not Initialized then + Initialize; + // execute the code + ExecString(code); + FIORedirected := True; +end; + +https://tmssoftware.com/radoween/ + +checks all initdefault + +1 procedure InitDefault(); virtual; +2 procedure InitDefault(); override; TNNetMovingStdNormalization +3 procedure InitDefault(); override; TNNetChannelShiftBase +4 procedure InitDefault(); override; TNNetChannelMul +5 procedure InitDefault(); override; TNNetCellBias +6 procedure InitDefault(); override; TNNetCellMul +7 procedure InitDefault(); override; TNNetChannelStdNormalization +8 procedure InitDefault(); override; TNNetConvolutionAbstract +9 procedure InitDefault(); override; TNNetDepthwiseConv + +in maXbox +1 RegisterMethod('Procedure InitDefault( )'); TNNetDepthwiseConv +2 TNNetConvolutionAbstract TNNetLayerConcatedWeights +3 TNNetChannelStdNormalization +4 TNNetCellMul +5 TNNetCellBias +6 TNNetChannelMul +7 TNNetChannelShiftBase +8 TNNetMovingStdNormalization +9 RegisterMethod('Procedure InitDefault( )'); + + // Initializers + procedure InitUniform(Value: TNeuralFloat = 1); + procedure InitGaussian(Value: TNeuralFloat = 1); + procedure InitLeCunUniform(Value: TNeuralFloat = 1); + procedure InitHeUniform(Value: TNeuralFloat = 1); + procedure InitHeGaussian(Value: TNeuralFloat = 1); + procedure InitHeUniformDepthwise(Value: TNeuralFloat = 1); + procedure InitHeGaussianDepthwise(Value: TNeuralFloat = 1); + procedure InitSELU(Value: TNeuralFloat = 1); + +critical +procedure TNeuralDataLoadingFit.FitLoading(pNN: TNNet; TrainingCnt, + ValidationCnt, TestCnt, pBatchSize, Epochs: integer; + pGetTrainingPair, pGetValidationPair, + pGetTestPair: TNNetGetPairFn); + +procedure TNeuralImageFit.Fit(pNN: TNNet; + pImgVolumes, pImgValidationVolumes, pImgTestVolumes: TNNetVolumeList; + pNumClasses, pBatchSize, Epochs: integer); + + 0.1.40 +C:\Program Files\Streaming\IBZ2021\Module2_3>pip uninstall delphivcl +Found existing installation: delphivcl 0.1.31 +Uninstalling delphivcl-0.1.31: + Would remove: + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl-0.1.31.dist-info\* + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\* + Would not remove (might be manually added): + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\Win64\DelphiVCL.pyd + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\__init__ - Kopie.py + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs - Kopie.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.log +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.31 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip install delphivcl +Collecting delphivcl + Downloading delphivcl-0.1.40-cp37-cp37m-win32.whl (2.2 MB) + |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.2 MB 1.7 MB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.40 +WARNING: You are using pip version 20.1.1; however, version 22.2.2 is available. +You should consider upgrading via the 'c:\users\breitsch\appdata\local\programs\python\python37-32\python.exe -m pip install --upgrade pip' command. + +C:\Program Files\Streaming\IBZ2021\Module2_3>py + +C:\Program Files\Streaming\IBZ2021\Module2_3>py -0 +Installed Pythons found by py Launcher for Windows + -3.8-64 * + -3.7-32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/1096_P4D_VCL4Pythontest2_EKON26.pas b/Tests/1096_P4D_VCL4Pythontest2_EKON26.pas new file mode 100644 index 00000000..88048b1e --- /dev/null +++ b/Tests/1096_P4D_VCL4Pythontest2_EKON26.pas @@ -0,0 +1,226 @@ +program VCL4Python_Py; +{ + Most programmers are familiar with the inexactness of floating point + calculations in a binary processor. + https://downloads.blaisepascal.eu/BlaisePascalMagazine_99_100_UK.pdf + + https://github.com/maxkleiner/DelphiVCL4Python +} + +Const //PYHOME = 'C:\Users\max\AppData\Local\Programs\Python\Python36-32\'; +PYHOME = 'C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + + VCLHOME = + 'r"C:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delphivcl\win64\delphivcl.pyd"'; + + +//{$I logo.p} +PROCEDURE logo; +BEGIN + writeln(''); + writeln(' .-------------------------------------------.'); + writeln(' | The Clean Python Pascal Bank Society |'); + writeln(' | Task9 1988-2022 M.K. |'); + writeln(' .-------------------------------------------.'); + writeln(''); +END; {procedure logo} + +const LoadPy_VCLClass = + + 'class MainForm(Form): '+LF+ + ' '+LF+ + ' def __init__(self, owner): '+LF+ + ' self.Caption = "A VCL Form..." '+LF+ + ' self.SetBounds(10, 10, 500, 400) '+LF+ + ' self.Position = "poScreenCenter" '+LF+ + ' self.Color = clBlack '+LF+ + ' '+LF+ + ' self.lblHello = Label(self) '+LF+ + ' self.lblHello.SetProps(Parent=self, '+LF+ + ' Caption="Hello DelphiVCL maXbox47 Python") '+LF+ + ' self.lblHello.SetBounds(10, 10, 300, 24) '+LF+ + ' self.lblHello.Font.Size = 20 '+LF+ + ' self.lblHello.Font.Color = clRed '+LF+ + ' '+LF+ + ' self.OnClose = self.__on_form_close '+LF+ + ' '+LF+ + ' '+LF+ + ' def __on_form_close(self, sender, action): '+LF+ + ' action.Value = caFree '; + + + STARTMAIN = + 'def main(): '+LF+ + ' Application.Initialize() '+LF+ + ' Application.Title = "Hello Python" '+LF+ + ' Main = MainForm(Application) '+LF+ + ' Main.Show() '+LF+ + ' FreeConsole() '+LF+ + ' Application.Run() '+LF+ + ' Main.Destroy() '; + + + +procedure pyBank_VCL4Python; +var eg: TPythonEngine; + sw: TStopWatch; +begin +eg:= TPythonEngine.Create(Nil); + try + eg.pythonhome:= PYHOME; + eg.loadDLL; + println('test import '+GetPythonEngine.EvalStr('__import__("decimal").Decimal(0.1)')); + println('test import '+eg.EvalStr('__import__("decimal").Decimal(0.1)')); + eg.execStr('import _ctypes, ctypes, os'); + writeln('') + //println(eg.EvalStr('__import__("faker").Faker()')); + sw:= TStopWatch.Create(); + sw.Start; + + eg.execStr('import importlib.machinery, importlib.util'); + eg.execStr('from decimal import Decimal, getcontext'); + eg.execStr('from delphivcl import *'); + eg.execStr('import delphivcl'); + //eg.execStr('import delphivcl, os'); + //eg.execStr('loader= importlib.machinery.ExtensionFileLoader("DelphiVCL",'+VCLHOME+')') + //println('loader test>>> '+eg.evalStr('loader')); + eg.execStr(LoadPy_VCLClass); + eg.execStr(STARTMAIN); + eg.execStr('main()'); + println('loader test>>> '+eg.evalStr('dir(delphivcl)[0:45]')); + + //eg.execStr('vcl4d_filename = delphivcl._delphivcl.__file__'); + eg.execStr('vcl4d_filename = delphivcl.__file__'); + + println('import name path: '+eg.EvalStr('vcl4d_filename')); + + eg.execStr('dll = ctypes.CDLL(vcl4d_filename)'); + + //https://stackoverflow.com/questions/46450368/removing-loaded-pyd-files + + eg.execStr('if vcl4d_filename.endswith("pyd"): '+LF+ + ' _ctypes.FreeLibrary(dll._handle) '+LF+ + ' _ctypes.FreeLibrary(dll._handle) '); + println('unload VCL4Python'); + //eg.execStr('_ctypes.FreeLibrary(dll._handle)'); + //eg.execStr('os.remove(vcl4d_filename)'); + //println('loader test2>>> '+eg.evalStr('dir(delphivcl)[0:45]')); + + //eg.execStr(pybankDEF) + //"Bank balance after 25 years = ", bank(25) + // println('Bank balance after 25 years = '+ + // eg.evalStr('bank(25)')); + sw.Stop; + //sw.ElapsedMilliseconds; + writeln('Stop PyBank Tester1: '+sw.getValueStr) + except + eg.raiseError; + writeln(ExceptionToString(ExceptionType, ExceptionParam)); + finally + eg.unloadDLL; + eg.Free; + sw.Free; + sw:= Nil; + end; +end; + +Const UPPERLIMIT = 100; +var cnt,n, precision: NativeUint; + +begin //@main + logo; + pyBank_VCL4Python(); +End. + +ref: 0.03993872967323020890367053 + 0.03993872967323020890367053 +PY 0.03993872967323021 + +ref install python.exe -m pip install delphivcl + +Exception: : DelphiVCL module not found. Try to reinstall the delphivcl package or check for support compatibility. + +import sys +# the following is needed to use the newly allocated console! +sys.stdout = sys.stderr= open('CONOUT$', 'wt') + + +C:\maXbox\works2021\maxbox4>cd C:\Users\Max\AppData\Local\Programs\Python\Python +36-32 + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install + delphivcl +Collecting delphivcl + Downloading https://files.pythonhosted.org/packages/15/6b/32729afd53807fe5b890 +dbe309da2ea3575f49f7fe21d15532672fc94763/delphivcl-0.1.29-cp36-cp36m-win32.whl ( +2.1MB) + 100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.1MB 539kB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.29 +You are using pip version 9.0.1, however version 21.3.1 is available. +You should consider upgrading via the 'python -m pip install --upgrade pip' command. + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32> + + + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip uninsta +ll delphivcl +Uninstalling delphivcl-0.1.29: + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\installer + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\license.md + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\metadata + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\record + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\top_level.txt + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\wheel + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__init__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__init__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__version__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\moduledefs.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__version__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\moduledefs.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\win64\delphivcl.pyd +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.29 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip uninstall delphivcl +Found existing installation: delphivcl 0.1.31 +Uninstalling delphivcl-0.1.31: + Would remove: + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl-0.1.31.dist-info\* + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\* + Would not remove (might be manually added): + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\Win64\DelphiVCL.pyd + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\__init__ - Kopie.py + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs - Kopie.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.log +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.31 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip install delphivcl +Collecting delphivcl + Downloading delphivcl-0.1.40-cp37-cp37m-win32.whl (2.2 MB) + |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.2 MB 1.7 MB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.40 +WARNING: You are using pip version 20.1.1; however, version 22.2.2 is available. +You should consider upgrading via the 'c:\users\breitsch\appdata\local\programs\python\python37-32\python.exe -m pip install --upgrade pip' command. + +C:\Program Files\Streaming\IBZ2021\Module2_3> + +https://en.delphipraxis.net/topic/3742-delphivcl-fantastic-but-there-are-some-issues/ +https://github.com/MuhammadAzizulHakim/pythongui.orgRepo_DelphiVCL4Python-Docs \ No newline at end of file diff --git a/Tests/1096_P4D_VCL4Pythontest_EKON26.pas b/Tests/1096_P4D_VCL4Pythontest_EKON26.pas new file mode 100644 index 00000000..b74fa63d --- /dev/null +++ b/Tests/1096_P4D_VCL4Pythontest_EKON26.pas @@ -0,0 +1,223 @@ +program VCL4Python_Py; +{ + Most programmers are familiar with the inexactness of floating point + calculations in a binary processor. + https://downloads.blaisepascal.eu/BlaisePascalMagazine_99_100_UK.pdf + + https://github.com/maxkleiner/DelphiVCL4Python +} + +Const //PYHOME = 'C:\Users\max\AppData\Local\Programs\Python\Python36-32\'; +PYHOME = 'C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + + VCLHOME = + 'r"C:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delphivcl\win64\delphivcl.pyd"'; + + +//{$I logo.p} +PROCEDURE logo; +BEGIN + writeln(''); + writeln(' .-------------------------------------------.'); + writeln(' | The Clean Python Bank Society |'); + writeln(' | Task9 1988-2022 M.K. |'); + writeln(' .-------------------------------------------.'); + writeln(''); +END; {procedure logo} + +const LoadPy_VCLClass = + + 'class MainForm(Form): '+LF+ + ' '+LF+ + ' def __init__(self, owner): '+LF+ + ' self.Caption = "A VCL Form..." '+LF+ + ' self.SetBounds(10, 10, 500, 400) '+LF+ + ' self.Position = "poScreenCenter" '+LF+ + ' self.Color = "clRed" '+LF+ + ' '+LF+ + ' self.lblHello = Label(self) '+LF+ + ' self.lblHello.SetProps(Parent=self, '+LF+ + ' Caption="Hello DelphiVCL maXbox47 Python") '+LF+ + ' self.lblHello.SetBounds(10, 10, 300, 24) '+LF+ + ' '+LF+ + ' self.OnClose = self.__on_form_close '+LF+ + ' '+LF+ + ' '+LF+ + ' def __on_form_close(self, sender, action): '+LF+ + ' action.Value = caFree '; + + + STARTMAIN = + 'def main(): '+LF+ + ' Application.Initialize() '+LF+ + ' Application.Title = "Hello Python" '+LF+ + ' Main = MainForm(Application) '+LF+ + ' Main.Show() '+LF+ + ' FreeConsole() '+LF+ + ' Application.Run() '+LF+ + ' Main.Destroy() '; + + + +procedure pyBank_VCL4Python; +var eg: TPythonEngine; + sw: TStopWatch; +begin +eg:= TPythonEngine.Create(Nil); + try + eg.pythonhome:= PYHOME; + eg.loadDLL; + println('test import '+GetPythonEngine.EvalStr('__import__("decimal").Decimal(0.1)')); + println('test import '+eg.EvalStr('__import__("decimal").Decimal(0.1)')); + eg.execStr('import _ctypes, ctypes, os'); + writeln('') + //println(eg.EvalStr('__import__("faker").Faker()')); + sw:= TStopWatch.Create(); + sw.Start; + + eg.execStr('import importlib.machinery, importlib.util'); + eg.execStr('from decimal import Decimal, getcontext'); + eg.execStr('from delphivcl import *'); + eg.execStr('import delphivcl'); + //eg.execStr('import delphivcl, os'); + //eg.execStr('loader= importlib.machinery.ExtensionFileLoader("DelphiVCL",'+VCLHOME+')') + //println('loader test>>> '+eg.evalStr('loader')); + eg.execStr(LoadPy_VCLClass); + eg.execStr(STARTMAIN); + eg.execStr('main()'); + println('loader test>>> '+eg.evalStr('dir(delphivcl)[0:45]')); + + //eg.execStr('vcl4d_filename = delphivcl._delphivcl.__file__'); + eg.execStr('vcl4d_filename = delphivcl.__file__'); + + println('import name path: '+eg.EvalStr('vcl4d_filename')); + + eg.execStr('dll = ctypes.CDLL(vcl4d_filename)'); + + //https://stackoverflow.com/questions/46450368/removing-loaded-pyd-files + + eg.execStr('if vcl4d_filename.endswith("pyd"): '+LF+ + ' _ctypes.FreeLibrary(dll._handle) '+LF+ + ' _ctypes.FreeLibrary(dll._handle) '); + println('unload VCL4Python'); + //eg.execStr('_ctypes.FreeLibrary(dll._handle)'); + //eg.execStr('os.remove(vcl4d_filename)'); + //println('loader test2>>> '+eg.evalStr('dir(delphivcl)[0:45]')); + + //eg.execStr(pybankDEF) + //"Bank balance after 25 years = ", bank(25) + // println('Bank balance after 25 years = '+ + // eg.evalStr('bank(25)')); + sw.Stop; + //sw.ElapsedMilliseconds; + writeln('Stop PyBank Tester1: '+sw.getValueStr) + except + eg.raiseError; + writeln(ExceptionToString(ExceptionType, ExceptionParam)); + finally + eg.Free; + sw.Free; + sw:= Nil; + end; +end; + +Const UPPERLIMIT = 100; +var cnt,n, precision: NativeUint; + +begin //@main + logo; + pyBank_VCL4Python(); +End. + +ref: 0.03993872967323020890367053 + 0.03993872967323020890367053 +PY 0.03993872967323021 + +ref install python.exe -m pip install delphivcl + +Exception: : DelphiVCL module not found. Try to reinstall the delphivcl package or check for support compatibility. + +import sys +# the following is needed to use the newly allocated console! +sys.stdout = sys.stderr= open('CONOUT$', 'wt') + + +C:\maXbox\works2021\maxbox4>cd C:\Users\Max\AppData\Local\Programs\Python\Python +36-32 + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install + delphivcl +Collecting delphivcl + Downloading https://files.pythonhosted.org/packages/15/6b/32729afd53807fe5b890 +dbe309da2ea3575f49f7fe21d15532672fc94763/delphivcl-0.1.29-cp36-cp36m-win32.whl ( +2.1MB) + 100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.1MB 539kB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.29 +You are using pip version 9.0.1, however version 21.3.1 is available. +You should consider upgrading via the 'python -m pip install --upgrade pip' command. + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32> + + + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip uninsta +ll delphivcl +Uninstalling delphivcl-0.1.29: + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\installer + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\license.md + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\metadata + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\record + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\top_level.txt + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\wheel + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__init__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__init__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__version__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\moduledefs.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__version__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\moduledefs.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\win64\delphivcl.pyd +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.29 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip uninstall delphivcl +Found existing installation: delphivcl 0.1.31 +Uninstalling delphivcl-0.1.31: + Would remove: + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl-0.1.31.dist-info\* + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\* + Would not remove (might be manually added): + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\Win64\DelphiVCL.pyd + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\__init__ - Kopie.py + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs - Kopie.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.json + c:\users\breitsch\appdata\local\programs\python\python37-32\lib\site-packages\delphivcl\moduledefs.log +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.31 + +C:\Program Files\Streaming\IBZ2021\Module2_3>pip install delphivcl +Collecting delphivcl + Downloading delphivcl-0.1.40-cp37-cp37m-win32.whl (2.2 MB) + |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.2 MB 1.7 MB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.40 +WARNING: You are using pip version 20.1.1; however, version 22.2.2 is available. +You should consider upgrading via the 'c:\users\breitsch\appdata\local\programs\python\python37-32\python.exe -m pip install --upgrade pip' command. + +C:\Program Files\Streaming\IBZ2021\Module2_3> + +https://en.delphipraxis.net/topic/3742-delphivcl-fantastic-but-there-are-some-issues/ +https://github.com/MuhammadAzizulHakim/pythongui.orgRepo_DelphiVCL4Python-Docs \ No newline at end of file diff --git a/Tests/1151_sentiment_api4simple12.txt b/Tests/1151_sentiment_api4simple12.txt new file mode 100644 index 00000000..9d777a30 --- /dev/null +++ b/Tests/1151_sentiment_api4simple12.txt @@ -0,0 +1,613 @@ +program Sentiment_API4_Simple_12; + +(* #sign:breitsch: BREITSCH-BOX: 27.08.2022 07:43:20 + * API http://text-processing.com/docs/sentiment.html, + * 1_21: test calls with assert, stringstream with HttpPostURL, Tutor 60_1 + * https://github.com/maxkleiner/maXbox4/blob/master/newstoday_sentiment.ipynb* + * imputes a sum of bbc news sentiment analysis - base for tutorial 94*) +//https://www.reddit.com/r/delphi/comments/wnhk9x/psa_github_copilot_works_with_delphi/ + +Const + URLSentimentAPI2= 'http://text-processing.com/api/sentiment/'; + USERAGENT='Mozilla/5.0 (Windows NT 10.0; Win64;x64;rv:98.0) Gecko/20100101 Firefox/98.0'; + URLSentimentAPI3= + 'http://text-processing.com/api/sentiment/language=dutch&text=goed boek'; + //term=%s&local=%s&limit=%d'; + WeatherAPIKEY='55013bf3d09cfb0619989a00ed5bed09'; + URLWeatherAPI='https://api.openweathermap.org/data/2.5/weather?q=%s&units=metric&appid=%s'; + +{Status +405 +METHOD NOT ALLOWED +VersionHTTP/1.1 +Transferred232 B (0 B size) +Request PriorityHighest } + + + +function NowGMT: TDateTime; +var ST: {Windows.}TSystemTime; // current system time +begin + // This Windows API function gets system time in UTC/GMT + {Windows.}GetSystemTime(ST); + Result:= {SysUtils.}SystemTimeToDateTime(ST); +end; + + +procedure GetSentimentStream(C_form,apath: string; const Data: string); +var encodURL: string; + mapStrm: TStringStream; +begin + encodURL:= Format(UrlSentimentAPI2,[c_form,HTTPEncode(Data)]); + mapStrm:= TStringStream.create(''); + try + HttpGet(EncodURL, mapStrm); //WinInet + mapStrm.Position:= 0; + //SaveStringtoFile(apath, mapStrm.datastring) + //OpenDoc(apath); + writeln(mapStrm.datastring) + finally + mapStrm.Free; + encodURL:= ''; + end; +end; + +function GetSentimentStream8(const S_API, pData: string): string; +var strm: TStringStream; + jo, locate: TJSONObject; +begin +//function HttpPostURL(const URL,URLData:string; const Data:TStream):Boolean; + strm:= TStringStream.create(''); + try + sr:='text='+HTTPEncode(pData)+'&'; + sr:= sr+'language=dutch'; + if HttpPostURL(S_API, sr, strm) then + jo:= TJSONObject.Create4(strm.dataString); + result:= jo.getString('label') + except + writeln('E: '+ExceptiontoString(exceptiontype, exceptionparam)); + finally + jo.free; + strm.free; + end; +end; + +function GetWeatherStream(const Data, APIKEY: string): string; +var encodURL: string; + mapStrm: TStringStream; +begin + encodURL:= Format(URLWeatherAPI,[HTTPEncode(Data), APIKEY]); + mapStrm:= TStringStream.create(''); + try + HttpGet(EncodURL, mapStrm); //WinInet + mapStrm.Position:= 0; + //SaveStringtoFile(apath, mapStrm.datastring) + //OpenDoc(apath); + result:= mapStrm.datastring; + finally + mapStrm.Free; + encodURL:= ''; + end; +end; + +function GetWeatherStreamJSON(const Data, APIKEY: string): string; +var encodURL: string; + mapStrm: TStringStream; + jo: TJSONObject; +begin + encodURL:= Format(URLWeatherAPI,[HTTPEncode(Data), APIKEY]); + mapStrm:= TStringStream.create(''); + try + HttpGet(EncodURL, mapStrm); //WinInet + mapStrm.Position:= 0; + //SaveStringtoFile(apath, mapStrm.datastring) + jo:= TJSONObject.Create4(mapStrm.datastring); + result:= jo.getjsonarray('weather').getjsonobject(0).getstring('description'); + result:= result+' '+jo.getjsonobject('main').getstring('temp'); + finally + mapStrm.Free; + encodURL:= ''; + jo.Free; + end; +end; + +{data = response.json() +print(data) +print(data['weather'][0]['description']) +print(data['main']['temp']) +print(data['main']['pressure']) +print(data['main']['humidity'])} + + +//https://github.com/Zeus64/alcinoe/blob/master/source/ALHttpClient.pas +function TALHTTPClient_Post5(aUrl: AnsiString; + aPoststring: string; + aResponseContentStream: TStream; + aResponseContentHeader: TALHTTPResponseHeader): string; +Var + LHttpClient: TALWininetHttpClient; + //RequestMethod: TALHTTPRequestMethod; + FRequestHeader: TALHTTPRequestHeader; + aPostDataStrings: TALStrings; +begin + LHttpClient:= TALWininetHttpClient.create; + LHttpClient.url:= aUrl; + LHttpClient.RequestMethod:= HTTPmt_Post; //HTTPrm_Post; + LHttpClient.RequestHeader.UserAgent:=USERAGENT; + //LHttpClient.RequestHeader.CustomHeaders:= + //LHttpClient.RequestHeader.RawHeaderText:=' + aResponseContentHeader:= TALHTTPResponseHeader.Create; + try + aPostDataStrings:= TALStringlist.create; + aPostDataStrings.add('text='+HTTPEncode(apoststring)); + aPostDataStrings.add('language=english'); + //writeln('debug '+aResponseContentHeader.ReasonPhrase); + result:= LHttpClient.PostUrlEncoded(aUrl, aPostDataStrings, true); //overload; + finally + LHttpClient.Free; + aPostDataStrings.Free; + end; +end; + +//https://github.com/Zeus64/alcinoe/blob/master/source/ALHttpClient.pas +function TALHTTPClient_Post5Response(aUrl: AnsiString; + aPoststring: string; + aResponseContentStream: TStream; + aResponseContentHeader: TALHTTPResponseHeader): string; +Var + LHttpClient: TALWininetHttpClient; + //RequestMethod: TALHTTPRequestMethod; + FRequestHeader: TALHTTPRequestHeader; + aPostDataStream: TStringStream; //TALStrings; + aResponseHeader: TALHTTPResponseHeader; + aResponseContent: TStringStream; +begin + LHttpClient:= TALWininetHttpClient.create; + LHttpClient.url:= aUrl; + LHttpClient.RequestMethod:= HTTPmt_Post; //HTTPrm_Post; + LHttpClient.RequestHeader.UserAgent:=USERAGENT; + //LHttpClient.RequestHeader.CustomHeaders:= + //LHttpClient.RequestHeader.RawHeaderText:=' + aResponseContentHeader:= TALHTTPResponseHeader.Create; + try + aPostDataStream:= TstringStream.create('text='+HTTPEncode(apoststring)+ + +LF+'language=english'); + //aPostDataStream:= TstringStream.create(''); + //aPostDataStrings.ReadString(5); + //aPostDataStrings.ReadString('text='+HTTPEncode(apoststring)); + //aPostDataStrings.add('language=english'); + //writeln('debug '+aResponseContentHeader.ReasonPhrase); + //aPostDataStrings:= TALStringlist.create; + //aPostDataStrings.add('text='+HTTPEncode(apoststring)); + //v aPostDataStrings.add('language=english'); + //LHttpClient.Receive + //aContext : Dword; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader)'); + //RegisterMethod('Procedure Post( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + //RegisterMethod('Procedure Post1( const aUrl : AnsiString; aPostDataStream : TStream; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + LHttpClient.RequestHeader + //TALHTTPRequestHeader + aResponseContent:= TStringStream.create(''); + aResponseHeader := TALHTTPResponseHeader.create; + LHttpClient.Post1(aUrl, aPostDataStream, aResponseContent, aresponseHeader); + //LHttpClient.OnDownloadProgress + //LHttpClient.onredirect + //overload; + result:= aResponseContent.dataString; + writeln(aresponseHeader.reasonphrase) + writeln(aresponseHeader.RawHeaderText) + writeln('content type: '+LHttpClient.RequestHeader.ContentType) + writeln('content date: '+LHttpClient.RequestHeader.Date) + writeln('RawHeaderText type: '+LHttpClient.RequestHeader.RawHeaderText) + //LHttpClient.RequestHeader:= LHttpClient.RequestHeader; + finally + LHttpClient.Disconnect; + LHttpClient.Free; + aPostDataStream.Free; + aResponseContent.Free; + aResponseHeader.Free; + end; +end; + +function TALHTTPClient_Post5Translate(aUrl: AnsiString; + aPoststring: string; + aResponseContentStream: TStream; + aResponseContentHeader: TALHTTPResponseHeader): string; +Var + LHttpClient: TALWininetHttpClient; + //RequestMethod: TALHTTPRequestMethod; + FRequestHeader: TALHTTPRequestHeader; + aPostDataStream: TStringStream; //TALStrings; + aResponseHeader: TALHTTPResponseHeader; + aResponseContent: TStringStream; + //ARequestHeaderValues: TALNameValueArray; +begin + LHttpClient:= TALWininetHttpClient.create; + LHttpClient.url:= 'https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText'; + LHttpClient.RequestMethod:= HTTPmt_Post; //HTTPrm_Post; + LHttpClient.RequestHeader.UserAgent:=USERAGENT; + //LHttpClient.RequestHeader.CustomHeaders:= + //LHttpClient.RequestHeader.RawHeaderText:=' + aResponseContentHeader:= TALHTTPResponseHeader.Create; + try + aPostDataStream:= TstringStream.create('contents='+HTTPEncode(apoststring)+ + +LF+'language=english'); + //aPostDataStream:= TstringStream.create(''); + //aPostDataStrings.ReadString(5); + //aPostDataStrings.ReadString('text='+HTTPEncode(apoststring)); + //aPostDataStrings.add('language=english'); + //writeln('debug '+aResponseContentHeader.ReasonPhrase); + //aPostDataStrings:= TALStringlist.create; + //aPostDataStrings.add('text='+HTTPEncode(apoststring)); + //v aPostDataStrings.add('language=english'); + //LHttpClient.Receive + //aContext : Dword; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader)'); + //RegisterMethod('Procedure Post( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + //RegisterMethod('Procedure Post1( const aUrl : AnsiString; aPostDataStream : TStream; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + aResponseContent:= TStringStream.create(''); + aResponseHeader := TALHTTPResponseHeader.create; + try + LHttpClient.Post1(LHttpClient.url, aPostDataStream, aResponseContent, aresponseHeader); + except; + end; + //LHttpClient.PostMultiPartFormData + //LHttpClient.OnDownloadProgress + //LHttpClient.onredirect + //overload; + //LHttpClient.RequestHeaders.Add + result:= aResponseContent.dataString; + writeln(aresponseHeader.reasonphrase) + writeln(aresponseHeader.RawHeaderText) + writeln('content type: '+LHttpClient.RequestHeader.ContentType) + writeln('RawHeaderText type: '+LHttpClient.RequestHeader.RawHeaderText) + finally + LHttpClient.Disconnect; + LHttpClient.Free; + aPostDataStream.Free; + aResponseContent.Free; + aResponseHeader.Free; + end; +end; + +function CubicInterpolation(const X, X1, X2, X3, X4, Y1, Y2, Y3, Y4: Double): Double; +var + A, B, C, D: Double; +begin + A := (Y4 - Y3) / (X4 - X3) - (Y2 - Y1) / (X2 - X1); + B := (Y2 - Y1) / (X2 - X1) - A; + C := Y1 - B * X1 - A * X1 * X1; + D := A * X * X + B * X + C; + Result := D; +end; + +function CubicInterpolation3(X0, Y0, X1, Y1, X2, Y2, X: Single): Single; +var + A, B, C, D: Single; +begin + A := (Y1 - Y0) / (X1 - X0); + B := (Y2 - Y1) / (X2 - X1); + C := (Y2 - Y0) / (X2 - X0); + D := Y0 - A * X0 - C * X0; + Result := A * X * X * X + B * X * X + C * X + D; +end; + +//----------------program TestPostRequest; +const + RequestHeaderTemplate = + 'SOAPAction: http://tempuri.org/IConsultaCFDIService/Consulta'; + RequestDataTemplate = + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ''; + + +//var weights: array[0..2] of real; +const refsent= 'The Democrats say they sheltered in a safe room alongside others who refused to wear masks.'; + +const refsent2= 'Three US lawmakers have tested positive for the coronavirus after sheltering for hours with colleagues during last weeks deadly assault on the Capitol.' ; +var + ashaFM: TSHA2FamilyMember ; + cryplib: TCryptographicLibrary; + IIndyHTTP: TIdHTTP; abitm: TBitmap; + +begin //@main + maxform1.orangestyle1click(self) + memo1.font.size:= 13; memo2.font.size:= 15; + writeln('FreePhysicalMemory1: '+itoa(GetFreePhysicalMemory)) + writeln(Sha256(memo2.text,'S')) + //writeln(sha512('const Plaintext: string','S')) + //ExecuteShell('cmd','/c runas "/user:Administrator" ExePath+'maXbox4.exe') + + if IsInternet then begin + { + println(GetSentimentStream6(URLSentimentAPI2, + FiletoString(senttextfile2))); + } + + println('res: '+GetSentimentStream8(URLSentimentAPI2,'Het is goed')); + + writeln('back from post2sent: '+ReplaceRegExpr('\d\d{4,12}[},]', + TALHTTPClient_Post5(URLSentimentAPI2,'this is good text2test', + Nil, Nil),'',false)); + writeln('back from post3sent: '+ReplaceRegExpr('\d\d{4,12}[},]', + TALHTTPClient_Post5Response(URLSentimentAPI2,'this is good text2test', + Nil, Nil),'',false)); + + writeln('back from weather: '+GetWeatherStream('Bern,CH',WeatherAPIKEY)); + writeln('back from weatherjs: '+GetWeatherStreamJSON('Bern,CH',WeatherAPIKEY)); + (* + writeln('back from post4sent: '+ReplaceRegExpr('\d\d{4,12}[},]', + TALHTTPClient_Post5Translate(URLSentimentAPI2,'this is good text2test', + Nil, Nil),'',false)); + *) + + {CL.AddTypeS('TXMLTypeRSS', '(xtRDFrss,xtRSSrss,xtAtomrss,xtiTunesrss )'); + CL.AddTypeS('TEncodingTypeRSS','(etBase64rss, etEscapedrss, etXMLrss )');} + end; + + //println(GetSentimentStream7(URLSentimentAPI2,refsent2)); + //println(ReplaceRegExpr('\d\d{4,12}[},]', + // GetSentimentStream7(URLSentimentAPI2,refsent2),' ',false)) + + //Instantiate a WinHttpRequest object as a second solution. + (* httpReq:= CreateOleObject('WinHttp.WinHttpRequest.5.1'); + // Open an HTTP connection. + hr:= httpReq.Open('GET', URLNewsFeed, false); + if hr= S_OK then httpReq.setRequestheader('items','title'); + HttpReq.Send(); /// Send HTTP Request & get Responses. + //writeln(httpReq.responseText) + //writeln(datetimetostr(ParseRSSDate(httpReq.responseText))); + //writeln(httpReq.GetAllResponseHeaders()); + httpreq:= unassigned; *) + + { with TForm.create(self) do begin + abitm:= TBitmap.create; + //abitm.SetSize(400, 400); + setbounds(10,10,330,350); + abitm.loadfromresourcename(hinstance,'MOON_FULL'); + canvas.brush.bitmap:= abitm; + Show; + canvas.FillRect(abitm.Canvas.ClipRect); + end; + //} + //writeln(getascii) + writeln(datetimetostr(UnixToDateTime(1661365592))); +End. + + +Ref: https://github.com/frantic/delphi-tdd-example/blob/master/src/RssModel.pas + http://text-processing.com/docs/sentiment.html + https://stackoverflow.com/questions/3885703/post-method-winhttprequest-multipart-form-data + https://github.com/features/copilot/ + +#!/usr/bin/env ts-node + +import { fetch } from "fetch-h2"; + +// Determine whether the sentiment of text is positive +// Use a web service + +async function isPositive(text: string): Promise { + + const response = await fetch(`http://text-processing.com/api/sentiment/`, { + method: "POST", + body: `text=${text}`, + + headers: { + "Content-Type": "application/x-www-form-urlencoded", + }, + }); + + const json = await response.json(); + return json.label === "pos"; +} + +type + TRSSItem = class + private + FPubDate: TDate; + FLink, FTitle: string; + FDescription: string; + public + property Title: string read FTitle write FTitle; + property Link: string read FLink write FLink; + property Description: string read FDescription write FDescription; + property PubDate: TDate read FPubDate write FPubDate; + end; + + TRSSFeed = class + private + FDescription: string; + FTitle: string; + FLink: string; + FItems: TObjectList; + public + constructor Create; + destructor Destroy; override; + + function AddItem: TRSSItem; + property Title: string read FTitle write FTitle; + property Description: string read FDescription write FDescription; + property Link: string read FLink write FLink; + property Items: TObjectList read FItems; + end; + +TWinApiDownload = class(TObject) + private + fEventWorkStart : TEventWorkStart; + fEventWork : TEventWork; + fEventWorkEnd : TEventWorkEnd; + fEventError : TEventError; + fURL : string; + fUserAgent : string; + fStop : Boolean; + fActive : Boolean; + fCachingEnabled : Boolean; + fProgressUpdateInterval : Cardinal; + function GetIsActive : Boolean; + public + constructor Create; + destructor Destroy; override; + function CheckURL(aURL: string) : Integer; + function Download(Stream : TStream) : Integer; overload; + function Download(var res : string) : Integer; overload; + function ErrorCodeToMessageString(aErrorCode : Integer) : string; + procedure Stop; + procedure Clear; + property UserAgent : string read fUserAgent write fUserAgent; + property URL : string read fURL write fURL; + property DownloadActive : Boolean read GetIsActive; + property CachingEnabled : Boolean read fCachingEnabled write fCachingEnabled; + property UpdateInterval:Cardinal read fProgressUpdateInterval write fProgressUpdateInterval; + property OnWorkStart : TEventWorkStart read fEventWorkStart write fEventWorkStart; + property OnWork : TEventWork read fEventWork write fEventWork; + property OnWorkEnd : TEventWorkEnd read fEventWorkEnd write fEventWorkEnd; + property OnError : TEventError read fEventError write fEventError; + end; + +const axios = require("axios"); +const encodedParams = new URLSearchParams(); +encodedParams.append("text", "Hello World"); +encodedParams.append("to", "es"); +encodedParams.append("from", "en"); + +const options = { + method: 'POST', + url: 'https://nlp-translation.p.rapidapi.com/v1/translate', + headers: { + 'content-type': 'application/x-www-form-urlencoded', + 'X-RapidAPI-Host': 'nlp-translation.p.rapidapi.com', + 'X-RapidAPI-Key': 'df61a35825msh66c9514de953a7ap192bcfjsn16a3d1018ce3' + }, + data: encodedParams +}; + + +procedure SIRegister_TALWinHttpClient(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TALHTTPClient', 'TALWinHttpClient') do + with CL.AddClassN(CL.FindClass('TALHTTPClient'),'TALWinHttpClient') do begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Free'); + RegisterMethod('Procedure Connect'); + RegisterMethod('Procedure Disconnect'); + RegisterMethod('Function Send( aRequestDataStream : TStream) : Integer'); + RegisterMethod('Procedure Receive( aContext : Dword; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader)'); + RegisterProperty('AccessType', 'TALWinHttpClientInternetOpenAccessType', iptrw); + RegisterProperty('InternetOptions', 'TALWinHttpClientInternetOptionSet', iptrw); + RegisterProperty('InternetOptions2', 'TALWinHttpClientInternetOptionSet2', iptrw); + RegisterProperty('DisconnectOnError', 'Boolean', iptrw); + RegisterProperty('OnStatusChange', 'TALWinHttpClientStatusChangeEvent', iptrw); + end; +end; + +procedure SIRegister_TALHTTPClient(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TObject', 'TALHTTPClient') do + with CL.AddClassN(CL.FindClass('TObject'),'TALHTTPClient') do begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Free'); + RegisterMethod('Procedure Execute( aRequestDataStream : TStream; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader)'); + RegisterMethod('Procedure Get( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Post( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Post1( const aUrl : AnsiString; aPostDataStream : TStream; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure PostUrlEncoded( const aUrl : AnsiString; aPostDataStrings : TALStrings; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader; const EncodeParams : Boolean);'); + RegisterMethod('Procedure PostMultipartFormData( const aUrl : AnsiString; aPostDataStrings : TALStrings; aPostDataFiles : TALMultiPartFormDataContents; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Head( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Trace( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Put( const aUrl : AnsiString; aPutDataStream : TStream; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Procedure Delete( const aUrl : AnsiString; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader);'); + RegisterMethod('Function Get1( const aUrl : AnsiString) : AnsiString;'); + RegisterMethod('Function Get2( const aUrl : AnsiString; aParams : TALStrings; const EncodeParams : Boolean) : AnsiString;'); + RegisterMethod('Procedure Get3( const aUrl : AnsiString; aParams : TALStrings; aResponseContentStream : TStream; aResponseContentHeader : TALHTTPResponseHeader; const EncodeParams : Boolean);'); + RegisterMethod('Function Post2( const aUrl : AnsiString) : AnsiString;'); + RegisterMethod('Function Post3( const aUrl : AnsiString; aPostDataStream : TStream) : AnsiString;'); + RegisterMethod('Function PostUrlEncoded( const aUrl : AnsiString; aPostDataStrings : TALStrings; const EncodeParams : Boolean) : AnsiString;'); + RegisterMethod('Function PostMultiPartFormData( const aUrl : AnsiString; aPostDataStrings : TALStrings; aPostDataFiles : TALMultiPartFormDataContents) : AnsiString;'); + RegisterMethod('Function Head( const aUrl : AnsiString) : AnsiString;'); + RegisterMethod('Function trace( const aUrl : AnsiString) : AnsiString;'); + RegisterMethod('Function Put( const aURL : Ansistring; aPutDataStream : TStream) : AnsiString;'); + RegisterMethod('Function Delete( const aURL : Ansistring) : AnsiString;'); + RegisterProperty('URL', 'AnsiString', iptrw); + RegisterProperty('ConnectTimeout', 'Integer', iptrw); + RegisterProperty('SendTimeout', 'Integer', iptrw); + RegisterProperty('ReceiveTimeout', 'Integer', iptrw); + RegisterProperty('UploadBufferSize', 'Integer', iptrw); + RegisterProperty('ProxyParams', 'TALHTTPClientProxyParams', iptr); + RegisterProperty('RequestHeader', 'TALHTTPRequestHeader', iptr); + RegisterProperty('ProtocolVersion', 'TALHTTPProtocolVersion', iptrw); + RegisterProperty('RequestMethod', 'TALHTTPMethod', iptrw); + RegisterProperty('UserName', 'AnsiString', iptrw); + RegisterProperty('Password', 'AnsiString', iptrw); + RegisterProperty('OnUploadProgress', 'TALHTTPClientUploadProgressEvent', iptrw); + RegisterProperty('OnDownloadProgress', 'TALHTTPClientDownloadProgressEvent', iptrw); + RegisterProperty('OnRedirect', 'TAlHTTPClientRedirectEvent', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPClientProxyParams(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'Tobject', 'TALHTTPClientProxyParams') do + with CL.AddClassN(CL.FindClass('Tobject'),'TALHTTPClientProxyParams') do begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Clear'); + RegisterProperty('ProxyBypass', 'AnsiString', iptrw); + RegisterProperty('ProxyServer', 'AnsiString', iptrw); + RegisterProperty('ProxyPort', 'integer', iptrw); + RegisterProperty('ProxyUserName', 'AnsiString', iptrw); + RegisterProperty('ProxyPassword', 'AnsiString', iptrw); + RegisterProperty('OnChange', 'TALHTTPPropertyChangeEvent', iptrw); + end; +end; + +Random forest +Random forests or random decision forests are an ensemble learning method for classification, regression and other tasks, that operate by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes or mean prediction of the individual trees. Random decision forests correct for decision trees' habit of overfitting to their training set. +A random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and use averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn ... +The random Forest is an ensemble classifier. It has gained a significant interest in the recent past, due to its quality performance in several areas. A lot of new research work/survey reports related to different areas also reflects this. +[Search domain www.quora.com] https://www.quora.com/What-is-a-random-forest +Random forests or random decision forests are an ensemble learning method for classification, regression and other tasks, that operate by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes or mean prediction of the individual trees. Random decision forests correct for decision trees' habit of overfitting to their training set. + +---app_template_loaded_code---- +------------------------------------------------------------------ + +Titel: Patterns Konkret +Autor: Max Kleiner (Hrsg.), Silvia Rothen, Bernhard Angerer + ISBN: 3-935042-46-9 + +per le botteghe non e la fine: le salveranno i nostri anziani +Für die Geschäfte ist es nicht das Ende: Unsere Senioren werden sie retten +«Werden wir von Robotern gepflegt?», «Ist es noch notwendig, Sprachen zu lernen?», «Wer macht meinen Job?», «Was wäre, wenn es selbstfahrende Autos gäbe?». + +maXbox is an intuitive scripting tool designed to help you create scripts. It bundles a Delphi engine that can be used to test, teach and analyze algorithms in a practical manner. +You can run the application from a portable drive and quickly deploy it using byte or text code. maXbox provides a comprehensive collection of exercises and examples, as well as a handy debug and decompile function. +On top of that, the program provides numerous tutorials from all over the world. + +class ----------------------------------------------------------------- + +Gruppenarbeiten sind, wo möglich, erwünscht und je nach Rahmenbedingungen sogar von Vorteil. Der nominelle Aufwand liegt bei 90h, kann je nach Vorbereitungsphase und Komplexität aber auch höher sein. Semesterprojekte können vertraulich behandelt werden. Massgebend für die Rahmenbedingungen ist das Studienreglement + +Berner Fachhochschule +Technik und Informatik +Administration Weiterbildung + +http://www.kleiner.ch/kleiner/TEE_files/tee_models.htm + +Max Kleiner +Sentiment Analysis: Sometimes also known as "opinion mining", sentiment analysis can let you know if there has been a change in public opinion toward any aspect of your business or politics till citizen score or street credibility. +You see code of an API in a script! + +https://www.academia.edu/37015210/Machine_Learning_maXbox_starter60_1 +https://venturebeat.com/2020/12/04/researchers-find-that-even-fair-hiring-algorithms-can-be-biased/ + +Dieser berufsbegleitende Diplomlehrgang bietet eine kompakte, praxisnahe Weiterbildung: von Data Science, Datenmanagement und -analysen über Künstliche Intelligenz, Digital Business und Prozessdigitalisierung bis zu Digital Leadership. + +TNetUtilsSettings + +https://python.plainenglish.io/10-killer-apis-for-your-next-python-project-f4299126232a + diff --git a/Tests/ALHttpClient2.pas b/Tests/ALHttpClient2.pas new file mode 100644 index 00000000..07abba87 --- /dev/null +++ b/Tests/ALHttpClient2.pas @@ -0,0 +1,2536 @@ +{******************************************************************************* +TALHttpClient is a ancestor of class like TALWinInetHttpClient or +TALWinHttpClient + +http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.1 +http://www.ietf.org/rfc/rfc1867.txt +http://www.ietf.org/rfc/rfc2388.txt +http://www.w3.org/MarkUp/html-spec/html-spec_8.html +http://www.cs.tut.fi/~jkorpela/forms/methods.html +http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html +http://wp.netscape.com/newsref/std/cookie_spec.html +*******************************************************************************} + +unit ALHttpClient; + +interface + +{$IF CompilerVersion > 34} // sydney + {$MESSAGE WARN 'Check if Web.HTTPApp was not updated and adjust the IFDEF'} +{$IFEND} + +uses + System.SysUtils, + System.Classes, + {$IFDEF MSWINDOWS} + Winapi.Wininet, + {$ENDIF} + ALStringList, + ALMultiPartParser; + +type + + {-- onchange Event that specify the property index that is just changed --} + TALHTTPPropertyChangeEvent = procedure(sender: Tobject; Const PropertyIndex: Integer) of object; + + {--protocol version--} + TALHTTPProtocolVersion = (HTTPpv_1_0, HTTPpv_1_1); + + {--Request method--} + TALHTTPMethod = (HTTPmt_Get, + HTTPmt_Post, + HTTPmt_Head, + HTTPmt_Trace, + HTTPmt_Put, + HTTPmt_Delete, + HTTPmt_Options); + + {--Request header--} + TALHTTPRequestHeader = Class(TObject) + Private + fHeaders: TALStrings; + FCookies: TALStrings; + function GetHeaderValueByPropertyIndex(const Index: Integer): ansiString; + procedure SetHeaderValueByPropertyIndex(const Index: Integer; const Value: AnsiString); + Function GetRawHeaderText: AnsiString; + procedure SetRawHeaderText(const aRawHeaderText: AnsiString); + public + constructor Create; virtual; + destructor Destroy; override; + procedure Clear; + procedure setHeaderValue(const aName: ansiString; const aValue: ansiString); + Property RawHeaderText: AnsiString read GetRawHeaderText write SetRawHeaderText; + property Accept: AnsiString index 0 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Accept: audio/*; q=0.2, audio/basic} + property AcceptCharSet: AnsiString index 1 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Accept-Charset: iso-8859-5, unicode-1-1;q=0.8} + property AcceptEncoding: AnsiString index 2 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0} + property AcceptLanguage: AnsiString index 3 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Accept-Language: da, en-gb;q=0.8, en;q=0.7} + property Allow: AnsiString index 4 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Allow: GET, HEAD, PUT} + property Authorization: AnsiString index 5 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Authorization: BASIC d2VibWFzdGVyOnpycW1hNHY=} + property CacheControl: AnsiString index 6 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Cache-Control: no-cache} + property Connection: AnsiString index 7 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Connection: close} + property ContentEncoding: AnsiString index 8 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Encoding: gzip} + property ContentLanguage: AnsiString index 9 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Language: mi, en} + property ContentLength: AnsiString index 10 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Length: 3495} + property ContentLocation: AnsiString index 11 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Location: http://localhost/page.asp} + property ContentMD5: AnsiString index 12 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-MD5: [md5-digest]} + property ContentRange: AnsiString index 13 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Range: bytes 2543-4532/7898} + property ContentType: AnsiString index 14 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Content-Type: text/html; charset=ISO-8859-4} + property Date: AnsiString index 15 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Date: Tue, 15 Nov 1994 08:12:31 GMT} + property Expect: AnsiString index 16 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Expect: 100-continue} + property Expires: AnsiString index 17 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Expires: Thu, 01 Dec 1994 16:00:00 GMT} + property From: AnsiString index 18 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {From: webmaster@w3.org} + property Host: AnsiString index 19 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Host: www.w3.org} + property IfMatch: AnsiString index 20 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {If-Match: entity_tag001} + property IfModifiedSince: AnsiString index 21 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT} + property IfNoneMatch: AnsiString index 22 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {If-None-Match: entity_tag001} + property IfRange: AnsiString index 23 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {If-Range: entity_tag001} + property IfUnmodifiedSince: AnsiString index 24 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT} + property LastModified: AnsiString index 25 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT} + property MaxForwards: AnsiString index 26 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Max-Forwards: 3} + property Pragma: AnsiString index 27 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Pragma: no-cache} + property ProxyAuthorization: AnsiString index 28 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Proxy-Authorization: [credentials]} + property Range: AnsiString index 29 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Range: bytes=100-599} + property Referer: AnsiString index 30 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Referer: http://www.w3.org/hypertext/DataSources/Overview.html} + property TE: AnsiString index 31 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {TE: trailers, deflate;q=0.5} + property Trailer: AnsiString index 32 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Trailer: Date} + property TransferEncoding: AnsiString index 33 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Transfer-Encoding: chunked} + property Upgrade: AnsiString index 34 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11} + property UserAgent: AnsiString index 35 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {User-Agent: CERN-LineMode/2.15 libwww/2.17b3} + property Via: AnsiString index 36 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Via: 1.0 ricky, 1.1 mertz, 1.0 lucy} + property Warning: AnsiString index 37 read GetHeaderValueByPropertyIndex write SetHeaderValueByPropertyIndex; {Warning: 112 Disconnected Operation} + property CustomHeaders: TALStrings read FHeaders; + property Cookies: TALStrings read FCookies; + end; + + {-----------------------} + TALNameValuePair = record + Name: ansistring; + Value: ansistring; + constructor Create(const AName, AValue: ansistring); + end; + TALNameValueArray = Array of TALNameValuePair; + + {--TALHTTPCookie--} + TALHTTPCookie = class(TCollectionItem) + private + FName: AnsiString; + FValue: AnsiString; + FPath: AnsiString; + FDomain: AnsiString; + FExpires: TDateTime; + FSameSite: AnsiString; + FSecure: Boolean; + FHttpOnly: Boolean; + protected + function GetHeaderValue: AnsiString; + procedure SetHeaderValue(Const aValue: AnsiString); + public + constructor Create(Collection: TCollection); override; + procedure AssignTo(Dest: TPersistent); override; + property Name: AnsiString read FName write FName; + property Value: AnsiString read FValue write FValue; + property Path: AnsiString read FPath write FPath; + property Domain: AnsiString read FDomain write FDomain; + property Expires: TDateTime read FExpires write FExpires; + property SameSite: AnsiString read FSameSite write FSameSite; + property Secure: Boolean read FSecure write FSecure; + property HttpOnly: Boolean read FHttpOnly write FHttpOnly; + property HeaderValue: AnsiString read GetHeaderValue write SetHeaderValue; + end; + + {--TALCookieCollection--} + TALHTTPCookieCollection = class(TCollection) + private + protected + function GetCookie(Index: Integer): TALHTTPCookie; + procedure SetCookie(Index: Integer; Cookie: TALHTTPCookie); + public + function Add: TALHTTPCookie; overload; + function Add(const Name: AnsiString; + const Value: AnsiString; + const Path: AnsiString; + const Domain: AnsiString; + const Expires: int64; // unixDateTime format + const SameSite: AnsiString; + const Secure: Boolean; + const HttpOnly: Boolean): TALHTTPCookie; overload; + property Items[Index: Integer]: TALHTTPCookie read GetCookie write SetCookie; default; + end; + + {--Response header--} + TALHTTPResponseHeader = Class(TObject) + Private + FAcceptRanges: AnsiString; + FAge: AnsiString; + FAllow: AnsiString; + FCacheControl: AnsiString; + FConnection: AnsiString; + FContentEncoding: AnsiString; + FContentLanguage: AnsiString; + FContentLength: AnsiString; + FContentLocation: AnsiString; + FContentMD5: AnsiString; + FContentRange: AnsiString; + FContentType: AnsiString; + FDate: AnsiString; + FETag: AnsiString; + FExpires: AnsiString; + FLastModified: AnsiString; + FLocation: AnsiString; + FPragma: AnsiString; + FProxyAuthenticate: AnsiString; + FRetryAfter: AnsiString; + FServer: AnsiString; + FTrailer: AnsiString; + FTransferEncoding: AnsiString; + FUpgrade: AnsiString; + FVary: AnsiString; + FVia: AnsiString; + FWarning: AnsiString; + FWWWAuthenticate: AnsiString; + FRawHeaderText: AnsiString; + FCustomHeaders: TALStrings; + FCookies: TALHTTPCookieCollection; + FStatusCode: AnsiString; + FHttpProtocolVersion: AnsiString; + FReasonPhrase: AnsiString; + procedure SetRawHeaderText(const aRawHeaderText: AnsiString); + Function GetRawHeaderText: AnsiString; + public + constructor Create; virtual; + destructor Destroy; override; + procedure Clear; + property AcceptRanges: AnsiString read FAcceptRanges; {Accept-Ranges: bytes} + property Age: AnsiString read FAge; {Age: 2147483648(2^31)} + property Allow: AnsiString read FAllow; {Allow: GET, HEAD, PUT} + property CacheControl: AnsiString read FCacheControl; {Cache-Control: no-cache} + property Connection: AnsiString read FConnection; {Connection: close} + property ContentEncoding: AnsiString read FContentEncoding; {Content-Encoding: gzip} + property ContentLanguage: AnsiString read FContentLanguage; {Content-Language: mi, en} + property ContentLength: AnsiString read FContentLength; {Content-Length: 3495} + property ContentLocation: AnsiString read FContentLocation; {Content-Location: http://localhost/page.asp} + property ContentMD5: AnsiString read FContentMD5; {Content-MD5: [md5-digest]} + property ContentRange: AnsiString read FContentRange; {Content-Range: bytes 2543-4532/7898} + property ContentType: AnsiString read FContentType; {Content-Type: text/html; charset=ISO-8859-4} + property Date: AnsiString read FDate; {Date: Tue, 15 Nov 1994 08:12:31 GMT} + property ETag: AnsiString read FETag; {ETag: W/"xyzzy"} + property Expires: AnsiString read FExpires; {Expires: Thu, 01 Dec 1994 16:00:00 GMT} + property LastModified: AnsiString read FLastModified; {Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT} + property Location: AnsiString read FLocation; {Location: http://www.w3.org/pub/WWW/People.html} + property Pragma: AnsiString read FPragma; {Pragma: no-cache} + property ProxyAuthenticate: AnsiString read FProxyAuthenticate; {Proxy-Authenticate: [challenge]} + property RetryAfter: AnsiString read FRetryAfter; {Retry-After: Fri, 31 Dec 1999 23:59:59 GMT} + property Server: AnsiString read FServer; {Server: CERN/3.0 libwww/2.17} + property Trailer: AnsiString read FTrailer; {Trailer: Date} + property TransferEncoding: AnsiString read FTransferEncoding; {Transfer-Encoding: chunked} + property Upgrade: AnsiString read FUpgrade; {Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11} + property Vary: AnsiString read FVary; {Vary: Date} + property Via: AnsiString read FVia; {Via: 1.0 ricky, 1.1 mertz, 1.0 lucy} + property Warning: AnsiString read FWarning; {Warning: 112 Disconnected Operation} + property WWWAuthenticate: AnsiString read FWWWAuthenticate; {WWW-Authenticate: [challenge]} + Property CustomHeaders: TALStrings read FCustomHeaders; + Property Cookies: TALHTTPCookieCollection read FCookies; + property StatusCode: AnsiString read FStatusCode; + property HttpProtocolVersion: AnsiString read FHttpProtocolVersion; + Property ReasonPhrase: AnsiString read FReasonPhrase; + property RawHeaderText: AnsiString read GetRawHeaderText write setRawHeaderText; + end; + + {---------------------------------------} + EALHTTPClientException = class(Exception) + private + FStatusCode: Integer; + public + constructor Create(const Msg: AnsiString; SCode: Integer = 0); + constructor CreateFmt(const Msg: AnsiString; const Args: array of const; SCode: Integer = 0); + property StatusCode: Integer read FStatusCode write FStatusCode; + end; + + {---------------------------------------} + TALHTTPClientProxyParams = Class(Tobject) + Private + FProxyBypass: AnsiString; + FproxyServer: AnsiString; + FProxyUserName: AnsiString; + FProxyPassword: AnsiString; + FproxyPort: integer; + FOnChange: TALHTTPPropertyChangeEvent; + procedure SetProxyBypass(const Value: AnsiString); + procedure SetProxyPassword(const Value: AnsiString); + procedure SetProxyPort(const Value: integer); + procedure SetProxyServer(const Value: AnsiString); + procedure SetProxyUserName(const Value: AnsiString); + Procedure DoChange(propertyIndex: Integer); + public + constructor Create; virtual; + procedure Clear; + Property ProxyBypass: AnsiString read FProxyBypass write SetProxyBypass; //index 0 + property ProxyServer: AnsiString read FProxyServer write SetProxyServer; //index 1 + property ProxyPort: integer read FProxyPort write SetProxyPort default 0; //index 2 + property ProxyUserName: AnsiString read FProxyUserName write SetProxyUserName; //index 3 + property ProxyPassword: AnsiString read FProxyPassword write SetProxyPassword; //index 4 + property OnChange: TALHTTPPropertyChangeEvent read FOnChange write FOnChange; + end; + + {--------------------------------------------------------------------------------------------------} + TAlHTTPClientRedirectEvent = procedure(sender: Tobject; const NewURL: AnsiString) of object; + TALHTTPClientUploadProgressEvent = procedure(sender: Tobject; Sent: Integer; Total: Integer) of object; + TALHTTPClientDownloadProgressEvent = procedure(sender: Tobject; Read: Integer; Total: Integer) of object; + + {----------------------------} + TALHTTPClient = class(TObject) + private + FProxyParams: TALHTTPClientProxyParams; + FRequestHeader: TALHTTPRequestHeader; + FProtocolVersion: TALHTTPProtocolVersion; + FUserName: AnsiString; + FPassword: AnsiString; + FConnectTimeout: Integer; + FSendTimeout: Integer; + FReceiveTimeout: Integer; + FOnUploadProgress: TALHTTPClientUploadProgressEvent; + FOnDownloadProgress: TALHTTPClientDownloadProgressEvent; + FOnRedirect: TAlHTTPClientRedirectEvent; + FUploadBufferSize: cardinal; + protected + procedure SetUsername(const NameValue: AnsiString); virtual; + procedure SetPassword(const PasswordValue: AnsiString); virtual; + procedure OnProxyParamsChange(sender: Tobject; Const PropertyIndex: Integer); virtual; + procedure SetOnRedirect(const Value: TAlHTTPClientRedirectEvent); virtual; + procedure Execute(const aUrl:AnsiString; + const aRequestMethod: TALHTTPMethod; + const aRequestDataStream: TStream; + const ARequestHeaderValues: TALNameValueArray; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader); virtual; abstract; + public + constructor Create; virtual; + destructor Destroy; override; + //----- + Procedure Get(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True); overload; + Procedure Get(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Function Get(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + Function Get(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True): AnsiString; overload; + //----- + Procedure Post(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Procedure Post(const aUrl:AnsiString; + const aPostDataStream: TStream; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Function Post(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + Function Post(const aUrl:AnsiString; + const aPostDataStream: TStream; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + Procedure PostUrlEncoded(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True); overload; + Function PostUrlEncoded(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True): AnsiString; overload; + //----- + Procedure PostMultipartFormData(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const aRequestFiles: TALMultiPartFormDataContents; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Function PostMultiPartFormData(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const aRequestFiles: TALMultiPartFormDataContents; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + Procedure Head(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Function Head(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + Procedure Trace(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + Function trace(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + Procedure Put(const aUrl:AnsiString; + const aPutDataStream: TStream; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + function Put(const aURL: Ansistring; + const aPutDataStream: TStream; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + procedure Delete(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + function Delete(const aURL: Ansistring; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + procedure Options(const aUrl:AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); overload; + function Options(const aURL: Ansistring; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; overload; + //----- + property ConnectTimeout: Integer read FConnectTimeout write FConnectTimeout default 0; + property SendTimeout: Integer read FSendTimeout write FSendTimeout default 0; + property ReceiveTimeout: Integer read FReceiveTimeout write FReceiveTimeout default 0; + property UploadBufferSize: cardinal read FUploadBufferSize write FUploadBufferSize default $8000; + property ProxyParams: TALHTTPClientProxyParams read FProxyParams; + property RequestHeader: TALHTTPRequestHeader read FRequestHeader; + Property ProtocolVersion: TALHTTPProtocolVersion read FProtocolVersion write FProtocolVersion default HTTPpv_1_1; + property UserName: AnsiString read FUserName write SetUserName; + property Password: AnsiString read FPassword write SetPassword; + property OnUploadProgress: TALHTTPClientUploadProgressEvent read FOnUploadProgress write FOnUploadProgress; + property OnDownloadProgress: TALHTTPClientDownloadProgressEvent read FonDownloadProgress write FonDownloadProgress; + property OnRedirect: TAlHTTPClientRedirectEvent read FOnRedirect write SetOnRedirect; + end; + +{Http Function} +procedure ALHTTPEncodeParamNameValues(const ParamValues: TALStrings); +procedure ALExtractHTTPFields(Separators, + WhiteSpace, + Quotes: TSysCharSet; + Content: PAnsiChar; + Strings: TALStrings; + StripQuotes: Boolean = False); +Function AlRemoveShemeFromUrl(const aUrl: AnsiString): ansiString; +{$IFDEF MSWINDOWS} +Function AlExtractShemeFromUrl(const aUrl: AnsiString): TInternetScheme; +{$ENDIF} +Function AlExtractHostNameFromUrl(const aUrl: AnsiString): AnsiString; +Function AlExtractDomainNameFromUrl(const aUrl: AnsiString): AnsiString; +Function AlExtractUrlPathFromUrl(const aUrl: AnsiString): AnsiString; +Function AlInternetCrackUrl(const aUrl: AnsiString; + Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo: AnsiString; + var PortNumber: integer): Boolean; overload; +Function AlInternetCrackUrl(const aUrl: AnsiString; + Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + Anchor: AnsiString; // not the anchor is never send to the server ! it's only used on client side + const Query: TALStrings; + var PortNumber: integer): Boolean; overload; +Function AlInternetCrackUrl(var Url: AnsiString; // if true return UrlPath + var Anchor: AnsiString; + const Query: TALStrings): Boolean; overload; +Function AlRemoveAnchorFromUrl(aUrl: AnsiString; Var aAnchor: AnsiString): AnsiString; overload; +Function AlRemoveAnchorFromUrl(const aUrl: AnsiString): AnsiString; overload; +{$IFDEF MSWINDOWS} +function AlCombineUrl(const RelativeUrl, BaseUrl: AnsiString): AnsiString; overload; +Function AlCombineUrl(const RelativeUrl, + BaseUrl, + Anchor: AnsiString; + const Query: TALStrings): AnsiString; overload; +{$ENDIF} + +const + AlRfc822DayOfWeekNames: array[1..7] of AnsiString = ('Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat'); + + ALRfc822MonthOfTheYearNames: array[1..12] of AnsiString = ('Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec'); + +function ALGmtDateTimeToRfc822Str(const aValue: TDateTime): AnsiString; +{$IFDEF MSWINDOWS} +function ALDateTimeToRfc822Str(const aValue: TDateTime): AnsiString; +{$ENDIF} +function ALTryRfc822StrToGMTDateTime(const S: AnsiString; out Value: TDateTime): Boolean; +function ALRfc822StrToGMTDateTime(const s: AnsiString): TDateTime; + +function ALTryIPV4StrToNumeric(const aIPv4Str: AnsiString; var aIPv4Num: Cardinal): Boolean; +function ALIPV4StrToNumeric(const aIPv4: AnsiString): Cardinal; +function ALNumericToIPv4Str(const aIPv4: Cardinal): ansiString; +function ALIPv4EndOfRange(const aStartIPv4: Cardinal; aMaskLength: integer): Cardinal; + +type + TALIPv6Binary = array[1..16] of AnsiChar; + +function ALZeroIpV6: TALIPv6Binary; +Function ALIsValidIPv6BinaryStr(const aIPV6BinaryStr: ansiString): boolean; +function ALTryIPV6StrToBinary(aIPv6Str: ansiString; var aIPv6Bin: TALIPv6Binary): Boolean; +function ALIPV6StrTobinary(const aIPv6: AnsiString): TALIPv6Binary; +function ALBinaryToIPv6Str(const aIPv6: TALIPv6Binary): ansiString; +function ALBinaryStrToIPv6Binary(const aIPV6BinaryStr: ansiString): TALIPv6Binary; +function ALBinaryStrToIPv6Str(const aIPV6BinaryStr: ansiString): ansiString; +function ALIPv6EndOfRange(const aStartIPv6: TALIPv6Binary; aMaskLength: integer): TALIPv6Binary; +procedure ALIPv6SplitParts(const aIPv6: TALIPv6Binary; + var aLowestPart: UInt64; + var aHigestPart: UInt64); + +Const + cALHTTPCLient_MsgInvalidURL = 'Invalid url ''%s'' - only supports ''http'' and ''https'' schemes'; + cALHTTPCLient_MsgInvalidHTTPRequest = 'Invalid HTTP Request: Length is 0'; + cALHTTPCLient_MsgEmptyURL = 'Empty URL'; + +implementation + +uses + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + Web.HttpApp, + System.DateUtils, + System.SysConst, + System.Math, + system.AnsiStrings, + AlCommon, + ALString; + +{***********************************************************************************} +function AlStringFetch(var AInput: AnsiString; const ADelim: AnsiString): AnsiString; +var + LPos: Integer; +begin + LPos := AlPos(ADelim, AInput); + if LPos <= 0 then begin + Result := AInput; + AInput := ''; + end + else begin + Result := AlCopyStr(AInput, 1, LPos - 1); + AInput := AlCopyStr(AInput, LPos + Length(ADelim), MaxInt); + end; +end; + +{********************************************************} +constructor TALHTTPCookie.Create(Collection: TCollection); +begin + inherited Create(Collection); + FName := ''; + FValue := ''; + FPath := ''; + FDomain := ''; + FExpires := ALNullDate; + FSameSite := ''; + FSecure := False; + FHttpOnly := false; +end; + +{**************************************************} +procedure TALHTTPCookie.AssignTo(Dest: TPersistent); +begin + if Dest is TALHTTPCookie then + with TALHTTPCookie(Dest) do begin + Name := Self.FName; + Value := Self.FValue; + Path := Self.FPath; + Domain := Self.FDomain; + Expires := Self.FExpires; + SameSite := Self.FSameSite; + Secure := Self.FSecure; + HttpOnly := Self.FHttpOnly; + end + else inherited AssignTo(Dest); +end; + +{************************************************} +function TALHTTPCookie.GetHeaderValue: AnsiString; +begin + Result := ALFormat('%s=%s; ', [ALHTTPEncode(FName), ALHTTPEncode(FValue)]); + if Domain <> '' then Result := Result + ALFormat('domain=%s; ', [Domain]); + if Path <> '' then Result := Result + ALFormat('path=%s; ', [Path]); + if Expires <> ALNullDate then + Result := Result + ALFormat(ALFormatDateTime('"expires=%s, "dd"-%s-"yyyy" "hh":"nn":"ss" GMT; "', + Expires, + ALDefaultFormatSettings), + [AlRfc822DayOfWeekNames[DayOfWeek(Expires)], + ALRfc822MonthOfTheYearNames[MonthOf(Expires)]]); + if SameSite <> '' then Result := Result + ALFormat('SameSite=%s; ', [SameSite]); + if Secure then Result := Result + 'secure; '; + if HttpOnly then Result := Result + 'httponly'; + if ALCopyStr(Result, Length(Result) - 1, MaxInt) = '; ' then SetLength(Result, Length(Result) - 2); +end; + +{*****************} +//exemple of value: +// LSID=DQAAAK…Eaem_vYg; Domain=docs.foo.com; Path=/accounts; Expires=Wed, 13-Jan-2021 22:23:01 GMT; Secure; HttpOnly +// HSID=AYQEVn….DKrdst; Domain=.foo.com; Path=/; Expires=Wed, 13-Jan-2021 22:23:01 GMT; HttpOnly +// SSID=Ap4P….GTEq; Domain=.foo.com; Path=/; Expires=Wed, 13-Jan-2021 22:23:01 GMT; Secure; HttpOnly +procedure TALHTTPCookie.SetHeaderValue(Const aValue: AnsiString); +Var LCookieProp: TALStringList; + LCookieStr: AnsiString; +begin + + FName:= ''; + FValue:= ''; + FPath:= ''; + FDomain:= ''; + FExpires:= ALNullDate; + FSameSite := ''; + FSecure:= False; + FHttpOnly := False; + + LCookieProp := TALStringList.Create; + try + + LCookieStr := ALTrim(AValue); + while LCookieStr <> '' do + LCookieProp.Add(ALTrim(AlStringFetch(LCookieStr, ';'))); + if LCookieProp.Count = 0 then exit; + + // Exemple of aCookieProp content : + // LSID=DQAAAK…Eaem_vYg + // Domain=docs.foo.com + // Path=/accounts + // Expires=Wed, 13-Jan-2021 22:23:01 GMT + // SameSite=None + // Secure + // HttpOnly + + FName := LCookieProp.Names[0]; + FValue := LCookieProp.ValueFromIndex[0]; + FPath := LCookieProp.values['PATH']; + if FPath = '' then FPath := '/'; + FDomain := LCookieProp.values['DOMAIN']; + if not ALTryRfc822StrToGmtDateTime(LCookieProp.values['EXPIRES'], FExpires) then FExpires := ALNullDate; + FSameSite := LCookieProp.values['SAMESITE']; + FSecure := LCookieProp.IndexOf('SECURE') <> -1; + FHttpOnly := LCookieProp.IndexOf('HTTPONLY') <> -1; + + finally + AlFreeAndNil(LCookieProp); + end; + +end; + +{**************************************************} +function TALHTTPCookieCollection.Add: TALHTTPCookie; +begin + Result := TALHTTPCookie(inherited Add); +end; + +{**********************************************************} +function TALHTTPCookieCollection.Add(const Name: AnsiString; + const Value: AnsiString; + const Path: AnsiString; + const Domain: AnsiString; + const Expires: int64; // unixDateTime format + const SameSite: AnsiString; + const Secure: Boolean; + const HttpOnly: boolean): TALHTTPCookie; +begin + result := TALHTTPCookie(inherited Add); + result.Name := Name; + result.Value := Value; + result.Path := Path; + result.Domain := Domain; + result.Expires := unixtoDateTime(Expires); + result.SameSite := SameSite; + result.Secure := Secure; + result.HttpOnly := HttpOnly; +end; + +{************************************************************************} +function TALHTTPCookieCollection.GetCookie(Index: Integer): TALHTTPCookie; +begin + Result := TALHTTPCookie(inherited Items[Index]); +end; + +{*********************************************************************************} +procedure TALHTTPCookieCollection.SetCookie(Index: Integer; Cookie: TALHTTPCookie); +begin + Items[Index].Assign(Cookie); +end; + +{***************************************} +constructor TALHTTPResponseHeader.Create; +begin + inherited; + FCustomHeaders := TALStringList.create; + FCustomHeaders.NameValueSeparator := ':'; + FCookies := TALHTTPCookieCollection.Create(TALHTTPCookie); + clear; +end; + +{***************************************} +destructor TALHTTPResponseHeader.Destroy; +begin + AlFreeAndNil(FCustomHeaders); + AlFreeAndNil(FCookies); + inherited; +end; + +{************************************} +procedure TALHTTPResponseHeader.Clear; +begin + FAcceptRanges:= ''; + FAge:= ''; + FAllow:= ''; + FCacheControl:= ''; + FConnection:= ''; + FContentEncoding:= ''; + FContentLanguage:= ''; + FContentLength:= ''; + FContentLocation:= ''; + FContentMD5:= ''; + FContentRange:= ''; + FContentType:= ''; + FDate:= ''; + FETag:= ''; + FExpires:= ''; + FLastModified:= ''; + FLocation:= ''; + FPragma:= ''; + FProxyAuthenticate:= ''; + FRetryAfter:= ''; + FServer:= ''; + FTrailer:= ''; + FTransferEncoding:= ''; + FUpgrade:= ''; + FVary:= ''; + FVia:= ''; + FWarning:= ''; + FWWWAuthenticate:= ''; + FRawHeaderText:= ''; + FCustomHeaders.clear; + FCookies.Clear; + FStatusCode:= ''; + FHttpProtocolVersion:= ''; + FReasonPhrase := ''; +end; + +{**********************************************************} +function TALHTTPResponseHeader.GetRawHeaderText: AnsiString; +begin + result := FRawHeaderText; +end; + +{*********************************************************************************} +procedure TALHTTPResponseHeader.SetRawHeaderText(Const aRawHeaderText: AnsiString); + +Var LRawHeaderLst: TALStringList; + J: integer; + LStatusLine: AnsiString; + + {-------------------------------------------------------------} + Function internalGetValue(const aName: AnsiString): AnsiString; + Var I: Integer; + Begin + I := LRawHeaderLst.IndexOfName(aName); + If I >= 0 then Begin + result := ALTrim(LRawHeaderLst.ValueFromIndex[I]); + LRawHeaderLst.Delete(I); + end + else result := ''; + end; + +begin + LRawHeaderLst := TALStringList.create; + try + LRawHeaderLst.NameValueSeparator := ':'; + LRawHeaderLst.Text := aRawHeaderText; + + FAcceptRanges := internalGetValue('Accept-Ranges'); + FAge:= internalGetValue('Age'); + FAllow := internalGetValue('Allow'); + FCacheControl := internalGetValue('Cache-Control'); + FConnection := internalGetValue('Connection'); + FContentEncoding := internalGetValue('Content-Encoding'); + FContentLanguage := internalGetValue('Content-Language'); + FContentLength := internalGetValue('Content-Length'); + FContentLocation := internalGetValue('Content-Location'); + FContentMD5 := internalGetValue('Content-MD5'); + FContentRange := internalGetValue('Content-Range'); + FContentType := internalGetValue('Content-Type'); + FDate := internalGetValue('Date'); + FETag := internalGetValue('ETag'); + FExpires := internalGetValue('Expires'); + FLastModified := internalGetValue('Last-Modified'); + FLocation := internalGetValue('Location'); + FPragma := internalGetValue('Pragma'); + FProxyAuthenticate := internalGetValue('Proxy-Authenticate'); + FRetryAfter := internalGetValue('Retry-After'); + FServer := internalGetValue('Server'); + FTrailer := internalGetValue('Trailer'); + FTransferEncoding := internalGetValue('Transfer-Encoding'); + FUpgrade := internalGetValue('Upgrade'); + FVary := internalGetValue('Vary'); + FVia := internalGetValue('Via'); + FWarning := internalGetValue('Warning'); + FWWWAuthenticate := internalGetValue('WWW-Authenticate'); + + FCookies.clear; + J := LRawHeaderLst.IndexOfName('Set-Cookie'); + While J >= 0 do begin + If ALTrim(LRawHeaderLst.ValueFromIndex[J]) <> '' then + Cookies.Add.HeaderValue := ALTrim(LRawHeaderLst.ValueFromIndex[J]); + LRawHeaderLst.Delete(J); + J := LRawHeaderLst.IndexOfName('Set-Cookie'); + end; + + If LRawHeaderLst.Count > 0 then begin + LStatusLine := LRawHeaderLst[0]; //HTTP/1.1 200 OK | 200 OK | status: 200 OK + FHttpProtocolVersion := ALTrim(AlStringFetch(LStatusLine,' ')); + If AlIsInteger(FHttpProtocolVersion) then begin + FStatusCode := FHttpProtocolVersion; + FHttpProtocolVersion := ''; + end + else FStatusCode := ALTrim(AlStringFetch(LStatusLine,' ')); + FReasonPhrase := ALTrim(LStatusLine); + + If not AlIsInteger(FStatusCode) then begin + FHttpProtocolVersion := ''; + LStatusLine := internalGetValue('Status'); + FStatusCode := ALTrim(AlStringFetch(LStatusLine,' ')); + FReasonPhrase := ALTrim(AlStringFetch(LStatusLine,' ')); + end + else LRawHeaderLst.Delete(0); + end + else begin + FStatusCode := ''; + FHttpProtocolVersion := ''; + FReasonPhrase := ''; + end; + + FCustomHeaders.clear; + For J := 0 to LRawHeaderLst.count - 1 do + If ALTrim(LRawHeaderLst[J]) <> '' then + FCustomHeaders.Add(LRawHeaderLst[J]); + + FRawHeaderText := aRawHeaderText; + finally + AlFreeAndNil(LRawHeaderLst); + end; +end; + +{**************************************} +constructor TALHTTPRequestHeader.Create; +Begin + inherited; + fHeaders:= TALNVStringList.create; + fHeaders.NameValueSeparator := ':'; + FCookies := TALNVStringList.create; + Accept := 'text/html, */*'; +end; + +{**************************************} +destructor TALHTTPRequestHeader.Destroy; +begin + AlFreeAndNil(fHeaders); + AlFreeAndNil(Fcookies); + inherited; +end; + +{***********************************} +procedure TALHTTPRequestHeader.Clear; +begin + fHeaders.clear; + FCookies.Clear; +end; + +{********************************************************************************************} +function TALHTTPRequestHeader.GetHeaderValueByPropertyIndex(const Index: Integer): ansiString; +begin + Case index of + 0: result := FHeaders.values['Accept']; + 1: result := FHeaders.values['Accept-Charset']; + 2: result := FHeaders.values['Accept-Encoding']; + 3: result := FHeaders.values['Accept-Language']; + 4: result := FHeaders.values['Allow']; + 5: result := FHeaders.values['Authorization']; + 6: result := FHeaders.values['Cache-Control']; + 7: result := FHeaders.values['Connection']; + 8: result := FHeaders.values['Content-Encoding']; + 9: result := FHeaders.values['Content-Language']; + 10: result := FHeaders.values['Content-Length']; + 11: result := FHeaders.values['Content-Location']; + 12: result := FHeaders.values['Content-MD5']; + 13: result := FHeaders.values['Content-Range']; + 14: result := FHeaders.values['Content-Type']; + 15: result := FHeaders.values['Date']; + 16: result := FHeaders.values['Expect']; + 17: result := FHeaders.values['Expires']; + 18: result := FHeaders.values['From']; + 19: result := FHeaders.values['Host']; + 20: result := FHeaders.values['If-Match']; + 21: result := FHeaders.values['If-Modified-Since']; + 22: result := FHeaders.values['If-None-Match']; + 23: result := FHeaders.values['If-Range']; + 24: result := FHeaders.values['If-Unmodified-Since']; + 25: result := FHeaders.values['Last-Modified']; + 26: result := FHeaders.values['Max-Forwards']; + 27: result := FHeaders.values['Pragma']; + 28: result := FHeaders.values['Proxy-Authorization']; + 29: result := FHeaders.values['Range']; + 30: result := FHeaders.values['Referer']; + 31: result := FHeaders.values['TE']; + 32: result := FHeaders.values['Trailer']; + 33: result := FHeaders.values['Transfer-Encoding']; + 34: result := FHeaders.values['Upgrade']; + 35: result := FHeaders.values['User-Agent']; + 36: result := FHeaders.values['Via']; + 37: result := FHeaders.values['Warning']; + else raise Exception.Create('Error A24918E8-4580-43FC-B513-47D1D4483F72'); + end; +end; + +{**********************************************************************************************************} +procedure TALHTTPRequestHeader.SetHeaderValueByPropertyIndex(const Index: Integer; const Value: AnsiString); +begin + Case index of + 0: FHeaders.values['Accept'] := AlTrim(Value); + 1: FHeaders.values['Accept-Charset'] := AlTrim(Value); + 2: FHeaders.values['Accept-Encoding'] := AlTrim(Value); + 3: FHeaders.values['Accept-Language'] := AlTrim(Value); + 4: FHeaders.values['Allow'] := AlTrim(Value); + 5: FHeaders.values['Authorization'] := AlTrim(Value); + 6: FHeaders.values['Cache-Control'] := AlTrim(Value); + 7: FHeaders.values['Connection'] := AlTrim(Value); + 8: FHeaders.values['Content-Encoding'] := AlTrim(Value); + 9: FHeaders.values['Content-Language'] := AlTrim(Value); + 10: FHeaders.values['Content-Length'] := AlTrim(Value); + 11: FHeaders.values['Content-Location'] := AlTrim(Value); + 12: FHeaders.values['Content-MD5'] := AlTrim(Value); + 13: FHeaders.values['Content-Range'] := AlTrim(Value); + 14: FHeaders.values['Content-Type'] := AlTrim(Value); + 15: FHeaders.values['Date'] := AlTrim(Value); + 16: FHeaders.values['Expect'] := AlTrim(Value); + 17: FHeaders.values['Expires'] := AlTrim(Value); + 18: FHeaders.values['From'] := AlTrim(Value); + 19: FHeaders.values['Host'] := AlTrim(Value); + 20: FHeaders.values['If-Match'] := AlTrim(Value); + 21: FHeaders.values['If-Modified-Since'] := AlTrim(Value); + 22: FHeaders.values['If-None-Match'] := AlTrim(Value); + 23: FHeaders.values['If-Range'] := AlTrim(Value); + 24: FHeaders.values['If-Unmodified-Since'] := AlTrim(Value); + 25: FHeaders.values['Last-Modified'] := AlTrim(Value); + 26: FHeaders.values['Max-Forwards'] := AlTrim(Value); + 27: FHeaders.values['Pragma'] := AlTrim(Value); + 28: FHeaders.values['Proxy-Authorization'] := AlTrim(Value); + 29: FHeaders.values['Range'] := AlTrim(Value); + 30: FHeaders.values['Referer'] := AlTrim(Value); + 31: FHeaders.values['TE'] := AlTrim(Value); + 32: FHeaders.values['Trailer'] := AlTrim(Value); + 33: FHeaders.values['Transfer-Encoding'] := AlTrim(Value); + 34: FHeaders.values['Upgrade'] := AlTrim(Value); + 35: FHeaders.values['User-Agent'] := AlTrim(Value); + 36: FHeaders.values['Via'] := AlTrim(Value); + 37: FHeaders.values['Warning'] := AlTrim(Value); + else raise Exception.Create('Error F230BBEE-7614-4CEF-AC06-0D190D4BD838'); + end; +end; + +{*********************************************************} +Function TALHTTPRequestHeader.GetRawHeaderText: AnsiString; +Var LName: ansiString; + LValue: ansiString; + I : integer; +begin + result := ''; + For I := 0 to FHeaders.count - 1 do begin + LName := ALTrim(FHeaders.names[I]); + LValue := alTrim(FHeaders.ValueFromIndex[I]); + If (LName <> '') and (LValue <> '') then + result := result + LName + ': ' + LValue + #13#10; + end; + If FCookies.Count > 0 then begin + LValue := AlStringReplace(ALTrim(FCookies.text), #13#10, '; ', [rfReplaceAll]); + if LValue <> '' then + result := result + 'Cookie: ' + LValue + #13#10; + end; +end; + +{***********************************************************************************************} +procedure TALHTTPRequestHeader.setHeaderValue(const aName: ansiString; const aValue: ansiString); +begin + If (aName <> '') then begin + if AlSameText(aName, 'Cookie') then begin + FCookies.Clear; + if (aValue <> '') then ALExtractHTTPFields([';'], [' '], [], PAnsiChar(aValue), fCookies, True) + end + else FHeaders.Values[aName] := aValue; + end; +end; + +{********************************************************************************} +procedure TALHTTPRequestHeader.SetRawHeaderText(const aRawHeaderText: AnsiString); +Var LTmpHeaders: TALStringList; + I: integer; +begin + LTmpHeaders := TALStringList.create; + try + + LTmpHeaders.NameValueSeparator := ':'; + LTmpHeaders.Text := aRawHeaderText; + + FHeaders.clear; + FCookies.clear; + For I := 0 to LTmpHeaders.count - 1 do + setHeaderValue(ALTrim(LTmpHeaders.Names[I]), + alTrim(LTmpHeaders.ValueFromIndex[I])); + + finally + AlFreeAndNil(LTmpHeaders); + end; +end; + +{*******************************************************************} +constructor TALNameValuePair.Create(const AName, AValue: ansiString); +begin + Name := AName; + Value := AValue; +end; + +{*******************************************************************} +procedure ALHTTPEncodeParamNameValues(const ParamValues: TALStrings); +var I: Integer; + LPos: integer; + LStr: AnsiString; +begin + for I := 0 to ParamValues.Count - 1 do begin + LStr := ParamValues[I]; + LPos := AlPos(ParamValues.NameValueSeparator, LStr); + if LPos > 0 then ParamValues[I] := ALHTTPEncode(AlCopyStr(LStr, 1, LPos-1)) + '=' + ALHTTPEncode(AlCopyStr(LStr, LPos+1, MAXINT)); + end; +end; + +{********************************************************} +{Parses a multi-valued string into its constituent fields. + ExtractHTTPFields is a general utility to parse multi-valued HTTP header strings into separate substrings. + *Separators is a set of characters that are used to separate individual values within the multi-valued string. + *WhiteSpace is a set of characters that are to be ignored when parsing the string. + *Content is the multi-valued string to be parsed. + *Strings is the TStrings object that receives the individual values that are parsed from Content. + *StripQuotes determines whether the surrounding quotes are removed from the resulting items. When StripQuotes is true, surrounding quotes are + removed before substrings are added to Strings. + Note: Characters contained in Separators or WhiteSpace are treated as part of a value substring if the substring is surrounded by single + or double quote marks. HTTP escape characters are converted using the HTTPDecode function.} +procedure ALExtractHTTPFields(Separators, + WhiteSpace, + Quotes: TSysCharSet; + Content: PAnsiChar; + Strings: TALStrings; + StripQuotes: Boolean = False); +begin + ALExtractHeaderFields(Separators, + WhiteSpace, + Quotes, + Content, + Strings, + True, + StripQuotes); +end; + +{*****************************************************************} +Function AlRemoveShemeFromUrl(const aUrl: AnsiString): ansiString; +Var P: integer; +begin + P := AlPos('://', aUrl); + if P > 0 then result := ALcopyStr(aUrl, P+3, maxint) + else result := aUrl; +end; + +{****************} +{$IFDEF MSWINDOWS} +Function AlExtractShemeFromUrl(const aUrl: AnsiString): TInternetScheme; +Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo: AnsiString; + PortNumber: integer; +begin + if AlInternetCrackUrl(aUrl, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo, + PortNumber) then begin + if ALSameText(SchemeName,'http') then result := INTERNET_SCHEME_HTTP + else if ALSameText(SchemeName,'https') then result := INTERNET_SCHEME_HTTPS + else if ALSameText(SchemeName,'ftp') then result := INTERNET_SCHEME_FTP + else result := INTERNET_SCHEME_UNKNOWN; + end + else result := INTERNET_SCHEME_UNKNOWN; +end; +{$ENDIF} + +{********************************************************************} +Function AlExtractHostNameFromUrl(const aUrl: AnsiString): AnsiString; +Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo: AnsiString; + PortNumber: integer; +begin + if AlInternetCrackUrl(aUrl, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo, + PortNumber) then result := HostName + else result := ''; +end; + +{**********************************************************************} +Function AlExtractDomainNameFromUrl(const aUrl: AnsiString): AnsiString; +var LIPv4Num: Cardinal; +begin + Result := AlExtractHostNameFromUrl(aUrl); + if not ALTryIPV4StrToNumeric(Result, LIPv4Num) then begin + while length(AlStringReplace(Result, + '.', + '', + [rfReplaceALL])) < length(result) - 1 do delete(Result, 1, ALpos('.',result)); + end; +end; + +{********************************************************************} +Function AlExtractUrlPathFromUrl(const aUrl: AnsiString): AnsiString; +Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo: AnsiString; + PortNumber: integer; +begin + if AlInternetCrackUrl(aUrl, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo, + PortNumber) then result := UrlPath + else result := ''; +end; + +{**************************************************} +Function AlInternetCrackUrl(const aUrl: AnsiString; + Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + ExtraInfo: AnsiString; + var PortNumber: integer): Boolean; +Var P1, P2: Integer; + S1: AnsiString; +begin + HostName := aUrl; + Result := True; + P1 := AlPos('://', HostName); // ftp://xxxx:yyyyy@ftp.yoyo.com:21/path/filename.xxx?param1=value1 + if P1 > 0 then begin + SchemeName := AlCopyStr(HostName, 1, P1-1); // ftp + delete(HostName,1, P1+2); // xxxx:yyyyy@ftp.yoyo.com:21/path/filename.xxx?param1=value1 + P2 := AlPos('#',HostName); + P1 := AlPos('?',HostName); + if (P1 > 0) and (P2 > 0) then P1 := Min(P1,P2) + else if (P2 > 0) then P1 := P2; + if P1 > 0 then begin + ExtraInfo := AlCopyStr(HostName, P1, Maxint); // ?param1=value1 + delete(HostName, P1, Maxint); // xxxx:yyyyy@ftp.yoyo.com:21/path/filename.xxx + end + else ExtraInfo := ''; + P1 := AlPos('/',HostName); + if P1 > 0 then begin + UrlPath := AlCopyStr(HostName, P1, Maxint); // /path/filename.xxx + delete(HostName, P1, Maxint); // xxxx:yyyyy@ftp.yoyo.com:21 + end + else UrlPath := ''; + P1 := ALLastDelimiter('@',HostName); + if P1 > 0 then begin + S1 := AlCopyStr(HostName, 1, P1-1); // xxxx:yyyyy + delete(HostName,1, P1); // ftp.yoyo.com:21 + P1 := Alpos(':', S1); + if P1 > 0 then begin + UserName := AlCopyStr(S1,1,P1-1); // xxxx + Password := AlCopyStr(S1,P1+1,Maxint); // yyyyy + end + else begin + UserName := S1; + Password := ''; + end; + end + else begin + UserName := ''; + Password := ''; + end; + P2 := AlPos(']', HostName); // to handle ipV6 url like [::1]:8080 + P1 := AlPosEx(':',HostName, P2+1); + if P1 > 0 then begin + S1 := AlCopyStr(HostName, P1+1, Maxint); // 21 + delete(HostName, P1, Maxint); // ftp.yoyo.com + if not ALTryStrToInt(S1, PortNumber) then PortNumber := 0; + end + else PortNumber := 0; + if PortNumber = 0 then begin + if ALSameText(SchemeName, 'http') then PortNumber := 80 + else if ALSameText(SchemeName, 'https') then PortNumber := 443 + else if ALSameText(SchemeName, 'ws') then PortNumber := 80 + else if ALSameText(SchemeName, 'wss') then PortNumber := 443 + else if ALSameText(SchemeName, 'ftp') then PortNumber := 21 + else result := False; + end; + If result then result := HostName <> ''; + end + else result := False; + + if not result then begin + SchemeName := ''; + HostName := ''; + UserName := ''; + Password := ''; + UrlPath := ''; + ExtraInfo := ''; + PortNumber := 0; + end; +end; + + +{*************************************************} +Function AlInternetCrackUrl(const aUrl: AnsiString; + Var SchemeName, + HostName, + UserName, + Password, + UrlPath, + Anchor: AnsiString; // not the anchor is never send to the server ! it's only used on client side + const Query: TALStrings; + var PortNumber: integer): Boolean; +var LExtraInfo: AnsiString; + P1: integer; +begin + Result := AlInternetCrackUrl(aUrl, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + LExtraInfo, + PortNumber); + if result then begin + P1 := AlPos('#',LExtraInfo); + if P1 > 0 then begin + Anchor := AlCopyStr(LExtraInfo, P1+1, MaxInt); + delete(LExtraInfo, P1, Maxint); + end + else Anchor := ''; + if (LExtraInfo <> '') and (LExtraInfo[1] = '?') then begin + if AlPos('&', LExtraInfo) > 0 then Query.LineBreak := '&' + else Query.LineBreak := '&'; + Query.text := AlCopyStr(LExtraInfo,2,Maxint); + end + else Query.clear; + end + else begin + Anchor := ''; + Query.clear; + end; +end; + +{***********************************************} +Function AlInternetCrackUrl(var Url: AnsiString; // if true return the relative url + var Anchor: AnsiString; + const Query: TALStrings): Boolean; +Var SchemeName, + HostName, + UserName, + Password, + UrlPath: AnsiString; + PortNumber: integer; + tmpUrl: AnsiString; +begin + + //exit if no url + if Url = '' then begin + result := False; + Exit; + end; + + //first try with full url + Result := AlInternetCrackUrl(Url, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + Anchor, + Query, + PortNumber); + if Result then Url := UrlPath + + //try with relative url + else begin + tmpUrl := Url; + if tmpUrl[1] = '/' then tmpUrl := 'http://www.arkadia.com' + tmpUrl // we don't take care of the domaine name, it's will be skip, it's just to make the url valid + else tmpUrl := 'http://www.arkadia.com/' + tmpUrl; + Result := AlInternetCrackUrl(tmpUrl, + SchemeName, + HostName, + UserName, + Password, + UrlPath, + Anchor, + Query, + PortNumber); + if Result then Url := UrlPath; + end; + +end; + +{************************************************************************************} +Function AlRemoveAnchorFromUrl(aUrl: AnsiString; Var aAnchor: AnsiString): AnsiString; +Var P1: integer; +begin + P1 := AlPos('#',aUrl); + if P1 > 0 then begin + aAnchor := AlCopyStr(aUrl, P1+1, MaxInt); + delete(aUrl, P1, Maxint); + end + else aAnchor := ''; + Result := aUrl; +end; + +{*****************************************************************} +Function AlRemoveAnchorFromUrl(const aUrl: AnsiString): AnsiString; +var LAnchor: AnsiString; +begin + result := AlRemoveAnchorFromUrl(aUrl,LAnchor); +end; + +{****************} +{$IFDEF MSWINDOWS} +function AlCombineUrl(const RelativeUrl, BaseUrl: AnsiString): AnsiString; +var Size: Dword; + Buffer: AnsiString; +begin + case AlExtractShemeFromUrl(RelativeUrl) of + + {relative path.. so try to combine the url} + INTERNET_SCHEME_PARTIAL, + INTERNET_SCHEME_UNKNOWN, + INTERNET_SCHEME_DEFAULT: begin + Size := INTERNET_MAX_URL_LENGTH; + SetLength(Buffer, Size); + if InternetCombineUrlA(PAnsiChar(BaseUrl), PAnsiChar(RelativeUrl), @Buffer[1], size, ICU_BROWSER_MODE or ICU_no_encode) then Result := AlCopyStr(Buffer, 1, Size) + else result := RelativeUrl; + end; + + {not a relative path} + else result := RelativeUrl; + + end; +end; +{$ENDIF} + +{****************} +{$IFDEF MSWINDOWS} +Function AlCombineUrl(const RelativeUrl, + BaseUrl, + Anchor: AnsiString; + const Query: TALStrings): AnsiString; +Var S1 : AnsiString; + LBool: Boolean; +begin + if Query.Count > 0 then begin + + if Query.LineBreak = #13#10 then begin + LBool := True; + Query.LineBreak := '&'; + end + else LBool := False; + + try + + S1 := ALTrim(Query.Text); + while alpos(Query.LineBreak, S1) = 1 do delete(S1,1,length(Query.LineBreak)); + while alposEx(Query.LineBreak, + S1, + length(S1) - length(Query.LineBreak) + 1) > 0 do delete(S1, + length(S1) - length(Query.LineBreak) + 1, + MaxInt); + if S1 <> '' then S1 := '?' + S1; + + finally + if LBool then Query.LineBreak := #13#10; + end; + + end + else S1 := ''; + + if Anchor <> '' then S1 := S1 + '#' + Anchor; + + Result := AlCombineUrl(RelativeUrl + S1, BaseUrl); +end; +{$ENDIF} + +{*********************************************************************} +{aValue is a GMT TDateTime - result is "Sun, 06 Nov 1994 08:49:37 GMT"} +function ALGMTDateTimeToRfc822Str(const aValue: TDateTime): AnsiString; +var LDay, LMonth, LYear: Word; +begin + DecodeDate(aValue, + LYear, + LMonth, + LDay); + + Result := ALFormat('%s, %.2d %s %.4d %s %s', + [AlRfc822DayOfWeekNames[DayOfWeek(aValue)], + LDay, + ALRfc822MonthOfTheYearNames[LMonth], + LYear, + ALFormatDateTime('hh":"nn":"ss', aValue, ALDefaultFormatSettings), + 'GMT']); +end; + +{****************} +{$IFDEF MSWINDOWS} +{aValue is a Local TDateTime - result is "Sun, 06 Nov 1994 08:49:37 GMT"} +function ALDateTimeToRfc822Str(const aValue: TDateTime): AnsiString; +begin + Result := ALGMTDateTimeToRfc822Str(AlLocalDateTimeToUTC(aValue)); +end; +{$ENDIF} + +{************************************************************} +{Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 + the function allow also date like "Sun, 06-Nov-1994 08:49:37 GMT" + to be compatible with cookies field (http://wp.netscape.com/newsref/std/cookie_spec.html) + + The "Date" line (formerly "Posted") is the date that the message was + originally posted to the network. Its format must be acceptable + both in RFC-822 and to the getdate(3) routine that is provided with + the Usenet software. This date remains unchanged as the message is + propagated throughout the network. One format that is acceptable to + both is: + + Wdy, DD Mon YY HH:MM:SS TIMEZONE + + Several examples of valid dates appear in the sample message above. + Note in particular that ctime(3) format: + + Wdy Mon DD HH:MM:SS YYYY + + is not acceptable because it is not a valid RFC-822 date. However, + since older software still generates this format, news + implementations are encouraged to accept this format and translate + it into an acceptable format. + + There is no hope of having a complete list of timezones. Universal + Time (GMT), the North American timezones (PST, PDT, MST, MDT, CST, + CDT, EST, EDT) and the +/-hhmm offset specifed in RFC-822 should be + supported. It is recommended that times in message headers be + transmitted in GMT and displayed in the local time zone.} +Function ALTryRfc822StrToGMTDateTime(const S: AnsiString; out Value: TDateTime): Boolean; + + {--------------------------------------------------------------------------} + Function InternalMonthWithLeadingChar(const AMonth: AnsiString): AnsiString; + Begin + If Length(AMonth) = 1 then result := '0' + AMonth + else result := aMonth; + end; + +Var P1,P2: Integer; + LDateStr : AnsiString; + LLst: TALStringList; + LMonthLabel: AnsiString; + LFormatSettings: TALformatSettings; + LTimeZoneStr: AnsiString; + LTimeZoneDelta: TDateTime; + +Begin + + LDateStr := S; // Wdy, DD-Mon-YYYY HH:MM:SS GMT + // Wdy, DD-Mon-YYYY HH:MM:SS +0200 + // 23 Aug 2004 06:48:46 -0700 + P1 := AlPos(',',LDateStr); + If P1 > 0 then delete(LDateStr,1,P1); // DD-Mon-YYYY HH:MM:SS GMT + // DD-Mon-YYYY HH:MM:SS +0200 + // 23 Aug 2004 06:48:46 -0700 + LDateStr := ALTrim(LDateStr); // DD-Mon-YYYY HH:MM:SS GMT + // DD-Mon-YYYY HH:MM:SS +0200 + // 23 Aug 2004 06:48:46 -0700 + + P1 := AlPos(':',LDateStr); + P2 := AlPos('-',LDateStr); + While (P2 > 0) and (P2 < P1) do begin + LDateStr[P2] := ' '; + P2 := AlPosEx('-',LDateStr,P2); + end; // DD Mon YYYY HH:MM:SS GMT + // DD Mon YYYY HH:MM:SS +0200 + // 23 Aug 2004 06:48:46 -0700 + While Alpos(' ',LDateStr) > 0 do LDateStr := AlStringReplace(LDateStr,' ',' ',[RfReplaceAll]); // DD Mon YYYY HH:MM:SS GMT + // DD Mon YYYY HH:MM:SS +0200 + // 23 Aug 2004 06:48:46 -0700 + + LLst := TALStringList.create; + Try + + LLst.Text := AlStringReplace(LDateStr,' ',#13#10,[RfReplaceall]); + If LLst.Count < 5 then begin + Result := False; + Exit; + end; + + LMonthLabel := ALTrim(LLst[1]); // Mon + // Mon + // Aug + P1 := 1; + While (p1 <= 12) and (not ALSameText(ALRfc822MonthOfTheYearNames[P1],LMonthLabel)) do inc(P1); + If P1 > 12 then begin + Result := False; + Exit; + end; + + LFormatSettings := ALDefaultFormatSettings; + LFormatSettings.DateSeparator := '/'; + LFormatSettings.TimeSeparator := ':'; + LFormatSettings.ShortDateFormat := 'dd/mm/yyyy'; + LFormatSettings.ShortTimeFormat := 'hh:nn:zz'; + + LTimeZoneStr := ALTrim(LLst[4]); // GMT + // +0200 + // -0700 + LTimeZoneStr := AlStringReplace(LTimeZoneStr,'(','',[]); + LTimeZoneStr := AlStringReplace(LTimeZoneStr,')','',[]); + LTimeZoneStr := ALTrim(LTimeZoneStr); + If LTimeZoneStr = '' then Begin + Result := False; + Exit; + end + else If (Length(LTimeZoneStr) >= 5) and + (LTimeZoneStr[1] in ['+','-']) and + (LTimeZoneStr[2] in ['0'..'9']) and + (LTimeZoneStr[3] in ['0'..'9']) and + (LTimeZoneStr[4] in ['0'..'9']) and + (LTimeZoneStr[5] in ['0'..'9']) then begin + LTimeZoneDelta := ALStrToDateTime(AlCopyStr(LTimeZoneStr,2,2) + ':' + AlCopyStr(LTimeZoneStr,4,2) + ':00', LFormatSettings); + if LTimeZoneStr[1] = '+' then LTimeZoneDelta := -1*LTimeZoneDelta; + end + else If ALSameText(LTimeZoneStr,'GMT') then LTimeZoneDelta := 0 + else If ALSameText(LTimeZoneStr,'UTC') then LTimeZoneDelta := 0 + else If ALSameText(LTimeZoneStr,'UT') then LTimeZoneDelta := 0 + else If ALSameText(LTimeZoneStr,'EST') then LTimeZoneDelta := ALStrToDateTime('05:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'EDT') then LTimeZoneDelta := ALStrToDateTime('04:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'CST') then LTimeZoneDelta := ALStrToDateTime('06:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'CDT') then LTimeZoneDelta := ALStrToDateTime('05:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'MST') then LTimeZoneDelta := ALStrToDateTime('07:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'MDT') then LTimeZoneDelta := ALStrToDateTime('06:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'PST') then LTimeZoneDelta := ALStrToDateTime('08:00:00', LFormatSettings) + else If ALSameText(LTimeZoneStr,'PDT') then LTimeZoneDelta := ALStrToDateTime('07:00:00', LFormatSettings) + else begin + Result := False; + Exit; + end; + + LDateStr := ALTrim(LLst[0]) + '/' + InternalMonthWithLeadingChar(ALIntToStr(P1)) + '/' + ALTrim(LLst[2]) + ' ' + ALTrim(LLst[3]); // DD/MM/YYYY HH:MM:SS + Result := ALTryStrToDateTime(LDateStr,Value,LFormatSettings); + If Result then Value := Value + LTimeZoneDelta; + + finally + AlFreeAndNil(LLst); + end; + +end; + +{*************************************************************} +{Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 + the function allow also date like "Sun, 06-Nov-1994 08:49:37 GMT" + to be compatible with cookies field (http://wp.netscape.com/newsref/std/cookie_spec.html)} +function ALRfc822StrToGMTDateTime(const s: AnsiString): TDateTime; +Begin + if not ALTryRfc822StrToGMTDateTime(S, Result) then + raise EConvertError.CreateResFmt(@SInvalidDateTime, [S]); +end; + +{******************************************************************************************} +Function ALTryIPV4StrToNumeric(const aIPv4Str: ansiString; var aIPv4Num: Cardinal): Boolean; +Var P1, P2: Integer; + I1, I2, I3, I4: integer; +Begin + + //---------- + if aIPv4Str = '' then begin + Result := False; + Exit; + end; + + //---------- + P1 := 1; + P2 := AlPosEx('.',aIPv4Str, P1); + if (P2 <= P1) or + (not ALTryStrToInt(AlCopyStr(aIPv4Str,P1,P2-P1), I1)) or + (not (I1 in [0..255])) then begin + Result := False; + Exit; + end; + + //---------- + P1 := P2+1; + P2 := AlPosEx('.',aIPv4Str, P1); + if (P2 <= P1) or + (not ALTryStrToInt(AlCopyStr(aIPv4Str,P1,P2-P1), I2)) or + (not (I2 in [0..255])) then begin + Result := False; + Exit; + end; + + //---------- + P1 := P2+1; + P2 := AlPosEx('.',aIPv4Str, P1); + if (P2 <= P1) or + (not ALTryStrToInt(AlCopyStr(aIPv4Str,P1,P2-P1), I3)) or + (not (I3 in [0..255])) then begin + Result := False; + Exit; + end; + + //---------- + P1 := P2+1; + P2 := length(aIPv4Str) + 1; + if (P2 <= P1) or + (not ALTryStrToInt(AlCopyStr(aIPv4Str,P1,P2-P1), I4)) or + (not (I4 in [0..255])) then begin + Result := False; + Exit; + end; + + //---------- + Result := True; + aIPv4Num := (cardinal(I1)*256*256*256) + (cardinal(I2)*256*256) + (cardinal(I3)*256) + (cardinal(I4)); + +End; + +{*************************************************************} +Function ALIPV4StrToNumeric(const aIPv4: ansiString): Cardinal; +Begin + if not ALTryIPV4StrToNumeric(aIPv4, Result) then Raise EALException.CreateFmt('Bad IPv4 string: %s', [aIPv4]); +End; + +{*************************************************************} +Function ALNumericToIPv4Str(const aIPv4: Cardinal): ansiString; +Var S1, S2, S3, S4: ansiString; +Begin + + S1 := ALIntToStr(( aIPv4 div (256*256*256) ) mod 256); + S2 := ALIntToStr(( aIPv4 div (256*256) ) mod 256); + S3 := ALIntToStr(( aIPv4 div (256) ) mod 256); + S4 := ALIntToStr(( aIPv4 ) mod 256); + + Result := S1 + '.' + S2 + '.' + S3 + '.' + S4; + +End; + +{********************************************************************************} +{This function calculates ending IPv4-address for a given start of IPv4 range and + length of subnetwork mask. + Calculation is described in RFC: http://tools.ietf.org/html/rfc1878, + calculator to test its behaviour - https://www.ultratools.com/tools/netMask. + There are declared that length of subnetwork represents number of addresses + like 2^(32 - n) - 2 where "n" is a length of subnetwork mask. + + This way for the address: + 1.0.1.0/26 + + the length will be 2^(32-26) - 2 = 2^6 - 2 = 62 addresses + 1 reserved for + the services purposes, so the last possible address in that range will be: + 1.0.1.63} +function ALIPv4EndOfRange(const aStartIPv4: Cardinal; aMaskLength: integer): Cardinal; +begin + if (aMaskLength < 1) or + (aMaskLength > 32) then raise Exception.CreateFmt('Wrong value for mask length IPv4: %d', [aMaskLength]); + + result := aStartIPv4 + Round(Power(2, (32 - aMaskLength)) - 1 {why not -2 it's that +1 address for service purposes}) +end; + +{*********************************} +Function ALZeroIpV6: TALIPv6Binary; +begin + FillChar(result, 16, #0); +end; + +{*************************************************************************} +Function ALIsValidIPv6BinaryStr(const aIPV6BinaryStr: ansiString): boolean; +begin + result := (length(aIPV6BinaryStr) = 16) and (aIPV6BinaryStr <> ALZeroIpV6) +end; + +{****************************************************************************************} +Function ALTryIPV6StrToBinary(aIPv6Str: ansiString; var aIPv6Bin: TALIPv6Binary): Boolean; +var LLstIpv6Part: TALStringList; + S1: ansiString; + P1: integer; + i: integer; +begin + + //---------- + if aIPv6Str = '' then begin + Result := False; + Exit; + end; + + // http://msdn.microsoft.com/en-us/library/aa921042.aspx + // Zero compression can be used only once in an address, which enables you to determine + // the number of 0 bits represented by each instance of a double-colon (::). + P1 := Alpos('::',aIPv6Str); + if (P1 > 0) and (AlPosEx('::', aIPv6Str, P1+1) > 0) then begin + result := False; + exit; + end + else if P1 = 1 then delete(aIPv6Str,1,1); // with the exemple below, we have one extra ":" + // ::D3:0000:2F3B:02AA:00FF:FE28:9C5A => 0:D3:0000:2F3B:02AA:00FF:FE28:9C5A + // but with the exemple below ok because the last #13#10 will be trim when we will do + // aLstIpv6Part.Text := AlStringReplace(aIPv6Str, ':', #13#10, [rfReplaceALL]); + // 21DA:D3:0000:2F3B:02AA:00FF:FE28:: => 21DA:D3:0000:2F3B:02AA:00FF:FE28:0 + + //https://howdoesinternetwork.com/2013/ipv6-zone-id + P1 := Alpos('%', aIPv6Str); // fe80:3438:7667:5c77:ce27%18 + if (P1 > 0) then delete(aIPv6Str,P1,maxint); // fe80:3438:7667:5c77:ce27 + + //---------- + LLstIpv6Part := TALStringList.Create; + try + + //---------- + LLstIpv6Part.Text := AlStringReplace(aIPv6Str, ':', #13#10, [rfReplaceALL]); + + //---------- + if (LLstIpv6Part.Count > 8) then begin + Result := False; + Exit; + end; + + // http://msdn.microsoft.com/en-us/library/aa921042.aspx + // IPv6 representation can be further simplified by removing the leading zeros within each 16-bit block. + // However, each block must have at least a single digit. The following example shows the address without + // the leading zeros + // 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A => 21DA:D3:0000:2F3B:02AA:00FF:FE28:9C5A + // + // Some types of addresses contain long sequences of zeros. In IPv6 addresses, a contiguous sequence of + // 16-bit blocks set to 0 in the colon-hexadecimal format can be compressed to :: (known as double-colon). + // The following list shows examples of compressing zeros + // FF02::2 => FF02:0:0:0:0:0:0:2 + I := 0; + while i <= 7 do begin + if i >= LLstIpv6Part.Count then begin + result := False; + Exit; + end + else if (LLstIpv6Part[i] = '') then begin + LLstIpv6Part[i] := '0000'; + while LLstIpv6Part.Count < 8 do begin + LLstIpv6Part.Insert(i,'0000'); + inc(i); + end; + end + else begin + if length(LLstIpv6Part[i]) > 4 then begin + result := False; + Exit; + end + else if length(LLstIpv6Part[i]) < 4 then begin + SetLength(S1,4-length(LLstIpv6Part[i])); + FillChar(S1[1], length(S1), '0'); + LLstIpv6Part[i] := S1 + LLstIpv6Part[i]; + end; + end; + inc(i); + end; + + //---------- + for I := 0 to LLstIpv6Part.Count - 1 do begin + + S1 := AlUpperCase(AlCopyStr(LLstIpv6Part[i], 1, 2)); + if (not ALTryStrToInt('$' + S1, P1)) or + (not (P1 in [0..255])) then begin + Result := False; + exit; + end; + aIPv6Bin[(i*2) + 1] := AnsiChar(P1); + + S1 := AlUpperCase(AlCopyStr(LLstIpv6Part[i], 3, 2)); + if (not ALTryStrToInt('$' + S1, P1)) or + (not (P1 in [0..255])) then begin + Result := False; + exit; + end; + aIPv6Bin[(i*2) + 2] := AnsiChar(P1); + + end; + + Result := True; + + finally + AlFreeAndNil(LLstIpv6Part); + end; + +end; + +{*****************************************************************} +Function ALIPV6StrTobinary(const aIPv6: ansiString): TALIPv6Binary; +Begin + if not ALTryIPv6StrToBinary(aIPv6, Result) then Raise EALException.CreateFmt('Bad IPv6 string: %s', [aIPv6]); +End; + +{*****************************************************************} +Function ALBinaryToIPv6Str(const aIPv6: TALIPv6Binary): ansiString; +Begin + + Result := ALIntToHex(ord(aIPv6[1]), 2) + ALIntToHex(ord(aIPv6[2]), 2) + ':' + + ALIntToHex(ord(aIPv6[3]), 2) + ALIntToHex(ord(aIPv6[4]), 2) + ':' + + ALIntToHex(ord(aIPv6[5]), 2) + ALIntToHex(ord(aIPv6[6]), 2) + ':' + + ALIntToHex(ord(aIPv6[7]), 2) + ALIntToHex(ord(aIPv6[8]), 2) + ':' + + ALIntToHex(ord(aIPv6[9]), 2) + ALIntToHex(ord(aIPv6[10]), 2) + ':' + + ALIntToHex(ord(aIPv6[11]), 2) + ALIntToHex(ord(aIPv6[12]), 2) + ':' + + ALIntToHex(ord(aIPv6[13]), 2) + ALIntToHex(ord(aIPv6[14]), 2) + ':' + + ALIntToHex(ord(aIPv6[15]), 2) + ALIntToHex(ord(aIPv6[16]), 2); + +End; + +{********************************************************************************} +Function ALBinaryStrToIPv6Binary(const aIPV6BinaryStr: ansiString): TALIPv6Binary; +Begin + + if length(aIPV6BinaryStr) <> 16 then Raise EALException.Create('Bad IPv6 binary string'); + result[1] := aIPV6BinaryStr[1]; + result[2] := aIPV6BinaryStr[2]; + result[3] := aIPV6BinaryStr[3]; + result[4] := aIPV6BinaryStr[4]; + result[5] := aIPV6BinaryStr[5]; + result[6] := aIPV6BinaryStr[6]; + result[7] := aIPV6BinaryStr[7]; + result[8] := aIPV6BinaryStr[8]; + result[9] := aIPV6BinaryStr[9]; + result[10] := aIPV6BinaryStr[10]; + result[11] := aIPV6BinaryStr[11]; + result[12] := aIPV6BinaryStr[12]; + result[13] := aIPV6BinaryStr[13]; + result[14] := aIPV6BinaryStr[14]; + result[15] := aIPV6BinaryStr[15]; + result[16] := aIPV6BinaryStr[16]; + +End; + +{**************************************************************************} +function ALBinaryStrToIPv6Str(const aIPV6BinaryStr: ansiString): ansiString; +begin + result := ALBinaryToIPv6Str(ALBinaryStrToIPv6Binary(aIPV6BinaryStr)); +end; + +{******************************************************************************** +{This function calculates ending IPv6-address for a given start of IPv6-range and + length of subnetwork mask. + RFC about IPv6 architecture is described here: https://tools.ietf.org/html/rfc4291. + Check out the also the good table representing the rules to calculate this ending address: + https://www.ripe.net/internet-coordination/press-centre/cidr_chart1.jpg + Calculator to test its behaviour: https://www.ultratools.com/tools/ipv6CIDRToRange + + Assume that start IPv6: 2001:250:c20::/43, + /43 means that 128 - 43 = 85 bits starting from the lowest bit must be set to 1 and + we will get ending address. + + So this address can be written like: + 2001:250:c20:0:0:0:0:0 + + Setting 85 first bits of this address to 1 we will get + 2001:250:c3f:ffff:ffff:ffff:ffff:ffff} +function ALIPv6EndOfRange(const aStartIPv6: TALIPv6Binary; aMaskLength: integer): TALIPv6Binary; + + {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~} + function _setBitTo1(const aValue: byte; + const aBitNumber: byte): byte; + begin + if (aBitNumber > 8) or + (aBitNumber < 1) then raise EALException.Create('Bad bit number for IPv6'); + result := aValue or (1 shl (aBitNumber - 1)); + end; + +var LBitsCount: integer; + LByteNumber: integer; + LBitNumber: integer; + I: byte; + +begin + if (aMaskLength < 1) or + (aMaskLength > 128) then raise Exception.CreateFmt('Wrong value for mask length IPv6: %d', [aMaskLength]); + + result := aStartIPv6; + LBitsCount := 128 - aMaskLength; // for example, 128 - 24 = 104 + + // scroll all the required bits and set them to 1; + // 1st bit to set actually represents 1st bit of the 16th byte, + // ... + // 10th bit represents 2nd bit of the 15th byte et cetera + for I := 1 to LBitsCount do begin + // NOTE: these variables are uneseccarily but the code becomes to be a little + // more readable, we see immediately what each formula represents. + LByteNumber := 16 - (Ceil(I / 8)) + 1; + LBitNumber := 8 - ((Ceil(I / 8) * 8) - I); + result[LByteNumber] := AnsiChar(_setBitTo1(Ord(result[LByteNumber]), LBitNumber)); + end; +end; + +{****************************************************} +procedure ALIPv6SplitParts(const aIPv6: TALIPv6Binary; + var aLowestPart: UInt64; + var aHigestPart: UInt64); +var LIntRec: Int64Rec; + I: integer; +begin + // get the Lowest Part + LIntRec.Lo := 0; + LIntRec.Hi := 0; + for I := 8 downto 1 do begin + LIntRec.Bytes[8 - I] := Ord(aIPv6[I]); + end; + aLowestPart := UInt64(LIntRec); + + // get the Higest Part + LIntRec.Lo := 0; + LIntRec.Hi := 0; + for I := 16 downto 9 do begin + LIntRec.Bytes[16 - I] := Ord(aIPv6[I]); + end; + aHigestPart := UInt64(LIntRec); +end; + +{***********************************************************************************} +constructor EALHTTPClientException.Create(const Msg: AnsiString; SCode: Integer = 0); +begin + inherited Create(String(Msg)); + FStatusCode := SCode; +end; + +{******************************************************************************************************************} +constructor EALHTTPClientException.CreateFmt(const Msg: AnsiString; const Args: array of const; SCode: Integer = 0); +begin + inherited CreateFmt(String(Msg), Args); + FStatusCode := SCode; +end; + +{*******************************} +constructor TALHTTPClient.Create; +begin + inherited; + FUploadBufferSize := $8000; + FConnectTimeout := 0; + FSendTimeout := 0; + FReceiveTimeout := 0; + FUserName := ''; + FPassword := ''; + FOnUploadProgress := nil; + FOnDownloadProgress := nil; + FOnRedirect := nil; + FProxyParams := TALHTTPClientProxyParams.Create; + FProxyParams.OnChange := OnProxyParamsChange; + FRequestHeader := TALHTTPRequestHeader.Create; + FRequestHeader.UserAgent := 'Mozilla/3.0 (compatible; TALHTTPClient)'; + FProtocolVersion := HTTPpv_1_1; +end; + +{*******************************} +destructor TALHTTPClient.Destroy; +begin + AlFreeAndNil(FProxyParams); + AlFreeAndNil(FRequestHeader); + inherited; +end; + +{***************************************************************} +procedure TALHTTPClient.SetUsername(const NameValue: AnsiString); +begin + FUserName := NameValue; +end; + +{*******************************************************************} +procedure TALHTTPClient.SetPassword(const PasswordValue: AnsiString); +begin + FPassword := PasswordValue; +end; + +{*****************************************************************************} +procedure TALHTTPClient.SetOnRedirect(const Value: TAlHTTPClientRedirectEvent); +begin + FOnRedirect := Value; +end; + +{************************************************} +Procedure TALHTTPClient.Get(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True); +Var Query: AnsiString; + Str: AnsiString; + I, P: Integer; +begin + + Query := ''; + for i := 0 to aRequestFields.Count - 1 do begin + Str := aRequestFields[i]; + P := AlPos(aRequestFields.NameValueSeparator, Str); + if aEncodeRequestFields then begin + if P > 0 then Query := Query + ALHTTPEncode(AlCopyStr(Str, 1, P-1)) + '=' + ALHTTPEncode(AlCopyStr(Str, P+1, MAXINT)) + ALIfThen(i < aRequestFields.Count - 1, '&') + else Query := Query + ALHTTPEncode(Str) + ALIfThen(i < aRequestFields.Count - 1, '&') + end + else begin + if P > 0 then Query := Query + AlCopyStr(Str, 1, P-1) + '=' + AlCopyStr(Str, P+1, MAXINT) + ALIfThen(i < aRequestFields.Count - 1, '&') + else Query := Query + Str + ALIfThen(i < aRequestFields.Count - 1, '&') + end; + end; + if Query <> '' then begin + P := ALpos('?', aUrl); + if P <= 0 then Query := '?' + Query + else if P <> length(aUrl) then Query := '&' + Query; + end; + + Get(aUrl + Query, + aResponseContent, + aResponseHeader, + ARequestHeaderValues); + +end; + +{*************************************************} +procedure TALHTTPClient.Get(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Execute(aUrl, + HTTPmt_get, + nil, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); +end; + +{***********************************************} +Function TALHTTPClient.Get(const aUrl:AnsiString; + const aRequestFields: TALStrings; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Get(aUrl, + aRequestFields, + LResponseContent, + nil, + ARequestHeaderValues, + aEncodeRequestFields); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{************************************************} +function TALHTTPClient.Get(const aUrl: AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Get(aUrl, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{**************************************************} +procedure TALHTTPClient.Post(const aUrl: AnsiString; + const aPostDataStream: TStream; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +Var LOldContentLengthValue: AnsiString; +begin + LOldContentLengthValue := FrequestHeader.ContentLength; + try + If assigned(aPostDataStream) then FrequestHeader.ContentLength := ALIntToStr(aPostDataStream.Size) + else FrequestHeader.ContentLength := '0'; + Execute(aURL, + HTTPmt_Post, + aPostDataStream, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); + finally + FrequestHeader.ContentLength := LOldContentLengthValue; + end; +end; + +{**************************************************} +procedure TALHTTPClient.Post(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Post(aUrl, + nil, + aResponseContent, + aResponseHeader, + ARequestHeaderValues); +end; + +{*************************************************} +function TALHTTPClient.Post(const aUrl: AnsiString; + const aPostDataStream: TStream; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + post(aUrl, + aPostDataStream, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{*************************************************} +function TALHTTPClient.Post(const aUrl: AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +begin + Result := Post(aUrl, nil, ARequestHeaderValues); +end; + +{************************************************************} +procedure TALHTTPClient.PostUrlEncoded(const aUrl: AnsiString; + const aRequestFields: TALStrings; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True); +Var LURLEncodedContentStream: TALStringStream; + LOldRequestContentType: AnsiString; + Str: AnsiString; + I, P: Integer; +begin + LURLEncodedContentStream := TALStringStream.create(''); + LOldRequestContentType := FrequestHeader.ContentType; + try + + if aEncodeRequestFields then begin + for i := 0 to aRequestFields.Count - 1 do begin + Str := aRequestFields[i]; + P := AlPos(aRequestFields.NameValueSeparator, Str); + if P > 0 then Str := ALHTTPEncode(AlCopyStr(Str, 1, P-1)) + '=' + ALHTTPEncode(AlCopyStr(Str, P+1, MAXINT)) + else Str := ALHTTPEncode(Str); + If i < aRequestFields.Count - 1 then LURLEncodedContentStream.WriteString(Str + '&') + else LURLEncodedContentStream.WriteString(Str); + end; + end + else begin + for i := 0 to aRequestFields.Count - 1 do begin + If i < aRequestFields.Count - 1 then LURLEncodedContentStream.WriteString(aRequestFields[i] + '&') + else LURLEncodedContentStream.WriteString(aRequestFields[i]); + end; + end; + + FrequestHeader.ContentType := 'application/x-www-form-urlencoded'; + post(aUrl, + LURLEncodedContentStream, + aResponseContent, + aResponseHeader, + ARequestHeaderValues); + + finally + AlFreeAndNil(LURLEncodedContentStream); + FrequestHeader.ContentType := LOldRequestContentType; + end; +end; + +{***********************************************************} +function TALHTTPClient.PostUrlEncoded(const aUrl: AnsiString; + const aRequestFields: TALStrings; + const ARequestHeaderValues: TALNameValueArray = nil; + Const aEncodeRequestFields: Boolean=True): AnsiString; +Var LURLEncodedContentStream: TALStringStream; + LOldRequestContentType: AnsiString; + Str: AnsiString; + I, P: Integer; +begin + LURLEncodedContentStream := TALStringStream.create(''); + LOldRequestContentType := FrequestHeader.ContentType; + try + + if aEncodeRequestFields then begin + for i := 0 to aRequestFields.Count - 1 do begin + Str := aRequestFields[i]; + P := AlPos(aRequestFields.NameValueSeparator, Str); + if P > 0 then Str := ALHTTPEncode(AlCopyStr(Str, 1, P-1)) + '=' + ALHTTPEncode(AlCopyStr(Str, P+1, MAXINT)) + else Str := ALHTTPEncode(Str); + If i < aRequestFields.Count - 1 then LURLEncodedContentStream.WriteString(Str + '&') + else LURLEncodedContentStream.WriteString(Str); + end; + end + else begin + for i := 0 to aRequestFields.Count - 1 do begin + If i < aRequestFields.Count - 1 then LURLEncodedContentStream.WriteString(aRequestFields[i] + '&') + else LURLEncodedContentStream.WriteString(aRequestFields[i]); + end; + end; + + FrequestHeader.ContentType := 'application/x-www-form-urlencoded'; + Result := post(aUrl, LURLEncodedContentStream, ARequestHeaderValues); + + finally + AlFreeAndNil(LURLEncodedContentStream); + FrequestHeader.ContentType := LOldRequestContentType; + end; +end; + +{*******************************************************************} +procedure TALHTTPClient.PostMultiPartFormData(const aUrl: AnsiString; + const aRequestFields: TALStrings; + const aRequestFiles: TALMultiPartFormDataContents; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +Var LMultipartFormDataEncoder: TALMultipartFormDataEncoder; + LOldRequestContentType: AnsiString; +begin + LMultipartFormDataEncoder := TALMultipartFormDataEncoder.create; + LOldRequestContentType := FrequestHeader.ContentType; + try + LMultipartFormDataEncoder.Encode(aRequestFields, aRequestFiles); + FrequestHeader.ContentType := 'multipart/form-data; boundary='+LMultipartFormDataEncoder.DataStream.Boundary; + post(aUrl, + LMultipartFormDataEncoder.DataStream, + aResponseContent, + aResponseHeader, + ARequestHeaderValues); + finally + AlFreeAndNil(LMultipartFormDataEncoder); + FrequestHeader.ContentType := LOldRequestContentType; + end; +end; + +{******************************************************************} +function TALHTTPClient.PostMultiPartFormData(const aUrl: AnsiString; + const aRequestFields: TALStrings; + const aRequestFiles: TALMultiPartFormDataContents; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +Var LMultipartFormDataEncoder: TALMultipartFormDataEncoder; + LOldRequestContentType: AnsiString; +begin + LMultipartFormDataEncoder := TALMultipartFormDataEncoder.create; + LOldRequestContentType := FrequestHeader.ContentType; + try + LMultipartFormDataEncoder.Encode(aRequestFields, aRequestFiles); + FrequestHeader.ContentType := 'multipart/form-data; boundary='+LMultipartFormDataEncoder.DataStream.Boundary; + Result := post(aUrl, LMultipartFormDataEncoder.DataStream, ARequestHeaderValues); + finally + AlFreeAndNil(LMultipartFormDataEncoder); + FrequestHeader.ContentType := LOldRequestContentType; + end; +end; + +{**************************************************} +procedure TALHTTPClient.Head(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Execute(aURL, + HTTPmt_head, + nil, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); +end; + +{************************************************} +function TALHTTPClient.Head(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil) : AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Head(aUrl, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{***************************************************} +procedure TALHTTPClient.Trace(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Execute(aURL, + HTTPmt_Trace, + nil, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); +end; + +{*************************************************} +function TALHTTPClient.Trace(const aUrl:AnsiString; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Trace(aUrl, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{************************************************} +procedure TALHTTPClient.Put(const aUrl:AnsiString; + const aPutDataStream: TStream; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +Var LOldContentLengthValue: AnsiString; +begin + LOldContentLengthValue := FrequestHeader.ContentLength; + try + If assigned(aPutDataStream) then FrequestHeader.ContentLength := ALIntToStr(aPutDataStream.Size) + else FrequestHeader.ContentLength := '0'; + Execute(aURL, + HTTPmt_Put, + aPutDataStream, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); + finally + FrequestHeader.ContentLength := LOldContentLengthValue; + end; +end; + +{************************************************} +function TALHTTPClient.Put(const aURL: Ansistring; + const aPutDataStream: TStream; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + put(aUrl, + aPutDataStream, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{****************************************************} +procedure TALHTTPClient.Delete(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Execute(aURL, + HTTPmt_Delete, + nil, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); +end; + +{***************************************************} +function TALHTTPClient.Delete(const aURL: Ansistring; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Delete(aUrl, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{****************************************************} +procedure TALHTTPClient.Options(const aUrl: AnsiString; + const aResponseContent: TStream; + const aResponseHeader: TALHTTPResponseHeader; + const ARequestHeaderValues: TALNameValueArray = nil); +begin + Execute(aURL, + HTTPmt_Options, + nil, + ARequestHeaderValues, + aResponseContent, + aResponseHeader); +end; + +{****************************************************} +function TALHTTPClient.Options(const aURL: Ansistring; + const ARequestHeaderValues: TALNameValueArray = nil): AnsiString; +var LResponseContent: TALStringStream; +begin + LResponseContent := TALStringStream.Create(''); + try + Options(aUrl, + LResponseContent, + nil, + ARequestHeaderValues); + result := LResponseContent.DataString; + finally + AlFreeAndNil(LResponseContent); + end; +end; + +{*****************************************************************************************} +procedure TALHTTPClient.OnProxyParamsChange(sender: Tobject; Const PropertyIndex: Integer); +begin + //virtual +end; + +{***************************************} +procedure TALHTTPClientProxyParams.Clear; +begin + FProxyBypass := ''; + FproxyServer := ''; + FProxyUserName := ''; + FProxyPassword := ''; + FproxyPort := 0; + DoChange(-1); +end; + +{******************************************} +constructor TALHTTPClientProxyParams.Create; +Begin + inherited create; + FProxyBypass := ''; + FproxyServer := ''; + FProxyUserName := ''; + FProxyPassword := ''; + FproxyPort := 0; + FOnchange := nil; +end; + +{******************************************************************} +procedure TALHTTPClientProxyParams.DoChange(propertyIndex: Integer); +begin + if assigned(FonChange) then FonChange(Self,propertyIndex); +end; + +{*************************************************************************} +procedure TALHTTPClientProxyParams.SetProxyBypass(const Value: AnsiString); +begin + If (Value <> FProxyBypass) then begin + FProxyBypass := Value; + DoChange(0); + end; +end; + +{***************************************************************************} +procedure TALHTTPClientProxyParams.SetProxyPassword(const Value: AnsiString); +begin + If (Value <> FProxyPassword) then begin + FProxyPassword := Value; + DoChange(4); + end; +end; + +{********************************************************************} +procedure TALHTTPClientProxyParams.SetProxyPort(const Value: integer); +begin + If (Value <> FProxyPort) then begin + FProxyPort := Value; + DoChange(2); + end; +end; + +{*************************************************************************} +procedure TALHTTPClientProxyParams.SetProxyServer(const Value: AnsiString); +begin + If (Value <> FProxyServer) then begin + FProxyServer := Value; + DoChange(1); + end; +end; + +{***************************************************************************} +procedure TALHTTPClientProxyParams.SetProxyUserName(const Value: AnsiString); +begin + If (Value <> FProxyUserName) then begin + FProxyUserName := Value; + DoChange(3); + end; +end; + +end. + diff --git a/Tests/VirtualBox_kalilinux64_07_09_2022_23_23_33.png b/Tests/VirtualBox_kalilinux64_07_09_2022_23_23_33.png new file mode 100644 index 00000000..c604c76e Binary files /dev/null and b/Tests/VirtualBox_kalilinux64_07_09_2022_23_23_33.png differ diff --git a/Tests/VirtualBox_kalilinux64_08_09_2022_09_21_51.png b/Tests/VirtualBox_kalilinux64_08_09_2022_09_21_51.png new file mode 100644 index 00000000..29fe4941 Binary files /dev/null and b/Tests/VirtualBox_kalilinux64_08_09_2022_09_21_51.png differ diff --git a/Tests/VirtualBox_kalilinux64_08_09_2022_09_25_48.png b/Tests/VirtualBox_kalilinux64_08_09_2022_09_25_48.png new file mode 100644 index 00000000..c2418209 Binary files /dev/null and b/Tests/VirtualBox_kalilinux64_08_09_2022_09_25_48.png differ diff --git a/Tests/VirtualBox_kalilinux64_08_09_2022_09_30_15.png b/Tests/VirtualBox_kalilinux64_08_09_2022_09_30_15.png new file mode 100644 index 00000000..bc63065d Binary files /dev/null and b/Tests/VirtualBox_kalilinux64_08_09_2022_09_30_15.png differ diff --git a/Tests/automate_testing_mX4.png b/Tests/automate_testing_mX4.png new file mode 100644 index 00000000..8675431e Binary files /dev/null and b/Tests/automate_testing_mX4.png differ diff --git a/Tests/batchfileh_mX4tests_auto.bat b/Tests/batchfileh_mX4tests_auto.bat new file mode 100644 index 00000000..175fda25 --- /dev/null +++ b/Tests/batchfileh_mX4tests_auto.bat @@ -0,0 +1,49 @@ + +maxbox4.exe -c 645_age_guess_REX.pas +maxbox4.exe -c 651_StrUtilmaxbase.pas +maxbox4.exe -c 652_graph3DMainUnit2.pas +maxbox4.exe -c 652_graph3DMainUnit2_auto.pas +maxbox4.exe -c 653_PdoxTstbox.pas +maxbox4.exe -c 655_StIniStm.pas +maxbox4.exe -c 656_XML_RpcCommon.pas +maxbox4.exe -c 661_REXX.pas +maxbox4.exe -c 662_VisualChronForm.pas +maxbox4.exe -c 663_Tokens.pas +maxbox4.exe -c 667_URobo1.pas +maxbox4.exe -c 667_URobo2.pas +maxbox4.exe -c 667_URobo2EKON_FUN_Tracking2.pas +maxbox4.exe -c 679_messagefMain.pas +maxbox4.exe -c 690_calc_pi_ex.pas +maxbox4.exe -c 692_fservermain33.pas +maxbox4.exe -c 692_imageserv_fClient33.pas +maxbox4.exe -c 693_OverbyteIcsDnsQuerytester.pas +maxbox4.exe -c 695_IdAntiFreeze_tester.pas +maxbox4.exe -c 696_kmemo_demo.pas +maxbox4.exe -c 696_kmemo_demo_Main.pas +maxbox4.exe -c 696_kmemo_demo_Main_test.pas +maxbox4.exe -c 697_OverbyteIcsTicks64.pas +maxbox4.exe -c 698_new_classes_tester.pas +maxbox4.exe -c 700_new_function_snippets.pas +maxbox4.exe -c 700_new_function_snippets3.pas +maxbox4.exe -c 712_towerofhanoi_animation.pas +maxbox4.exe -c 714_astroids_GAME.PAS +maxbox4.exe -c 720_HTML_TableExport_CSS.pas +maxbox4.exe -c 729_U_BigIntTest_mX4.pas +maxbox4.exe -c 731_DWS_Client4_EKON20.pas +maxbox4.exe -c 731_DWS_Server4_EKON20.pas +maxbox4.exe -c 738_mX4_exact_fishertest3.pas +maxbox4.exe -c 750_SimpleTCPMain.pas +maxbox4.exe -c 751_Elevator_Simulator.pas +maxbox4.exe -c 751_Elevator_Simulator4.pas +maxbox4.exe -c 752_U_ConvertTest2Astronomy.pas +maxbox4.exe -c 752_U_ConvertTest2Astronomy_Bern.pas +maxbox4.exe -c 807_FANN_XorSample.pas +maxbox4.exe -c 808_FANN_XorSample_traindata.pas +maxbox4.exe -c 814_FANN_XorSample2.pas +maxbox4.exe -c 880_cgiMain_server3.pas +maxbox4.exe -c 881_odometer_uMain2.pas +maxbox4.exe -c 915_OpenOffice_API.pas +maxbox4.exe -c 919_uLockBox_HugeCardinalTestCases.pas +maxbox4.exe -c 966_U_PointInSpace52_mX4Form2.pas +maxbox4.exe -c 970_U_ScrambledPiemX4Forms2.pas +PAUSE diff --git a/Tests/batchfiletexh_mX4tests_auto.bat b/Tests/batchfiletexh_mX4tests_auto.bat new file mode 100644 index 00000000..9c9ee658 --- /dev/null +++ b/Tests/batchfiletexh_mX4tests_auto.bat @@ -0,0 +1,110 @@ + +maxbox4.exe -c examples/003_pas_motion.txt +maxbox4.exe -c examples/044_queens_performer3.txt +maxbox4.exe -c examples/054_pas_speakpassword3.txt +maxbox4.exe -c examples/080_pas_hanoi2_tester_fast_unified.txt +maxbox4.exe -c examples/1011_geometry.txt +maxbox4.exe -c examples/1011_spheretest.txt +maxbox4.exe -c examples/1016_sentiment_api2_bbc_newsfeed2.txt +maxbox4.exe -c examples/1050_pydemo2.txt +maxbox4.exe -c examples/1050_pydemo21_47590.txt +maxbox4.exe -c examples/1065__CAI_2_SimpleImageClassifier2.txt +maxbox4.exe -c examples/114_telnet2_tcp.txt +maxbox4.exe -c examples/116_ping2.txt +maxbox4.exe -c examples/165_best_of_runtime3.txt +maxbox4.exe -c examples/165_best_of_runtime4.txt +maxbox4.exe -c examples/170_4gewinnt_main2.txt +maxbox4.exe -c examples/182_maXbook_v6.txt +maxbox4.exe -c examples/185_memorymax4_internet.txt +maxbox4.exe -c examples/210_public_private_cryptosystem4_ibz.txt +maxbox4.exe -c examples/250_tipsandtricks5.txt +REM maxbox4.exe -c examples/262_mxoutputdemo5.txt +maxbox4.exe -c examples/275_turtle_languagehouse2_time2.txt +maxbox4.exe -c examples/281_picturepuzzle4richter.txt +maxbox4.exe -c examples/297_atomimage2.txt +maxbox4.exe -c examples/298_bitblt_animation3.txt +maxbox4.exe -c examples/330_myclock.txt +maxbox4.exe -c examples/330_myclock_vlistbox.txt +maxbox4.exe -c examples/336_digiclock3.txt +maxbox4.exe -c examples/370_synedit2_mxtester4.txt +maxbox4.exe -c examples/377_smartXMLWorkshop3.txt +maxbox4.exe -c examples/377_smartXMLWorkshop3_42test.txt +maxbox4.exe -c examples/388_TCPServerSock4.TXT +maxbox4.exe -c examples/388_TCPServerSockClient2.TXT +maxbox4.exe -c examples/393_QRCode4.TXT +maxbox4.exe -c examples/410_titanic_keras_predictor.txt +maxbox4.exe -c examples/412_Zeosutils_sha.txt +maxbox4.exe -c examples/419_archimedes_spiral2.txt +maxbox4.exe -c examples/452_dbtrv3accessUML3.txt +maxbox4.exe -c examples/452_dbtrv3accessUML3test.txt +maxbox4.exe -c examples/469_ibzresult3_timeserver7.txt +maxbox4.exe -c examples/481_ProcessList2_plus.txt +maxbox4.exe -c examples/488_AsyncTerminal2.txt +maxbox4.exe -c examples/492_snowflake2.txt +maxbox4.exe -c examples/558_hirestimer2test2.txt +REM maxbox4.exe -c examples/565_ConsoleCapture23mX42298.TXT +maxbox4.exe -c examples/575_tartaruga_desktop.txt +maxbox4.exe -c examples/580_indystacksearch_geo2_winapi_tut37.txt +maxbox4.exe -c examples/592_getTypeLibList.txt +maxbox4.exe -c examples/598_software_list3.txt +maxbox4.exe -c examples/602_moonbug.txt +maxbox4.exe -c examples/602_moonbug2.txt +maxbox4.exe -c examples/603_cupids_arrow.TXT +maxbox4.exe -c examples/604_GEOCodeReverse5.TXT +maxbox4.exe -c examples/611_Arduino_COMOutputs.txt +maxbox4.exe -c examples/615_regex_metrics_java2pascal.txt +maxbox4.exe -c examples/615_regex_metrics_java_textmX4.txt +REM maxbox4.exe -c examples/630_multikernel4.TXT +maxbox4.exe -c examples/635_bitcount_bytecodestudy2.txt +maxbox4.exe -c examples/640_API_LayerDetection_EKON23.TXT +maxbox4.exe -c examples/640_weather_cockpit6.TXT +maxbox4.exe -c examples/640_weather_cockpit6_1.TXT +maxbox4.exe -c examples/640_weather_cockpit6_1_tester.TXT +maxbox4.exe -c examples/650_drawdice2016_3tester.txt +maxbox4.exe -c examples/650_drawdice2016_3testerV4.txt +maxbox4.exe -c examples/650_http_server2tester.txt +maxbox4.exe -c examples/654_spectrum_dice2016_3.txt +maxbox4.exe -c examples/655_arduino_chess.txt +maxbox4.exe -c examples/660_InetUtils_REST.TXT +maxbox4.exe -c examples/669_uptime.txt +maxbox4.exe -c examples/670_interestingX.txt +maxbox4.exe -c examples/670_interesting_birthday_paradox.txt +maxbox4.exe -c examples/671_replacedigit.txt +maxbox4.exe -c examples/672_regex_ask_task.txt +maxbox4.exe -c examples/673_pipe_singapure.txt +maxbox4.exe -c examples/674_pipe_graphics.txt +maxbox4.exe -c examples/675_bitcoin_doublehash.txt +maxbox4.exe -c examples/677_pingtest4.txt +maxbox4.exe -c examples/680_gravity_waves.txt +maxbox4.exe -c examples/683_mx422_functions_demo.txt +maxbox4.exe -c examples/683_mx422_functions_demo_addto4X.txt +REM maxbox4.exe -c examples/685_leanfitmath.txt +maxbox4.exe -c examples/686_namedpipe_demo2.txt +maxbox4.exe -c examples/689_proctype_alias.txt +maxbox4.exe -c examples/701_all_fibonacci.txt +maxbox4.exe -c examples/702_ibz_operatoren_testdrive42Xconst.TXT +maxbox4.exe -c examples/702_X509_Cert_OpenSSL.txt +maxbox4.exe -c examples/705_parser_demo_case_60_webbox.txt +maxbox4.exe -c examples/711_geo_satellite_mapbox.txt +maxbox4.exe -c examples/725_CRC32_live_60.txt +maxbox4.exe -c examples/725_X509_SHA1_TestCert4txt.txt +REM maxbox4.exe -c examples/740_msgpump2.txt +maxbox4.exe -c examples/745_crypto_memory_RFC1123_newmX.txt +maxbox4.exe -c examples/749_helloWebServer3_tempsensor4.txt +maxbox4.exe -c examples/750_RSA_Toolproof4.txt +maxbox4.exe -c examples/752_BitmapHistogram.txt +maxbox4.exe -c examples/752_BitmapHistogram2.txt +maxbox4.exe -c examples/766_wmi_GetAntiVirusProduct2.txt +maxbox4.exe -c examples/778_advapi32_dll_SHA256.txt +maxbox4.exe -c examples/780_ppk_xmltransform_provider2.txt +maxbox4.exe -c examples/781_ProxyUtils2performance.txt +maxbox4.exe -c examples/782_XML_DOM_ADO_API_REST_demo2.txt +maxbox4.exe -c examples/789_totient_primes_tester_463functions.txt +maxbox4.exe -c examples/875_filehistounit2app_forensic2.txt +maxbox4.exe -c examples/942_gaussen_data_science3.txt +maxbox4.exe -c examples/950_saint_source23.txt +maxbox4.exe -c examples/weatherapp47.txt +maxbox4.exe -c examples/weatherapp471.txt +maxbox4.exe -c examples/weatherapp474.txt +maxbox4.exe -c examples/weatherapp475.txt +PAUSE \ No newline at end of file diff --git a/Tests/batchfiletexh_mX4tests_auto_results.txt b/Tests/batchfiletexh_mX4tests_auto_results.txt new file mode 100644 index 00000000..20637e90 --- /dev/null +++ b/Tests/batchfiletexh_mX4tests_auto_results.txt @@ -0,0 +1,8501 @@ +REM TESTBOX4 +maxbox4.exe -c examples/003_pas_motion.txt +maxbox4.exe -c examples/044_queens_performer3.txt +maxbox4.exe -c examples/054_pas_speakpassword3.txt +maxbox4.exe -c examples/080_pas_hanoi2_tester_fast_unified.txt +maxbox4.exe -c examples/1011_geometry.txt +maxbox4.exe -c examples/1011_spheretest.txt +maxbox4.exe -c examples/1016_sentiment_api2_bbc_newsfeed2.txt +maxbox4.exe -c examples/1050_pydemo2.txt +maxbox4.exe -c examples/1050_pydemo21_47590.txt +maxbox4.exe -c examples/1065__CAI_2_SimpleImageClassifier2.txt +maxbox4.exe -c examples/114_telnet2_tcp.txt +maxbox4.exe -c examples/116_ping2.txt +maxbox4.exe -c examples/165_best_of_runtime3.txt +maxbox4.exe -c examples/165_best_of_runtime4.txt +maxbox4.exe -c examples/170_4gewinnt_main2.txt +maxbox4.exe -c examples/182_maXbook_v6.txt +maxbox4.exe -c examples/185_memorymax4_internet.txt +maxbox4.exe -c examples/210_public_private_cryptosystem4_ibz.txt +maxbox4.exe -c examples/250_tipsandtricks5.txt +REM maxbox4.exe -c examples/262_mxoutputdemo5.txt +maxbox4.exe -c examples/275_turtle_languagehouse2_time2.txt +maxbox4.exe -c examples/281_picturepuzzle4richter.txt +maxbox4.exe -c examples/297_atomimage2.txt +maxbox4.exe -c examples/298_bitblt_animation3.txt +maxbox4.exe -c examples/330_myclock.txt +maxbox4.exe -c examples/330_myclock_vlistbox.txt +maxbox4.exe -c examples/336_digiclock3.txt +maxbox4.exe -c examples/370_synedit2_mxtester4.txt +maxbox4.exe -c examples/377_smartXMLWorkshop3.txt +maxbox4.exe -c examples/377_smartXMLWorkshop3_42test.txt +maxbox4.exe -c examples/388_TCPServerSock4.TXT +maxbox4.exe -c examples/388_TCPServerSockClient2.TXT +maxbox4.exe -c examples/393_QRCode4.TXT +maxbox4.exe -c examples/410_titanic_keras_predictor.txt +maxbox4.exe -c examples/412_Zeosutils_sha.txt +maxbox4.exe -c examples/419_archimedes_spiral2.txt +maxbox4.exe -c examples/452_dbtrv3accessUML3.txt +maxbox4.exe -c examples/452_dbtrv3accessUML3test.txt +maxbox4.exe -c examples/469_ibzresult3_timeserver7.txt +maxbox4.exe -c examples/481_ProcessList2_plus.txt +maxbox4.exe -c examples/488_AsyncTerminal2.txt +maxbox4.exe -c examples/492_snowflake2.txt +maxbox4.exe -c examples/558_hirestimer2test2.txt +REM maxbox4.exe -c examples/565_ConsoleCapture23mX42298.TXT +maxbox4.exe -c examples/575_tartaruga_desktop.txt +maxbox4.exe -c examples/580_indystacksearch_geo2_winapi_tut37.txt +maxbox4.exe -c examples/592_getTypeLibList.txt +maxbox4.exe -c examples/598_software_list3.txt +maxbox4.exe -c examples/602_moonbug.txt +maxbox4.exe -c examples/602_moonbug2.txt +maxbox4.exe -c examples/603_cupids_arrow.TXT +maxbox4.exe -c examples/604_GEOCodeReverse5.TXT +maxbox4.exe -c examples/611_Arduino_COMOutputs.txt +maxbox4.exe -c examples/615_regex_metrics_java2pascal.txt +maxbox4.exe -c examples/615_regex_metrics_java_textmX4.txt +REM maxbox4.exe -c examples/630_multikernel4.TXT +maxbox4.exe -c examples/635_bitcount_bytecodestudy2.txt +maxbox4.exe -c examples/640_API_LayerDetection_EKON23.TXT +maxbox4.exe -c examples/640_weather_cockpit6.TXT +maxbox4.exe -c examples/640_weather_cockpit6_1.TXT +maxbox4.exe -c examples/640_weather_cockpit6_1_tester.TXT +maxbox4.exe -c examples/650_drawdice2016_3tester.txt +maxbox4.exe -c examples/650_drawdice2016_3testerV4.txt +maxbox4.exe -c examples/650_http_server2tester.txt +maxbox4.exe -c examples/654_spectrum_dice2016_3.txt +maxbox4.exe -c examples/655_arduino_chess.txt +maxbox4.exe -c examples/660_InetUtils_REST.TXT +maxbox4.exe -c examples/669_uptime.txt +maxbox4.exe -c examples/670_interestingX.txt +maxbox4.exe -c examples/670_interesting_birthday_paradox.txt +maxbox4.exe -c examples/671_replacedigit.txt +maxbox4.exe -c examples/672_regex_ask_task.txt +maxbox4.exe -c examples/673_pipe_singapure.txt +maxbox4.exe -c examples/674_pipe_graphics.txt +maxbox4.exe -c examples/675_bitcoin_doublehash.txt +maxbox4.exe -c examples/677_pingtest4.txt +maxbox4.exe -c examples/680_gravity_waves.txt +maxbox4.exe -c examples/683_mx422_functions_demo.txt +maxbox4.exe -c examples/683_mx422_functions_demo_addto4X.txt +REM maxbox4.exe -c examples/685_leanfitmath.txt +maxbox4.exe -c examples/686_namedpipe_demo2.txt +maxbox4.exe -c examples/689_proctype_alias.txt +maxbox4.exe -c examples/701_all_fibonacci.txt +maxbox4.exe -c examples/702_ibz_operatoren_testdrive42Xconst.TXT +maxbox4.exe -c examples/702_X509_Cert_OpenSSL.txt +maxbox4.exe -c examples/705_parser_demo_case_60_webbox.txt +maxbox4.exe -c examples/711_geo_satellite_mapbox.txt +maxbox4.exe -c examples/725_CRC32_live_60.txt +maxbox4.exe -c examples/725_X509_SHA1_TestCert4txt.txt +REM maxbox4.exe -c examples/740_msgpump2.txt +maxbox4.exe -c examples/745_crypto_memory_RFC1123_newmX.txt +maxbox4.exe -c examples/749_helloWebServer3_tempsensor4.txt +maxbox4.exe -c examples/750_RSA_Toolproof4.txt +maxbox4.exe -c examples/752_BitmapHistogram.txt +maxbox4.exe -c examples/752_BitmapHistogram2.txt +maxbox4.exe -c examples/766_wmi_GetAntiVirusProduct2.txt +maxbox4.exe -c examples/778_advapi32_dll_SHA256.txt +maxbox4.exe -c examples/780_ppk_xmltransform_provider2.txt +maxbox4.exe -c examples/781_ProxyUtils2performance.txt +maxbox4.exe -c examples/782_XML_DOM_ADO_API_REST_demo2.txt +maxbox4.exe -c examples/789_totient_primes_tester_463functions.txt +maxbox4.exe -c examples/875_filehistounit2app_forensic2.txt +maxbox4.exe -c examples/942_gaussen_data_science3.txt +maxbox4.exe -c examples/950_saint_source23.txt +maxbox4.exe -c examples/weatherapp47.txt +maxbox4.exe -c examples/weatherapp471.txt +maxbox4.exe -c examples/weatherapp474.txt +maxbox4.exe -c examples/weatherapp475.txt +PAUSE + + +debug: 22260 of tick: 73135395 +debug: 22261 of tick: 73135395 +debug: 22262 of tick: 73135395 +debug: 22263 of tick: 73135395 +debug: 22264 of tick: 73135395 +debug: 22265 of tick: 73135396 +debug: 22266 of tick: 73135396 +debug: 22267 of tick: 73135396 +debug: 22268 of tick: 73135396 +debug: 22269 of tick: 73135396 +debug: 22270 of tick: 73135397 +debug: 22271 of tick: 73135397 +debug: 22272 of tick: 73135397 +debug: 22273 of tick: 73135397 +debug: 22274 of tick: 73135397 +debug: 22275 of tick: 73135398 +debug: 22276 of tick: 73135398 +debug: 22277 of tick: 73135398 +debug: 22278 of tick: 73135398 +debug: 22279 of tick: 73135398 +debug: 22280 of tick: 73135399 +debug: 22281 of tick: 73135399 +debug: 22282 of tick: 73135399 +debug: 22283 of tick: 73135399 +debug: 22284 of tick: 73135399 +debug: 22285 of tick: 73135399 +debug: 22286 of tick: 73135400 +debug: 22287 of tick: 73135400 +debug: 22288 of tick: 73135400 +debug: 22289 of tick: 73135400 +debug: 22290 of tick: 73135400 +debug: 22291 of tick: 73135401 +debug: 22292 of tick: 73135401 +debug: 22293 of tick: 73135401 +debug: 22294 of tick: 73135401 +debug: 22295 of tick: 73135401 +debug: 22296 of tick: 73135401 +debug: 22297 of tick: 73135402 +debug: 22298 of tick: 73135402 +debug: 22299 of tick: 73135402 +debug: 22300 of tick: 73135402 +debug: 22301 of tick: 73135402 +debug: 22302 of tick: 73135403 +debug: 22303 of tick: 73135403 +debug: 22304 of tick: 73135403 +debug: 22305 of tick: 73135403 +debug: 22306 of tick: 73135404 +debug: 22307 of tick: 73135404 +debug: 22308 of tick: 73135404 +debug: 22309 of tick: 73135405 +debug: 22310 of tick: 73135405 +debug: 22311 of tick: 73135405 +debug: 22312 of tick: 73135405 +debug: 22313 of tick: 73135405 +debug: 22314 of tick: 73135406 +debug: 22315 of tick: 73135406 +debug: 22316 of tick: 73135406 +debug: 22317 of tick: 73135406 +debug: 22318 of tick: 73135406 +debug: 22319 of tick: 73135406 +debug: 22320 of tick: 73135407 +debug: 22321 of tick: 73135407 +debug: 22322 of tick: 73135407 +debug: 22323 of tick: 73135407 +debug: 22324 of tick: 73135407 +debug: 22325 of tick: 73135408 +debug: 22326 of tick: 73135408 +debug: 22327 of tick: 73135408 +debug: 22328 of tick: 73135408 +debug: 22329 of tick: 73135408 +debug: 22330 of tick: 73135408 +debug: 22331 of tick: 73135409 +debug: 22332 of tick: 73135409 +debug: 22333 of tick: 73135409 +debug: 22334 of tick: 73135409 +debug: 22335 of tick: 73135409 +debug: 22336 of tick: 73135410 +debug: 22337 of tick: 73135410 +debug: 22338 of tick: 73135410 +debug: 22339 of tick: 73135410 +debug: 22340 of tick: 73135410 +debug: 22341 of tick: 73135411 +debug: 22342 of tick: 73135411 +debug: 22343 of tick: 73135411 +debug: 22344 of tick: 73135411 +debug: 22345 of tick: 73135411 +debug: 22346 of tick: 73135411 +debug: 22347 of tick: 73135412 +debug: 22348 of tick: 73135412 +debug: 22349 of tick: 73135412 +debug: 22350 of tick: 73135412 +debug: 22351 of tick: 73135412 +debug: 22352 of tick: 73135413 +debug: 22353 of tick: 73135413 +debug: 22354 of tick: 73135413 +debug: 22355 of tick: 73135413 +debug: 22356 of tick: 73135413 +debug: 22357 of tick: 73135413 +debug: 22358 of tick: 73135414 +debug: 22359 of tick: 73135414 +debug: 22360 of tick: 73135414 +debug: 22361 of tick: 73135414 +debug: 22362 of tick: 73135414 +debug: 22363 of tick: 73135415 +debug: 22364 of tick: 73135415 +debug: 22365 of tick: 73135415 +debug: 22366 of tick: 73135415 +debug: 22367 of tick: 73135416 +debug: 22368 of tick: 73135416 +debug: 22369 of tick: 73135416 +debug: 22370 of tick: 73135416 +debug: 22371 of tick: 73135417 +debug: 22372 of tick: 73135417 +debug: 22373 of tick: 73135417 +debug: 22374 of tick: 73135417 +debug: 22375 of tick: 73135417 +debug: 22376 of tick: 73135418 +debug: 22377 of tick: 73135418 +debug: 22378 of tick: 73135418 +debug: 22379 of tick: 73135418 +debug: 22380 of tick: 73135419 +debug: 22381 of tick: 73135419 +debug: 22382 of tick: 73135419 +debug: 22383 of tick: 73135419 +debug: 22384 of tick: 73135420 +debug: 22385 of tick: 73135420 +debug: 22386 of tick: 73135420 +debug: 22387 of tick: 73135420 +debug: 22388 of tick: 73135421 +debug: 22389 of tick: 73135421 +debug: 22390 of tick: 73135421 +debug: 22391 of tick: 73135421 +debug: 22392 of tick: 73135421 +debug: 22393 of tick: 73135422 +debug: 22394 of tick: 73135422 +debug: 22395 of tick: 73135422 +debug: 22396 of tick: 73135422 +debug: 22397 of tick: 73135422 +debug: 22398 of tick: 73135423 +debug: 22399 of tick: 73135423 +debug: 22400 of tick: 73135423 +debug: 22401 of tick: 73135423 +debug: 22402 of tick: 73135423 +debug: 22403 of tick: 73135423 +debug: 22404 of tick: 73135424 +debug: 22405 of tick: 73135424 +debug: 22406 of tick: 73135424 +debug: 22407 of tick: 73135424 +debug: 22408 of tick: 73135424 +debug: 22409 of tick: 73135425 +debug: 22410 of tick: 73135425 +debug: 22411 of tick: 73135425 +debug: 22412 of tick: 73135426 +debug: 22413 of tick: 73135426 +debug: 22414 of tick: 73135426 +debug: 22415 of tick: 73135426 +debug: 22416 of tick: 73135427 +debug: 22417 of tick: 73135427 +debug: 22418 of tick: 73135427 +debug: 22419 of tick: 73135427 +debug: 22420 of tick: 73135428 +debug: 22421 of tick: 73135428 +debug: 22422 of tick: 73135428 +debug: 22423 of tick: 73135428 +debug: 22424 of tick: 73135429 +debug: 22425 of tick: 73135429 +debug: 22426 of tick: 73135429 +debug: 22427 of tick: 73135430 +debug: 22428 of tick: 73135430 +debug: 22429 of tick: 73135430 +debug: 22430 of tick: 73135430 +debug: 22431 of tick: 73135431 +debug: 22432 of tick: 73135431 +debug: 22433 of tick: 73135431 +debug: 22434 of tick: 73135431 +debug: 22435 of tick: 73135431 +debug: 22436 of tick: 73135432 +debug: 22437 of tick: 73135432 +debug: 22438 of tick: 73135432 +debug: 22439 of tick: 73135432 +debug: 22440 of tick: 73135432 +debug: 22441 of tick: 73135432 +debug: 22442 of tick: 73135433 +debug: 22443 of tick: 73135433 +debug: 22444 of tick: 73135433 +debug: 22445 of tick: 73135433 +debug: 22446 of tick: 73135433 +debug: 22447 of tick: 73135433 +debug: 22448 of tick: 73135434 +debug: 22449 of tick: 73135434 +debug: 22450 of tick: 73135434 +debug: 22451 of tick: 73135434 +debug: 22452 of tick: 73135434 +debug: 22453 of tick: 73135435 +debug: 22454 of tick: 73135435 +debug: 22455 of tick: 73135435 +debug: 22456 of tick: 73135435 +debug: 22457 of tick: 73135435 +debug: 22458 of tick: 73135436 +debug: 22459 of tick: 73135436 +debug: 22460 of tick: 73135436 +debug: 22461 of tick: 73135436 +debug: 22462 of tick: 73135436 +debug: 22463 of tick: 73135437 +debug: 22464 of tick: 73135437 +debug: 22465 of tick: 73135437 +debug: 22466 of tick: 73135437 +debug: 22467 of tick: 73135437 +debug: 22468 of tick: 73135438 +debug: 22469 of tick: 73135438 +debug: 22470 of tick: 73135438 +debug: 22471 of tick: 73135438 +debug: 22472 of tick: 73135438 +debug: 22473 of tick: 73135439 +debug: 22474 of tick: 73135439 +debug: 22475 of tick: 73135439 +debug: 22476 of tick: 73135439 +debug: 22477 of tick: 73135439 +debug: 22478 of tick: 73135440 +debug: 22479 of tick: 73135440 +debug: 22480 of tick: 73135440 +debug: 22481 of tick: 73135440 +debug: 22482 of tick: 73135440 +debug: 22483 of tick: 73135440 +debug: 22484 of tick: 73135441 +debug: 22485 of tick: 73135441 +debug: 22486 of tick: 73135441 +debug: 22487 of tick: 73135442 +debug: 22488 of tick: 73135442 +debug: 22489 of tick: 73135442 +debug: 22490 of tick: 73135443 +debug: 22491 of tick: 73135443 +debug: 22492 of tick: 73135443 +debug: 22493 of tick: 73135443 +debug: 22494 of tick: 73135443 +debug: 22495 of tick: 73135443 +debug: 22496 of tick: 73135444 +debug: 22497 of tick: 73135444 +debug: 22498 of tick: 73135444 +debug: 22499 of tick: 73135444 +debug: 22500 of tick: 73135444 +debug: 22501 of tick: 73135444 +debug: 22502 of tick: 73135445 +debug: 22503 of tick: 73135445 +debug: 22504 of tick: 73135445 +debug: 22505 of tick: 73135445 +debug: 22506 of tick: 73135445 +debug: 22507 of tick: 73135446 +debug: 22508 of tick: 73135446 +debug: 22509 of tick: 73135446 +debug: 22510 of tick: 73135446 +debug: 22511 of tick: 73135446 +debug: 22512 of tick: 73135447 +debug: 22513 of tick: 73135447 +debug: 22514 of tick: 73135447 +debug: 22515 of tick: 73135447 +debug: 22516 of tick: 73135447 +debug: 22517 of tick: 73135448 +debug: 22518 of tick: 73135448 +debug: 22519 of tick: 73135448 +debug: 22520 of tick: 73135448 +debug: 22521 of tick: 73135448 +debug: 22522 of tick: 73135449 +debug: 22523 of tick: 73135449 +debug: 22524 of tick: 73135449 +debug: 22525 of tick: 73135449 +debug: 22526 of tick: 73135449 +debug: 22527 of tick: 73135449 +debug: 22528 of tick: 73135450 +debug: 22529 of tick: 73135450 +debug: 22530 of tick: 73135450 +debug: 22531 of tick: 73135450 +debug: 22532 of tick: 73135451 +debug: 22533 of tick: 73135451 +debug: 22534 of tick: 73135451 +debug: 22535 of tick: 73135451 +debug: 22536 of tick: 73135451 +debug: 22537 of tick: 73135452 +debug: 22538 of tick: 73135452 +debug: 22539 of tick: 73135452 +debug: 22540 of tick: 73135452 +debug: 22541 of tick: 73135452 +debug: 22542 of tick: 73135452 +debug: 22543 of tick: 73135453 +debug: 22544 of tick: 73135453 +debug: 22545 of tick: 73135453 +debug: 22546 of tick: 73135453 +debug: 22547 of tick: 73135454 +debug: 22548 of tick: 73135454 +debug: 22549 of tick: 73135454 +debug: 22550 of tick: 73135455 +debug: 22551 of tick: 73135455 +debug: 22552 of tick: 73135455 +debug: 22553 of tick: 73135455 +debug: 22554 of tick: 73135455 +debug: 22555 of tick: 73135456 +debug: 22556 of tick: 73135456 +debug: 22557 of tick: 73135456 +debug: 22558 of tick: 73135456 +debug: 22559 of tick: 73135456 +debug: 22560 of tick: 73135456 +debug: 22561 of tick: 73135457 +debug: 22562 of tick: 73135457 +debug: 22563 of tick: 73135457 +debug: 22564 of tick: 73135457 +debug: 22565 of tick: 73135457 +debug: 22566 of tick: 73135458 +debug: 22567 of tick: 73135458 +debug: 22568 of tick: 73135458 +debug: 22569 of tick: 73135458 +debug: 22570 of tick: 73135458 +debug: 22571 of tick: 73135459 +debug: 22572 of tick: 73135459 +debug: 22573 of tick: 73135459 +debug: 22574 of tick: 73135459 +debug: 22575 of tick: 73135459 +debug: 22576 of tick: 73135460 +debug: 22577 of tick: 73135460 +debug: 22578 of tick: 73135460 +debug: 22579 of tick: 73135460 +debug: 22580 of tick: 73135460 +debug: 22581 of tick: 73135460 +debug: 22582 of tick: 73135461 +debug: 22583 of tick: 73135461 +debug: 22584 of tick: 73135461 +debug: 22585 of tick: 73135461 +debug: 22586 of tick: 73135461 +debug: 22587 of tick: 73135462 +debug: 22588 of tick: 73135462 +debug: 22589 of tick: 73135462 +debug: 22590 of tick: 73135462 +debug: 22591 of tick: 73135462 +debug: 22592 of tick: 73135463 +debug: 22593 of tick: 73135463 +debug: 22594 of tick: 73135463 +debug: 22595 of tick: 73135463 +debug: 22596 of tick: 73135463 +debug: 22597 of tick: 73135463 +debug: 22598 of tick: 73135464 +debug: 22599 of tick: 73135464 +debug: 22600 of tick: 73135464 +debug: 22601 of tick: 73135464 +debug: 22602 of tick: 73135464 +debug: 22603 of tick: 73135465 +debug: 22604 of tick: 73135465 +debug: 22605 of tick: 73135465 +debug: 22606 of tick: 73135465 +debug: 22607 of tick: 73135466 +debug: 22608 of tick: 73135466 +debug: 22609 of tick: 73135466 +debug: 22610 of tick: 73135466 +debug: 22611 of tick: 73135467 +debug: 22612 of tick: 73135467 +debug: 22613 of tick: 73135467 +debug: 22614 of tick: 73135467 +debug: 22615 of tick: 73135467 +debug: 22616 of tick: 73135468 +debug: 22617 of tick: 73135468 +debug: 22618 of tick: 73135468 +debug: 22619 of tick: 73135468 +debug: 22620 of tick: 73135468 +debug: 22621 of tick: 73135468 +debug: 22622 of tick: 73135469 +debug: 22623 of tick: 73135469 +debug: 22624 of tick: 73135469 +debug: 22625 of tick: 73135469 +debug: 22626 of tick: 73135469 +debug: 22627 of tick: 73135470 +debug: 22628 of tick: 73135470 +debug: 22629 of tick: 73135471 +debug: 22630 of tick: 73135471 +debug: 22631 of tick: 73135471 +debug: 22632 of tick: 73135471 +debug: 22633 of tick: 73135471 +debug: 22634 of tick: 73135472 +debug: 22635 of tick: 73135472 +debug: 22636 of tick: 73135472 +debug: 22637 of tick: 73135472 +debug: 22638 of tick: 73135472 +debug: 22639 of tick: 73135473 +debug: 22640 of tick: 73135473 +debug: 22641 of tick: 73135473 +debug: 22642 of tick: 73135473 +debug: 22643 of tick: 73135474 +debug: 22644 of tick: 73135474 +debug: 22645 of tick: 73135474 +debug: 22646 of tick: 73135474 +debug: 22647 of tick: 73135474 +debug: 22648 of tick: 73135475 +debug: 22649 of tick: 73135475 +debug: 22650 of tick: 73135475 +debug: 22651 of tick: 73135475 +debug: 22652 of tick: 73135475 +debug: 22653 of tick: 73135475 +debug: 22654 of tick: 73135476 +debug: 22655 of tick: 73135476 +debug: 22656 of tick: 73135476 +debug: 22657 of tick: 73135476 +debug: 22658 of tick: 73135476 +debug: 22659 of tick: 73135477 +debug: 22660 of tick: 73135477 +debug: 22661 of tick: 73135477 +debug: 22662 of tick: 73135477 +debug: 22663 of tick: 73135477 +debug: 22664 of tick: 73135478 +debug: 22665 of tick: 73135478 +debug: 22666 of tick: 73135478 +debug: 22667 of tick: 73135478 +debug: 22668 of tick: 73135479 +debug: 22669 of tick: 73135479 +debug: 22670 of tick: 73135479 +debug: 22671 of tick: 73135480 +debug: 22672 of tick: 73135480 +debug: 22673 of tick: 73135480 +debug: 22674 of tick: 73135480 +debug: 22675 of tick: 73135480 +debug: 22676 of tick: 73135481 +debug: 22677 of tick: 73135481 +debug: 22678 of tick: 73135481 +debug: 22679 of tick: 73135482 +debug: 22680 of tick: 73135482 +debug: 22681 of tick: 73135482 +debug: 22682 of tick: 73135482 +debug: 22683 of tick: 73135482 +debug: 22684 of tick: 73135482 +debug: 22685 of tick: 73135483 +debug: 22686 of tick: 73135483 +debug: 22687 of tick: 73135483 +debug: 22688 of tick: 73135483 +debug: 22689 of tick: 73135483 +debug: 22690 of tick: 73135484 +debug: 22691 of tick: 73135484 +debug: 22692 of tick: 73135484 +debug: 22693 of tick: 73135484 +debug: 22694 of tick: 73135484 +debug: 22695 of tick: 73135485 +debug: 22696 of tick: 73135485 +debug: 22697 of tick: 73135485 +debug: 22698 of tick: 73135485 +debug: 22699 of tick: 73135485 +debug: 22700 of tick: 73135486 +debug: 22701 of tick: 73135486 +debug: 22702 of tick: 73135486 +debug: 22703 of tick: 73135486 +debug: 22704 of tick: 73135486 +debug: 22705 of tick: 73135486 +debug: 22706 of tick: 73135487 +debug: 22707 of tick: 73135487 +debug: 22708 of tick: 73135487 +debug: 22709 of tick: 73135487 +debug: 22710 of tick: 73135487 +debug: 22711 of tick: 73135488 +debug: 22712 of tick: 73135488 +debug: 22713 of tick: 73135488 +debug: 22714 of tick: 73135488 +debug: 22715 of tick: 73135488 +debug: 22716 of tick: 73135489 +debug: 22717 of tick: 73135489 +debug: 22718 of tick: 73135489 +debug: 22719 of tick: 73135489 +debug: 22720 of tick: 73135489 +debug: 22721 of tick: 73135490 +debug: 22722 of tick: 73135490 +debug: 22723 of tick: 73135490 +debug: 22724 of tick: 73135490 +debug: 22725 of tick: 73135490 +debug: 22726 of tick: 73135490 +debug: 22727 of tick: 73135491 +debug: 22728 of tick: 73135492 +debug: 22729 of tick: 73135492 +debug: 22730 of tick: 73135492 +debug: 22731 of tick: 73135493 +debug: 22732 of tick: 73135493 +debug: 22733 of tick: 73135493 +debug: 22734 of tick: 73135493 +debug: 22735 of tick: 73135493 +debug: 22736 of tick: 73135494 +debug: 22737 of tick: 73135494 +debug: 22738 of tick: 73135494 +debug: 22739 of tick: 73135494 +debug: 22740 of tick: 73135494 +debug: 22741 of tick: 73135494 +debug: 22742 of tick: 73135495 +debug: 22743 of tick: 73135495 +debug: 22744 of tick: 73135495 +debug: 22745 of tick: 73135495 +debug: 22746 of tick: 73135495 +debug: 22747 of tick: 73135496 +debug: 22748 of tick: 73135496 +debug: 22749 of tick: 73135496 +debug: 22750 of tick: 73135496 +debug: 22751 of tick: 73135496 +debug: 22752 of tick: 73135497 +debug: 22753 of tick: 73135497 +debug: 22754 of tick: 73135497 +debug: 22755 of tick: 73135497 +debug: 22756 of tick: 73135497 +debug: 22757 of tick: 73135498 +debug: 22758 of tick: 73135498 +debug: 22759 of tick: 73135498 +debug: 22760 of tick: 73135498 +debug: 22761 of tick: 73135498 +debug: 22762 of tick: 73135499 +debug: 22763 of tick: 73135499 +debug: 22764 of tick: 73135499 +debug: 22765 of tick: 73135499 +debug: 22766 of tick: 73135499 +debug: 22767 of tick: 73135500 +debug: 22768 of tick: 73135500 +debug: 22769 of tick: 73135500 +debug: 22770 of tick: 73135500 +debug: 22771 of tick: 73135500 +debug: 22772 of tick: 73135501 +debug: 22773 of tick: 73135501 +debug: 22774 of tick: 73135501 +debug: 22775 of tick: 73135501 +debug: 22776 of tick: 73135501 +debug: 22777 of tick: 73135502 +debug: 22778 of tick: 73135502 +debug: 22779 of tick: 73135502 +debug: 22780 of tick: 73135502 +debug: 22781 of tick: 73135502 +debug: 22782 of tick: 73135503 +debug: 22783 of tick: 73135503 +debug: 22784 of tick: 73135503 +debug: 22785 of tick: 73135503 +debug: 22786 of tick: 73135503 +debug: 22787 of tick: 73135504 +debug: 22788 of tick: 73135504 +debug: 22789 of tick: 73135505 +debug: 22790 of tick: 73135505 +debug: 22791 of tick: 73135505 +debug: 22792 of tick: 73135505 +debug: 22793 of tick: 73135506 +debug: 22794 of tick: 73135506 +debug: 22795 of tick: 73135506 +debug: 22796 of tick: 73135506 +debug: 22797 of tick: 73135506 +debug: 22798 of tick: 73135507 +debug: 22799 of tick: 73135507 +debug: 22800 of tick: 73135507 +debug: 22801 of tick: 73135507 +debug: 22802 of tick: 73135507 +debug: 22803 of tick: 73135508 +debug: 22804 of tick: 73135508 +debug: 22805 of tick: 73135508 +debug: 22806 of tick: 73135508 +debug: 22807 of tick: 73135509 +debug: 22808 of tick: 73135509 +debug: 22809 of tick: 73135509 +debug: 22810 of tick: 73135509 +debug: 22811 of tick: 73135509 +debug: 22812 of tick: 73135509 +debug: 22813 of tick: 73135510 +debug: 22814 of tick: 73135510 +debug: 22815 of tick: 73135510 +debug: 22816 of tick: 73135510 +debug: 22817 of tick: 73135510 +debug: 22818 of tick: 73135511 +debug: 22819 of tick: 73135511 +debug: 22820 of tick: 73135511 +debug: 22821 of tick: 73135511 +debug: 22822 of tick: 73135511 +debug: 22823 of tick: 73135512 +debug: 22824 of tick: 73135512 +debug: 22825 of tick: 73135512 +debug: 22826 of tick: 73135512 +debug: 22827 of tick: 73135513 +debug: 22828 of tick: 73135513 +debug: 22829 of tick: 73135513 +debug: 22830 of tick: 73135513 +debug: 22831 of tick: 73135513 +debug: 22832 of tick: 73135514 +debug: 22833 of tick: 73135514 +debug: 22834 of tick: 73135514 +debug: 22835 of tick: 73135514 +debug: 22836 of tick: 73135514 +debug: 22837 of tick: 73135515 +debug: 22838 of tick: 73135515 +debug: 22839 of tick: 73135515 +debug: 22840 of tick: 73135515 +debug: 22841 of tick: 73135515 +debug: 22842 of tick: 73135516 +debug: 22843 of tick: 73135516 +debug: 22844 of tick: 73135516 +debug: 22845 of tick: 73135516 +debug: 22846 of tick: 73135516 +debug: 22847 of tick: 73135517 +debug: 22848 of tick: 73135517 +debug: 22849 of tick: 73135518 +debug: 22850 of tick: 73135518 +debug: 22851 of tick: 73135518 +debug: 22852 of tick: 73135518 +debug: 22853 of tick: 73135518 +debug: 22854 of tick: 73135519 +debug: 22855 of tick: 73135519 +debug: 22856 of tick: 73135519 +debug: 22857 of tick: 73135519 +debug: 22858 of tick: 73135519 +debug: 22859 of tick: 73135519 +debug: 22860 of tick: 73135520 +debug: 22861 of tick: 73135520 +debug: 22862 of tick: 73135520 +debug: 22863 of tick: 73135520 +debug: 22864 of tick: 73135521 +debug: 22865 of tick: 73135521 +debug: 22866 of tick: 73135521 +debug: 22867 of tick: 73135521 +debug: 22868 of tick: 73135522 +debug: 22869 of tick: 73135522 +debug: 22870 of tick: 73135522 +debug: 22871 of tick: 73135522 +debug: 22872 of tick: 73135523 +debug: 22873 of tick: 73135523 +debug: 22874 of tick: 73135523 +debug: 22875 of tick: 73135523 +debug: 22876 of tick: 73135523 +debug: 22877 of tick: 73135524 +debug: 22878 of tick: 73135524 +debug: 22879 of tick: 73135524 +debug: 22880 of tick: 73135524 +debug: 22881 of tick: 73135524 +debug: 22882 of tick: 73135525 +debug: 22883 of tick: 73135525 +debug: 22884 of tick: 73135525 +debug: 22885 of tick: 73135525 +debug: 22886 of tick: 73135525 +debug: 22887 of tick: 73135526 +debug: 22888 of tick: 73135526 +debug: 22889 of tick: 73135526 +debug: 22890 of tick: 73135526 +debug: 22891 of tick: 73135526 +debug: 22892 of tick: 73135527 +debug: 22893 of tick: 73135527 +debug: 22894 of tick: 73135527 +debug: 22895 of tick: 73135527 +debug: 22896 of tick: 73135528 +debug: 22897 of tick: 73135528 +debug: 22898 of tick: 73135528 +debug: 22899 of tick: 73135528 +debug: 22900 of tick: 73135528 +debug: 22901 of tick: 73135529 +debug: 22902 of tick: 73135529 +debug: 22903 of tick: 73135529 +debug: 22904 of tick: 73135529 +debug: 22905 of tick: 73135529 +debug: 22906 of tick: 73135529 +debug: 22907 of tick: 73135530 +debug: 22908 of tick: 73135530 +debug: 22909 of tick: 73135531 +debug: 22910 of tick: 73135531 +debug: 22911 of tick: 73135531 +debug: 22912 of tick: 73135531 +debug: 22913 of tick: 73135531 +debug: 22914 of tick: 73135532 +debug: 22915 of tick: 73135532 +debug: 22916 of tick: 73135532 +debug: 22917 of tick: 73135532 +debug: 22918 of tick: 73135532 +debug: 22919 of tick: 73135532 +debug: 22920 of tick: 73135533 +debug: 22921 of tick: 73135533 +debug: 22922 of tick: 73135533 +debug: 22923 of tick: 73135533 +debug: 22924 of tick: 73135533 +debug: 22925 of tick: 73135534 +debug: 22926 of tick: 73135534 +debug: 22927 of tick: 73135534 +debug: 22928 of tick: 73135534 +debug: 22929 of tick: 73135534 +debug: 22930 of tick: 73135535 +debug: 22931 of tick: 73135535 +debug: 22932 of tick: 73135535 +debug: 22933 of tick: 73135535 +debug: 22934 of tick: 73135535 +debug: 22935 of tick: 73135535 +debug: 22936 of tick: 73135536 +debug: 22937 of tick: 73135536 +debug: 22938 of tick: 73135536 +debug: 22939 of tick: 73135536 +debug: 22940 of tick: 73135536 +debug: 22941 of tick: 73135537 +debug: 22942 of tick: 73135537 +debug: 22943 of tick: 73135537 +debug: 22944 of tick: 73135537 +debug: 22945 of tick: 73135537 +debug: 22946 of tick: 73135538 +debug: 22947 of tick: 73135538 +debug: 22948 of tick: 73135538 +debug: 22949 of tick: 73135538 +debug: 22950 of tick: 73135538 +debug: 22951 of tick: 73135539 +debug: 22952 of tick: 73135539 +debug: 22953 of tick: 73135539 +debug: 22954 of tick: 73135539 +debug: 22955 of tick: 73135539 +debug: 22956 of tick: 73135540 +debug: 22957 of tick: 73135540 +debug: 22958 of tick: 73135540 +debug: 22959 of tick: 73135540 +debug: 22960 of tick: 73135540 +debug: 22961 of tick: 73135540 +debug: 22962 of tick: 73135541 +debug: 22963 of tick: 73135541 +debug: 22964 of tick: 73135541 +debug: 22965 of tick: 73135541 +debug: 22966 of tick: 73135541 +debug: 22967 of tick: 73135542 +debug: 22968 of tick: 73135542 +debug: 22969 of tick: 73135542 +debug: 22970 of tick: 73135543 +debug: 22971 of tick: 73135543 +debug: 22972 of tick: 73135543 +debug: 22973 of tick: 73135543 +debug: 22974 of tick: 73135544 +debug: 22975 of tick: 73135544 +debug: 22976 of tick: 73135544 +debug: 22977 of tick: 73135544 +debug: 22978 of tick: 73135544 +debug: 22979 of tick: 73135544 +debug: 22980 of tick: 73135545 +debug: 22981 of tick: 73135545 +debug: 22982 of tick: 73135545 +debug: 22983 of tick: 73135545 +debug: 22984 of tick: 73135545 +debug: 22985 of tick: 73135546 +debug: 22986 of tick: 73135546 +debug: 22987 of tick: 73135546 +debug: 22988 of tick: 73135546 +debug: 22989 of tick: 73135546 +debug: 22990 of tick: 73135546 +debug: 22991 of tick: 73135547 +debug: 22992 of tick: 73135547 +debug: 22993 of tick: 73135547 +debug: 22994 of tick: 73135547 +debug: 22995 of tick: 73135547 +debug: 22996 of tick: 73135548 +debug: 22997 of tick: 73135548 +debug: 22998 of tick: 73135548 +debug: 22999 of tick: 73135548 +debug: 23000 of tick: 73135548 +debug: 23001 of tick: 73135549 +debug: 23002 of tick: 73135549 +debug: 23003 of tick: 73135549 +debug: 23004 of tick: 73135549 +debug: 23005 of tick: 73135549 +debug: 23006 of tick: 73135550 +debug: 23007 of tick: 73135550 +debug: 23008 of tick: 73135550 +debug: 23009 of tick: 73135550 +debug: 23010 of tick: 73135550 +debug: 23011 of tick: 73135550 +debug: 23012 of tick: 73135551 +debug: 23013 of tick: 73135551 +debug: 23014 of tick: 73135551 +debug: 23015 of tick: 73135551 +debug: 23016 of tick: 73135551 +debug: 23017 of tick: 73135552 +debug: 23018 of tick: 73135552 +debug: 23019 of tick: 73135552 +debug: 23020 of tick: 73135552 +debug: 23021 of tick: 73135552 +debug: 23022 of tick: 73135553 +debug: 23023 of tick: 73135553 +debug: 23024 of tick: 73135553 +debug: 23025 of tick: 73135553 +debug: 23026 of tick: 73135553 +debug: 23027 of tick: 73135554 +debug: 23028 of tick: 73135554 +debug: 23029 of tick: 73135555 +debug: 23030 of tick: 73135555 +debug: 23031 of tick: 73135555 +debug: 23032 of tick: 73135555 +debug: 23033 of tick: 73135555 +debug: 23034 of tick: 73135555 +debug: 23035 of tick: 73135556 +debug: 23036 of tick: 73135556 +debug: 23037 of tick: 73135556 +debug: 23038 of tick: 73135556 +debug: 23039 of tick: 73135556 +debug: 23040 of tick: 73135557 +debug: 23041 of tick: 73135557 +debug: 23042 of tick: 73135557 +debug: 23043 of tick: 73135557 +debug: 23044 of tick: 73135557 +debug: 23045 of tick: 73135557 +debug: 23046 of tick: 73135558 +debug: 23047 of tick: 73135558 +debug: 23048 of tick: 73135558 +debug: 23049 of tick: 73135558 +debug: 23050 of tick: 73135558 +debug: 23051 of tick: 73135559 +debug: 23052 of tick: 73135559 +debug: 23053 of tick: 73135559 +debug: 23054 of tick: 73135559 +debug: 23055 of tick: 73135559 +debug: 23056 of tick: 73135560 +debug: 23057 of tick: 73135560 +debug: 23058 of tick: 73135560 +debug: 23059 of tick: 73135560 +debug: 23060 of tick: 73135560 +debug: 23061 of tick: 73135560 +debug: 23062 of tick: 73135561 +debug: 23063 of tick: 73135561 +debug: 23064 of tick: 73135561 +debug: 23065 of tick: 73135561 +debug: 23066 of tick: 73135561 +debug: 23067 of tick: 73135562 +debug: 23068 of tick: 73135562 +debug: 23069 of tick: 73135562 +debug: 23070 of tick: 73135562 +debug: 23071 of tick: 73135562 +debug: 23072 of tick: 73135563 +debug: 23073 of tick: 73135563 +debug: 23074 of tick: 73135563 +debug: 23075 of tick: 73135563 +debug: 23076 of tick: 73135563 +debug: 23077 of tick: 73135563 +debug: 23078 of tick: 73135564 +debug: 23079 of tick: 73135564 +debug: 23080 of tick: 73135564 +debug: 23081 of tick: 73135564 +debug: 23082 of tick: 73135564 +debug: 23083 of tick: 73135565 +debug: 23084 of tick: 73135565 +debug: 23085 of tick: 73135565 +debug: 23086 of tick: 73135565 +debug: 23087 of tick: 73135565 +debug: 23088 of tick: 73135565 +debug: 23089 of tick: 73135566 +debug: 23090 of tick: 73135566 +debug: 23091 of tick: 73135567 +debug: 23092 of tick: 73135567 +debug: 23093 of tick: 73135567 +debug: 23094 of tick: 73135567 +debug: 23095 of tick: 73135567 +debug: 23096 of tick: 73135568 +debug: 23097 of tick: 73135568 +debug: 23098 of tick: 73135568 +debug: 23099 of tick: 73135568 +debug: 23100 of tick: 73135568 +debug: 23101 of tick: 73135569 +debug: 23102 of tick: 73135569 +debug: 23103 of tick: 73135569 +debug: 23104 of tick: 73135569 +debug: 23105 of tick: 73135569 +debug: 23106 of tick: 73135569 +debug: 23107 of tick: 73135570 +debug: 23108 of tick: 73135570 +debug: 23109 of tick: 73135570 +debug: 23110 of tick: 73135570 +debug: 23111 of tick: 73135571 +debug: 23112 of tick: 73135571 +debug: 23113 of tick: 73135571 +debug: 23114 of tick: 73135571 +debug: 23115 of tick: 73135571 +debug: 23116 of tick: 73135572 +debug: 23117 of tick: 73135572 +debug: 23118 of tick: 73135572 +debug: 23119 of tick: 73135572 +debug: 23120 of tick: 73135572 +debug: 23121 of tick: 73135572 +debug: 23122 of tick: 73135573 +debug: 23123 of tick: 73135573 +debug: 23124 of tick: 73135573 +debug: 23125 of tick: 73135573 +debug: 23126 of tick: 73135573 +debug: 23127 of tick: 73135574 +debug: 23128 of tick: 73135574 +debug: 23129 of tick: 73135574 +debug: 23130 of tick: 73135574 +debug: 23131 of tick: 73135574 +debug: 23132 of tick: 73135575 +debug: 23133 of tick: 73135575 +debug: 23134 of tick: 73135575 +debug: 23135 of tick: 73135575 +debug: 23136 of tick: 73135575 +debug: 23137 of tick: 73135576 +debug: 23138 of tick: 73135576 +debug: 23139 of tick: 73135576 +debug: 23140 of tick: 73135576 +debug: 23141 of tick: 73135576 +debug: 23142 of tick: 73135576 +debug: 23143 of tick: 73135577 +debug: 23144 of tick: 73135577 +debug: 23145 of tick: 73135577 +debug: 23146 of tick: 73135577 +debug: 23147 of tick: 73135577 +debug: 23148 of tick: 73135578 +debug: 23149 of tick: 73135578 +debug: 23150 of tick: 73135579 +debug: 23151 of tick: 73135579 +debug: 23152 of tick: 73135579 +debug: 23153 of tick: 73135579 +debug: 23154 of tick: 73135579 +debug: 23155 of tick: 73135580 +debug: 23156 of tick: 73135580 +debug: 23157 of tick: 73135580 +debug: 23158 of tick: 73135580 +debug: 23159 of tick: 73135580 +debug: 23160 of tick: 73135581 +debug: 23161 of tick: 73135581 +debug: 23162 of tick: 73135581 +debug: 23163 of tick: 73135581 +debug: 23164 of tick: 73135581 +debug: 23165 of tick: 73135581 +debug: 23166 of tick: 73135582 +debug: 23167 of tick: 73135582 +debug: 23168 of tick: 73135582 +debug: 23169 of tick: 73135582 +debug: 23170 of tick: 73135582 +debug: 23171 of tick: 73135583 +debug: 23172 of tick: 73135583 +debug: 23173 of tick: 73135583 +debug: 23174 of tick: 73135583 +debug: 23175 of tick: 73135583 +debug: 23176 of tick: 73135584 +debug: 23177 of tick: 73135584 +debug: 23178 of tick: 73135584 +debug: 23179 of tick: 73135584 +debug: 23180 of tick: 73135585 +debug: 23181 of tick: 73135585 +debug: 23182 of tick: 73135585 +debug: 23183 of tick: 73135585 +debug: 23184 of tick: 73135586 +debug: 23185 of tick: 73135586 +debug: 23186 of tick: 73135586 +debug: 23187 of tick: 73135586 +debug: 23188 of tick: 73135586 +debug: 23189 of tick: 73135587 +debug: 23190 of tick: 73135587 +debug: 23191 of tick: 73135587 +debug: 23192 of tick: 73135587 +debug: 23193 of tick: 73135587 +debug: 23194 of tick: 73135588 +debug: 23195 of tick: 73135588 +debug: 23196 of tick: 73135588 +debug: 23197 of tick: 73135588 +debug: 23198 of tick: 73135589 +debug: 23199 of tick: 73135589 +debug: 23200 of tick: 73135589 +debug: 23201 of tick: 73135589 +debug: 23202 of tick: 73135589 +debug: 23203 of tick: 73135589 +debug: 23204 of tick: 73135590 +debug: 23205 of tick: 73135590 +debug: 23206 of tick: 73135590 +debug: 23207 of tick: 73135590 +debug: 23208 of tick: 73135590 +debug: 23209 of tick: 73135591 +debug: 23210 of tick: 73135591 +debug: 23211 of tick: 73135592 +debug: 23212 of tick: 73135592 +debug: 23213 of tick: 73135592 +debug: 23214 of tick: 73135592 +debug: 23215 of tick: 73135592 +debug: 23216 of tick: 73135593 +debug: 23217 of tick: 73135593 +debug: 23218 of tick: 73135593 +debug: 23219 of tick: 73135593 +debug: 23220 of tick: 73135593 +debug: 23221 of tick: 73135594 +debug: 23222 of tick: 73135594 +debug: 23223 of tick: 73135594 +debug: 23224 of tick: 73135594 +debug: 23225 of tick: 73135594 +debug: 23226 of tick: 73135595 +debug: 23227 of tick: 73135595 +debug: 23228 of tick: 73135595 +debug: 23229 of tick: 73135595 +debug: 23230 of tick: 73135595 +debug: 23231 of tick: 73135596 +debug: 23232 of tick: 73135596 +debug: 23233 of tick: 73135596 +debug: 23234 of tick: 73135596 +debug: 23235 of tick: 73135596 +debug: 23236 of tick: 73135596 +debug: 23237 of tick: 73135597 +debug: 23238 of tick: 73135597 +debug: 23239 of tick: 73135597 +debug: 23240 of tick: 73135597 +debug: 23241 of tick: 73135597 +debug: 23242 of tick: 73135598 +debug: 23243 of tick: 73135598 +debug: 23244 of tick: 73135598 +debug: 23245 of tick: 73135598 +debug: 23246 of tick: 73135598 +debug: 23247 of tick: 73135599 +debug: 23248 of tick: 73135599 +debug: 23249 of tick: 73135599 +debug: 23250 of tick: 73135599 +debug: 23251 of tick: 73135599 +debug: 23252 of tick: 73135599 +debug: 23253 of tick: 73135600 +debug: 23254 of tick: 73135600 +debug: 23255 of tick: 73135600 +debug: 23256 of tick: 73135601 +debug: 23257 of tick: 73135602 +debug: 23258 of tick: 73135602 +debug: 23259 of tick: 73135603 +debug: 23260 of tick: 73135603 +debug: 23261 of tick: 73135603 +debug: 23262 of tick: 73135603 +debug: 23263 of tick: 73135604 +debug: 23264 of tick: 73135604 +debug: 23265 of tick: 73135604 +debug: 23266 of tick: 73135604 +debug: 23267 of tick: 73135604 +debug: 23268 of tick: 73135605 +debug: 23269 of tick: 73135605 +debug: 23270 of tick: 73135606 +debug: 23271 of tick: 73135606 +debug: 23272 of tick: 73135606 +debug: 23273 of tick: 73135607 +debug: 23274 of tick: 73135607 +debug: 23275 of tick: 73135607 +debug: 23276 of tick: 73135607 +debug: 23277 of tick: 73135607 +debug: 23278 of tick: 73135608 +debug: 23279 of tick: 73135608 +debug: 23280 of tick: 73135608 +debug: 23281 of tick: 73135608 +debug: 23282 of tick: 73135608 +debug: 23283 of tick: 73135609 +debug: 23284 of tick: 73135609 +debug: 23285 of tick: 73135609 +debug: 23286 of tick: 73135609 +debug: 23287 of tick: 73135609 +debug: 23288 of tick: 73135610 +debug: 23289 of tick: 73135610 +debug: 23290 of tick: 73135610 +debug: 23291 of tick: 73135610 +debug: 23292 of tick: 73135610 +debug: 23293 of tick: 73135611 +debug: 23294 of tick: 73135611 +debug: 23295 of tick: 73135611 +debug: 23296 of tick: 73135611 +debug: 23297 of tick: 73135611 +debug: 23298 of tick: 73135612 +debug: 23299 of tick: 73135612 +debug: 23300 of tick: 73135612 +debug: 23301 of tick: 73135612 +debug: 23302 of tick: 73135612 +debug: 23303 of tick: 73135613 +debug: 23304 of tick: 73135613 +debug: 23305 of tick: 73135613 +debug: 23306 of tick: 73135613 +debug: 23307 of tick: 73135613 +debug: 23308 of tick: 73135614 +debug: 23309 of tick: 73135614 +debug: 23310 of tick: 73135614 +debug: 23311 of tick: 73135614 +debug: 23312 of tick: 73135614 +debug: 23313 of tick: 73135615 +debug: 23314 of tick: 73135615 +debug: 23315 of tick: 73135615 +debug: 23316 of tick: 73135615 +debug: 23317 of tick: 73135615 +debug: 23318 of tick: 73135618 +debug: 23319 of tick: 73135618 +debug: 23320 of tick: 73135618 +debug: 23321 of tick: 73135618 +debug: 23322 of tick: 73135618 +debug: 23323 of tick: 73135619 +debug: 23324 of tick: 73135619 +debug: 23325 of tick: 73135619 +debug: 23326 of tick: 73135619 +debug: 23327 of tick: 73135619 +debug: 23328 of tick: 73135620 +debug: 23329 of tick: 73135620 +debug: 23330 of tick: 73135621 +debug: 23331 of tick: 73135621 +debug: 23332 of tick: 73135621 +debug: 23333 of tick: 73135622 +debug: 23334 of tick: 73135622 +debug: 23335 of tick: 73135622 +debug: 23336 of tick: 73135622 +debug: 23337 of tick: 73135622 +debug: 23338 of tick: 73135622 +debug: 23339 of tick: 73135623 +debug: 23340 of tick: 73135623 +debug: 23341 of tick: 73135623 +debug: 23342 of tick: 73135623 +debug: 23343 of tick: 73135623 +debug: 23344 of tick: 73135623 +debug: 23345 of tick: 73135624 +debug: 23346 of tick: 73135624 +debug: 23347 of tick: 73135624 +debug: 23348 of tick: 73135624 +debug: 23349 of tick: 73135624 +debug: 23350 of tick: 73135625 +debug: 23351 of tick: 73135625 +debug: 23352 of tick: 73135625 +debug: 23353 of tick: 73135625 +debug: 23354 of tick: 73135625 +debug: 23355 of tick: 73135625 +debug: 23356 of tick: 73135626 +debug: 23357 of tick: 73135626 +debug: 23358 of tick: 73135626 +debug: 23359 of tick: 73135626 +debug: 23360 of tick: 73135626 +debug: 23361 of tick: 73135627 +debug: 23362 of tick: 73135627 +debug: 23363 of tick: 73135627 +debug: 23364 of tick: 73135627 +debug: 23365 of tick: 73135627 +debug: 23366 of tick: 73135628 +debug: 23367 of tick: 73135628 +debug: 23368 of tick: 73135628 +debug: 23369 of tick: 73135628 +debug: 23370 of tick: 73135628 +debug: 23371 of tick: 73135628 +system count in one sec: 23371 +Voice Async...now download + +Script examples/469_ibzresult3_timeserver7.txt finished: 01.09.2022 12:14:33 > +Script examples/469_ibzresult3_timeserver7.txt performs: 26.552 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/481_ProcessList2_plus.txt +examples/481_ProcessList2_plus.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 8 +compiled[Hint] (100:10): Variable 'Result' never used +[Hint] (100:10): Variable 'Result' never used +compiled[Hint] (202:5): Variable 'MT' never used +[Hint] (202:5): Variable 'MT' never used +compiled[Hint] (382:10): Variable 'Result' never used +[Hint] (382:10): Variable 'Result' never used +compiled[Hint] (391:3): Variable 'S' never used +[Hint] (391:3): Variable 'S' never used +compiled[Hint] (387:10): Variable 'Result' never used +[Hint] (387:10): Variable 'Result' never used +compiled[Hint] (489:4): Variable 'ABASE' never used +[Hint] (489:4): Variable 'ABASE' never used +compiled[Hint] (561:5): Variable 'AV' never used +[Hint] (561:5): Variable 'AV' never used +compiled[Hint] (562:5): Variable 'ATLONG' never used +[Hint] (562:5): Variable 'ATLONG' never used +executed... +exec[Hint] (100:10): Variable 'Result' never used +exec[Hint] (202:5): Variable 'MT' never used +exec[Hint] (382:10): Variable 'Result' never used +exec[Hint] (391:3): Variable 'S' never used +exec[Hint] (387:10): Variable 'Result' never used +exec[Hint] (489:4): Variable 'ABASE' never used +exec[Hint] (561:5): Variable 'AV' never used +exec[Hint] (562:5): Variable 'ATLONG' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:14:34 +Internet Version NOT checked! +setcolumn TRUE +FALSE +9 +0 +NeedWin2kFix FALSE +Quaddrillion 9849732675807611094711841 +too big? 9849732675807611094711841 +Time: 0.508 +Time: 0:0:0.508 +A = B +255 +0 +A = C +A > B +A < B +A = B +340282366920938463463374607431768211456 +340282366920938463463374607431768211456 +3.40282366920938E38 +just big 3.40282366920938463E38 + +Script examples/481_ProcessList2_plus.txt finished: 01.09.2022 12:14:46 > +Script examples/481_ProcessList2_plus.txt performs: 11.924 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/488_AsyncTerminal2.txt +examples/488_AsyncTerminal2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 4 +compiled[Hint] (156:5): Variable 'RETC' never used +[Hint] (156:5): Variable 'RETC' never used +compiled[Hint] (20:7): Variable 'FWAIT' never used +[Hint] (20:7): Variable 'FWAIT' never used +compiled[Hint] (21:7): Variable 'TERMSTREAM' never used +[Hint] (21:7): Variable 'TERMSTREAM' never used +compiled[Hint] (22:7): Variable 'AST' never used +[Hint] (22:7): Variable 'AST' never used +executed... +exec[Hint] (156:5): Variable 'RETC' never used +exec[Hint] (20:7): Variable 'FWAIT' never used +exec[Hint] (21:7): Variable 'TERMSTREAM' never used +exec[Hint] (22:7): Variable 'AST' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:14:46 +Internet Version NOT checked! +AsyncPro Start the Mart: +itemindex: -1 +AAAAAAAAAA +{6B167954-A745-4E33-ABDB-D5E2A577609D} +???? +?¤????¶§?????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¦ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»¦¦¦¦¦ÁÂÀ©¦¦++¢¥++--+-+ãÃ++--¦-+¤ðÐÊËÈiÍÎÏ++¦_¦Ì¯ÓßÔÒõÕµþÞÚÛÙýݯ´­±=¾¶§÷¸°¨·¹³²¦  + +Script examples/488_AsyncTerminal2.txt finished: 01.09.2022 12:14:50 > +Script examples/488_AsyncTerminal2.txt performs: 3.419 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/492_snowflake2.txt +examples/492_snowflake2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 11 +compiled[Hint] (274:5): Variable 'IDX' never used +[Hint] (274:5): Variable 'IDX' never used +compiled[Hint] (322:6): Variable 'ROOTNODE' never used +[Hint] (322:6): Variable 'ROOTNODE' never used +compiled[Hint] (323:6): Variable 'MYC' never used +[Hint] (323:6): Variable 'MYC' never used +compiled[Hint] (41:3): Variable 'ANAMTR0' never used +[Hint] (41:3): Variable 'ANAMTR0' never used +compiled[Hint] (42:3): Variable 'ASET' never used +[Hint] (42:3): Variable 'ASET' never used +compiled[Hint] (146:6): Variable 'PENS' never used +[Hint] (146:6): Variable 'PENS' never used +compiled[Hint] (435:9): Variable 'AOBJ' never used +[Hint] (435:9): Variable 'AOBJ' never used +compiled[Hint] (439:9): Variable 'USERSPACEAVAIL' never used +[Hint] (439:9): Variable 'USERSPACEAVAIL' never used +compiled[Hint] (439:9): Variable 'TOTALSPACEAVAIL' never used +[Hint] (439:9): Variable 'TOTALSPACEAVAIL' never used +compiled[Hint] (439:9): Variable 'DISKSIZE' never used +[Hint] (439:9): Variable 'DISKSIZE' never used +compiled[Hint] (440:9): Variable 'SHDIG' never used +[Hint] (440:9): Variable 'SHDIG' never used +executed... +exec[Hint] (274:5): Variable 'IDX' never used +exec[Hint] (322:6): Variable 'ROOTNODE' never used +exec[Hint] (323:6): Variable 'MYC' never used +exec[Hint] (41:3): Variable 'ANAMTR0' never used +exec[Hint] (42:3): Variable 'ASET' never used +exec[Hint] (146:6): Variable 'PENS' never used +exec[Hint] (435:9): Variable 'AOBJ' never used +exec[Hint] (439:9): Variable 'USERSPACEAVAIL' never used +exec[Hint] (439:9): Variable 'TOTALSPACEAVAIL' never used +exec[Hint] (439:9): Variable 'DISKSIZE' never used +exec[Hint] (440:9): Variable 'SHDIG' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:14:51 +Internet Version NOT checked! +Thread ID :9496 +Process ID :11088 +machine name is: BREITSCH-BOX +user name is: breitsch +OS Type is: 15 +31.08.2022 16:01:52 for maXbox4 file +multi thread +8 +112 +=::=::\ +=C:=C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4 +=ExitCode=0000000A +ALLUSERSPROFILE=C:\ProgramData +APPDATA=C:\Users\breitsch\AppData\Roaming +CommonProgramFiles=C:\Program Files (x86)\Common Files +CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files +CommonProgramW6432=C:\Program Files\Common Files +COMPUTERNAME=BREITSCH-BOX +ComSpec=C:\WINDOWS\system32\cmd.exe +DriverData=C:\Windows\System32\Drivers\DriverData +HOMEDRIVE=C: +HOMEPATH=\Users\breitsch +LOCALAPPDATA=C:\Users\breitsch\AppData\Local +LOGONSERVER=\\BREITSCH-BOX +NUMBER_OF_PROCESSORS=8 +OneDrive=C:\Users\breitsch\OneDrive +OneDriveConsumer=C:\Users\breitsch\OneDrive +OPENSSL_CONF=C:\Program Files\Streaming\IBZ2021\Module4\openssl-1.0.2q-i386-win32\openssl.cnf +OS=Windows_NT +Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\RemObjects Software\Elements\bin;C:\Program Files\MATLAB\R2020b\bin;C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\Scripts\;C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\;C:\Users\breitsch\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\breitsch\AppData\Local\Programs\Python\Python38\;C:\Users\breitsch\AppData\Local\Microsoft\WindowsApps; +PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC +PROCESSOR_ARCHITECTURE=x86 +PROCESSOR_ARCHITEW6432=AMD64 +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 11, GenuineIntel +PROCESSOR_LEVEL=6 +PROCESSOR_REVISION=8e0b +ProgramData=C:\ProgramData +ProgramFiles=C:\Program Files (x86) +ProgramFiles(x86)=C:\Program Files (x86) +ProgramW6432=C:\Program Files +PROMPT=$P$G +PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules +PUBLIC=C:\Users\Public +SESSIONNAME=Console +SystemDrive=C: +SystemRoot=C:\WINDOWS +TEMP=C:\Users\breitsch\AppData\Local\Temp +TMP=C:\Users\breitsch\AppData\Local\Temp +USERDOMAIN=BREITSCH-BOX +USERDOMAIN_ROAMINGPROFILE=BREITSCH-BOX +USERNAME=breitsch +USERPROFILE=C:\Users\breitsch +VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\ +windir=C:\WINDOWS +DriveDelim= : +this is 4.5086822077530859E837 +this is 191102976.000000 +this is 48.000000 +this is 1.342423 +this is logN 2.000000 +ln(e): 1 +1000002.71828183 +addition theorem 0.948984619355586214 +addition theorem 0.948984619355586214 +addition theorem2 0.315322362395268665 +addition theorem2 0.315322362395268665 +1026 +1 +Anwendung +C:\Users\breitsch\AppData\Local\Temp\ C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe33600280 +windir: C:\WINDOWS +sound on box fox +snowflake cyclecount: 16807 + +Script examples/492_snowflake2.txt finished: 01.09.2022 12:15:40 > +Script examples/492_snowflake2.txt performs: 49.251 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/558_hirestimer2test2.txt +examples/558_hirestimer2test2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (1:11): Variable 'Result' never used +[Hint] (1:11): Variable 'Result' never used +executed... +exec[Hint] (1:11): Variable 'Result' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:15:41 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +4.7.6.10 +SetThreadPriority OK +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maxbox4.exe +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maxbox4.exe + +Script examples/558_hirestimer2test2.txt finished: 01.09.2022 12:15:44 > +Script examples/558_hirestimer2test2.txt performs: 3.205 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>REM maxbox4.exe -c examples/565_ConsoleCapture23mX42298.TXT + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/575_tartaruga_desktop.txt +examples/575_tartaruga_desktop.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (14:5): Variable 'SELECT' never used +[Hint] (14:5): Variable 'SELECT' never used +compiled[Hint] (15:5): Variable 'ALISTITEMS' never used +[Hint] (15:5): Variable 'ALISTITEMS' never used +executed... +exec[Hint] (14:5): Variable 'SELECT' never used +exec[Hint] (15:5): Variable 'ALISTITEMS' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:15:44 +Internet Version NOT checked! +C:\Users\breitsch\Desktop +shelllistviewcount: 35 +shelllistviewcaption: +shelllistviewselected: +shelllistviewselected: 0 + +Script examples/575_tartaruga_desktop.txt finished: 01.09.2022 12:15:50 > +Script examples/575_tartaruga_desktop.txt performs: 5.694 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/580_indystacksearch_geo2_winapi_tut37.txt +examples/580_indystacksearch_geo2_winapi_tut37.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (882:3): Variable 'IDAUTH' never used +[Hint] (882:3): Variable 'IDAUTH' never used +compiled[Hint] (341:6): Variable 'MYGEOINFO' never used +[Hint] (341:6): Variable 'MYGEOINFO' never used +executed... +exec[Hint] (882:3): Variable 'IDAUTH' never used +exec[Hint] (341:6): Variable 'MYGEOINFO' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:15:51 +Internet Version NOT checked! +isDottedIP: TRUE +IsNumericIP: FALSE +ResolveHost: 192.168.11.1 +isDottedIP: TRUE +IsNumericIP: FALSE +ResolveHost: 192.168.11.1 +WSGetHostByName: BREITSCH-BOX +123Æ456Æ789.1235 +502 +lstream output: +GEO_IP Out: +vcontenturl: + +resp code: -1 +0 +URIEncode +URIEncode +HTTP/1.1 200 OK +user agent code: Opera/9.80 (Windows NT 6.1; U; de) Presto/2.5.22 Version/10.51 +user agent host: www.softwareschule.ch +user agent referer: http://deineseite.com/ +responxe last modified: 02.08.2022 14:11:19 +responxe contlength: 25419 +responxe conttype: text/html +responxe contencode: +responxe contenvers: +responxe contlanguage: +responxe server: nginx +responxe proxy connect: +responxe location: +responxe date: 01.09.2022 12:15:54 +responxe expire: 30.12.1899 02:00:00 +responxe connect: keep-alive +responxe chache: +responxe pragma: +HTTP/1.1 200 OK +resp code: 200 +HI! HELLO WORLD OF CRYPTOBOX 3! +IP Weather Local Name: Bern +City aeo convert: Bern +GetRealIP4 { + "ip": "46.127.119.188", + "hostname": "46-127-119-188.dynamic.hispeed.ch", + "city": "Bern", + "region": "Bern", + "country": "CH", + "loc": "46.9481,7.4474", + "org": "AS6830 Liberty Global B.V.", + "postal": "3000", + "timezone": "Europe/Zurich", + "readme": "https://ipinfo.io/missingauth" +} +FALSE + +Script examples/580_indystacksearch_geo2_winapi_tut37.txt finished: 01.09.2022 12:15:54 > +Script examples/580_indystacksearch_geo2_winapi_tut37.txt performs: 3.46 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/592_getTypeLibList.txt +examples/592_getTypeLibList.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 0 +executed... +TypeLib\{B9AA1F11-F480-4054-A84E-B5D9277E40A8}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\TeamsPresenceAddin\Uc.win32.tlb +TypeLib\{C0529B10-073A-4754-9BB0-72325D80D122}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\TeamsMeetingAddin\1.0.22209.4\x86\Microsoft.Teams.AddinLoader.dll +TypeLib\{C9F3F6BB-3172-4CD8-9EB7-37C9BE601C87}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\OneDrive\22.166.0807.0002\i386\FileSyncShell.dll +TypeLib\{F904F88C-E60D-4327-9FA2-865AD075B400}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\OneDrive\22.166.0807.0002\Microsoft.SharePoint.dll\2 + +Script examples/592_getTypeLibList.txt finished: 01.09.2022 12:16:03 > +Script examples/592_getTypeLibList.txt performs: 8.068 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/598_software_list3.txt +examples/598_software_list3.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 0 +executed... +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:04 +Internet Version NOT checked! +IntToBase32 of 1000: 000V8 +CountPos: 3 +CountPos: 3 + +Script examples/598_software_list3.txt finished: 01.09.2022 12:16:06 > +Script examples/598_software_list3.txt performs: 2.421 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/602_moonbug.txt +examples/602_moonbug.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 4 +compiled[Hint] (433:3): Variable 'SRCFLDR' never used +[Hint] (433:3): Variable 'SRCFLDR' never used +compiled[Hint] (433:3): Variable 'DESTFLDR' never used +[Hint] (433:3): Variable 'DESTFLDR' never used +compiled[Hint] (434:3): Variable 'NUMT' never used +[Hint] (434:3): Variable 'NUMT' never used +compiled[Hint] (435:3): Variable 'FILTER' never used +[Hint] (435:3): Variable 'FILTER' never used +executed... +exec[Hint] (433:3): Variable 'SRCFLDR' never used +exec[Hint] (433:3): Variable 'DESTFLDR' never used +exec[Hint] (434:3): Variable 'NUMT' never used +exec[Hint] (435:3): Variable 'FILTER' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:07 +Internet Version NOT checked! +main start is: 12:16:09:620 +main stop is: 12:16:09:731 +0 h elapsed time is: 00:00:111 + +Script examples/602_moonbug.txt finished: 01.09.2022 12:16:09 > +Script examples/602_moonbug.txt performs: 2.145 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/602_moonbug2.txt +examples/602_moonbug2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 5 +compiled[Hint] (441:3): Variable 'SRCFLDR' never used +[Hint] (441:3): Variable 'SRCFLDR' never used +compiled[Hint] (441:3): Variable 'DESTFLDR' never used +[Hint] (441:3): Variable 'DESTFLDR' never used +compiled[Hint] (442:3): Variable 'NUMT' never used +[Hint] (442:3): Variable 'NUMT' never used +compiled[Hint] (443:3): Variable 'FILTER' never used +[Hint] (443:3): Variable 'FILTER' never used +compiled[Hint] (715:5): Variable 'HCURSOR' never used +[Hint] (715:5): Variable 'HCURSOR' never used +executed... +exec[Hint] (441:3): Variable 'SRCFLDR' never used +exec[Hint] (441:3): Variable 'DESTFLDR' never used +exec[Hint] (442:3): Variable 'NUMT' never used +exec[Hint] (443:3): Variable 'FILTER' never used +exec[Hint] (715:5): Variable 'HCURSOR' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:10 +Internet Version NOT checked! +main start is: 12:16:12:542 +main stop is: 12:16:12:635 +0 h elapsed time is: 00:00:093 + +Script examples/602_moonbug2.txt finished: 01.09.2022 12:16:12 > +Script examples/602_moonbug2.txt performs: 2.185 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/603_cupids_arrow.TXT +examples/603_cupids_arrow.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 3 +compiled[Error] (357:1): Syntax error +[Error] (357:1): Syntax error +compiled[Hint] (37:5): Variable 'AMEMO1' never used +[Hint] (37:5): Variable 'AMEMO1' never used +compiled[Hint] (43:5): Variable 'LABEL1' never used +[Hint] (43:5): Variable 'LABEL1' never used +executed... +exec[Error] (357:1): Syntax error +exec[Hint] (37:5): Variable 'AMEMO1' never used +exec[Hint] (43:5): Variable 'LABEL1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:13 +Internet Version NOT checked! +15120 +15120 + +Script examples/603_cupids_arrow.TXT finished: 01.09.2022 12:16:15 > +Script examples/603_cupids_arrow.TXT performs: 2.235 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/604_GEOCodeReverse5.TXT +examples/604_GEOCodeReverse5.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (79:10): Variable 'Result' never used +[Hint] (79:10): Variable 'Result' never used +executed... +exec[Hint] (79:10): Variable 'Result' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:16 +Internet Version NOT checked! +Coordinates back test: +GEOMapX Coordinates Topics found: + + + +latitude: '38.02928545' longitude: '14.0161320373745' of place: church cefalu sicily + +test numb 0.999999999999999 + +Script examples/604_GEOCodeReverse5.TXT finished: 01.09.2022 12:16:19 > +Script examples/604_GEOCodeReverse5.TXT performs: 3.191 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/611_Arduino_COMOutputs.txt +examples/611_Arduino_COMOutputs.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 24 +compiled[Hint] (220:3): Variable 'AINIF' never used +[Hint] (220:3): Variable 'AINIF' never used +compiled[Hint] (33:5): Variable 'LABEL1' never used +[Hint] (33:5): Variable 'LABEL1' never used +compiled[Hint] (34:5): Variable 'LABEL3' never used +[Hint] (34:5): Variable 'LABEL3' never used +compiled[Hint] (35:5): Variable 'LABEL2' never used +[Hint] (35:5): Variable 'LABEL2' never used +compiled[Hint] (36:5): Variable 'LABEL4' never used +[Hint] (36:5): Variable 'LABEL4' never used +compiled[Hint] (37:5): Variable 'LABEL5' never used +[Hint] (37:5): Variable 'LABEL5' never used +compiled[Hint] (38:5): Variable 'LABEL6' never used +[Hint] (38:5): Variable 'LABEL6' never used +compiled[Hint] (39:5): Variable 'LABEL7' never used +[Hint] (39:5): Variable 'LABEL7' never used +compiled[Hint] (40:5): Variable 'LABEL8' never used +[Hint] (40:5): Variable 'LABEL8' never used +compiled[Hint] (41:5): Variable 'LABEL9' never used +[Hint] (41:5): Variable 'LABEL9' never used +compiled[Hint] (42:5): Variable 'LABEL10' never used +[Hint] (42:5): Variable 'LABEL10' never used +compiled[Hint] (43:5): Variable 'LABEL11' never used +[Hint] (43:5): Variable 'LABEL11' never used +compiled[Hint] (44:5): Variable 'LABEL12' never used +[Hint] (44:5): Variable 'LABEL12' never used +compiled[Hint] (45:5): Variable 'LABEL13' never used +[Hint] (45:5): Variable 'LABEL13' never used +compiled[Hint] (46:5): Variable 'LABEL14' never used +[Hint] (46:5): Variable 'LABEL14' never used +compiled[Hint] (47:5): Variable 'LABEL15' never used +[Hint] (47:5): Variable 'LABEL15' never used +compiled[Hint] (49:5): Variable 'LABEL16' never used +[Hint] (49:5): Variable 'LABEL16' never used +compiled[Hint] (50:5): Variable 'LABEL17' never used +[Hint] (50:5): Variable 'LABEL17' never used +compiled[Hint] (51:5): Variable 'LABEL18' never used +[Hint] (51:5): Variable 'LABEL18' never used +compiled[Hint] (52:5): Variable 'LABEL19' never used +[Hint] (52:5): Variable 'LABEL19' never used +compiled[Hint] (53:5): Variable 'LABEL20' never used +[Hint] (53:5): Variable 'LABEL20' never used +compiled[Hint] (54:5): Variable 'LABEL21' never used +[Hint] (54:5): Variable 'LABEL21' never used +compiled[Hint] (55:5): Variable 'LABEL22' never used +[Hint] (55:5): Variable 'LABEL22' never used +compiled[Hint] (56:5): Variable 'PANEL1' never used +[Hint] (56:5): Variable 'PANEL1' never used +executed... +exec[Hint] (220:3): Variable 'AINIF' never used +exec[Hint] (33:5): Variable 'LABEL1' never used +exec[Hint] (34:5): Variable 'LABEL3' never used +exec[Hint] (35:5): Variable 'LABEL2' never used +exec[Hint] (36:5): Variable 'LABEL4' never used +exec[Hint] (37:5): Variable 'LABEL5' never used +exec[Hint] (38:5): Variable 'LABEL6' never used +exec[Hint] (39:5): Variable 'LABEL7' never used +exec[Hint] (40:5): Variable 'LABEL8' never used +exec[Hint] (41:5): Variable 'LABEL9' never used +exec[Hint] (42:5): Variable 'LABEL10' never used +exec[Hint] (43:5): Variable 'LABEL11' never used +exec[Hint] (44:5): Variable 'LABEL12' never used +exec[Hint] (45:5): Variable 'LABEL13' never used +exec[Hint] (46:5): Variable 'LABEL14' never used +exec[Hint] (47:5): Variable 'LABEL15' never used +exec[Hint] (49:5): Variable 'LABEL16' never used +exec[Hint] (50:5): Variable 'LABEL17' never used +exec[Hint] (51:5): Variable 'LABEL18' never used +exec[Hint] (52:5): Variable 'LABEL19' never used +exec[Hint] (53:5): Variable 'LABEL20' never used +exec[Hint] (54:5): Variable 'LABEL21' never used +exec[Hint] (55:5): Variable 'LABEL22' never used +exec[Hint] (56:5): Variable 'PANEL1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:20 +Internet Version NOT checked! + +Exception: A component named comport2ini already exists. Fault : A component named comport2ini already exists. +Date/time : 01.09.2022 12:16:22 +Stack dump +---------- +0003A3DF +000B990F +0003A4C9 +00027C8B +00027DBC +00176D0C +0177D824 +0017ECE1 +0017E2B6 +0016EA96 +00005935 +0017E976 +017611BB +000B8AD7 +000B872F +00004CAC +000B8705 +0015CB95 +000C275D + at 24.730 +Script examples/611_Arduino_COMOutputs.txt finished: 01.09.2022 12:16:22 > +Script examples/611_Arduino_COMOutputs.txt performs: 2.318 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/615_regex_metrics_java2pascal.txt +examples/615_regex_metrics_java2pascal.txt +Version maXbox4 is: 4.7.6.10 +nit compiled +mXShell: [Hint] (59:5): Variable 'ASYN' never used +[Hint] (59:5): Variable 'ASYN' never used +mXShell: [Hint] (60:5): Variable 'DL' never used +[Hint] (60:5): Variable 'DL' never used +mXShell: [Hint] (56:10): Variable 'Result' never used +[Hint] (56:10): Variable 'Result' never used +mXShell: [Hint] (175:19): Variable 'STATUS' never used +[Hint] (175:19): Variable 'STATUS' never used +mXShell: [Hint] (287:3): Variable 'LRESPONSE' never used +[Hint] (287:3): Variable 'LRESPONSE' never used +mXShell: [Hint] (290:3): Variable 'FURL' never used +[Hint] (290:3): Variable 'FURL' never used +mXShell: [Hint] (291:3): Variable 'FENDPOINT' never used +[Hint] (291:3): Variable 'FENDPOINT' never used +mXShell: [Hint] (292:5): Variable 'FTHREADNO' never used +[Hint] (292:5): Variable 'FTHREADNO' never used +mXShell: [Hint] (368:5): Variable 'AHTTP' never used +[Hint] (368:5): Variable 'AHTTP' never used +mXShell: [Hint] (427:3): Variable 'ALC' never used +[Hint] (427:3): Variable 'ALC' never used +mXShell: [Hint] (513:3): Variable 'RTZI' never used +[Hint] (513:3): Variable 'RTZI' never used +mXShell: [Hint] (568:3): Variable 'TIMEZONEINFO' never used +[Hint] (568:3): Variable 'TIMEZONEINFO' never used +mXShell: [Hint] (573:3): Variable 'TZO' never used +[Hint] (573:3): Variable 'TZO' never used +mXShell: [Hint] (861:3): Variable 'GETWINDOWTHREADPROCESSID' never used +[Hint] (861:3): Variable 'GETWINDOWTHREADPROCESSID' never used +mXShell: [Hint] (859:10): Variable 'Result' never used +[Hint] (859:10): Variable 'Result' never used +mXShell: [Error] (1065:34): Invalid number of parameters +[Error] (1065:34): Invalid number of parameters +Script examples/615_regex_metrics_java2pascal.txt finished: 01.09.2022 12:16:25 > +Script examples/615_regex_metrics_java2pascal.txt performs: 2.034 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/615_regex_metrics_java_textmX4.txt +examples/615_regex_metrics_java_textmX4.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 33 +compiled[Hint] (59:5): Variable 'ASYN' never used +[Hint] (59:5): Variable 'ASYN' never used +compiled[Hint] (60:5): Variable 'DL' never used +[Hint] (60:5): Variable 'DL' never used +compiled[Hint] (56:10): Variable 'Result' never used +[Hint] (56:10): Variable 'Result' never used +compiled[Hint] (175:19): Variable 'STATUS' never used +[Hint] (175:19): Variable 'STATUS' never used +compiled[Hint] (277:3): Variable 'LRESPONSE' never used +[Hint] (277:3): Variable 'LRESPONSE' never used +compiled[Hint] (280:3): Variable 'FURL' never used +[Hint] (280:3): Variable 'FURL' never used +compiled[Hint] (281:3): Variable 'FENDPOINT' never used +[Hint] (281:3): Variable 'FENDPOINT' never used +compiled[Hint] (282:5): Variable 'FTHREADNO' never used +[Hint] (282:5): Variable 'FTHREADNO' never used +compiled[Hint] (363:5): Variable 'AHTTP' never used +[Hint] (363:5): Variable 'AHTTP' never used +compiled[Hint] (421:3): Variable 'ALC' never used +[Hint] (421:3): Variable 'ALC' never used +compiled[Hint] (507:3): Variable 'RTZI' never used +[Hint] (507:3): Variable 'RTZI' never used +compiled[Hint] (562:3): Variable 'TIMEZONEINFO' never used +[Hint] (562:3): Variable 'TIMEZONEINFO' never used +compiled[Hint] (567:3): Variable 'TZO' never used +[Hint] (567:3): Variable 'TZO' never used +compiled[Hint] (303:5): Variable 'FPROXYPARAMS' never used +[Hint] (303:5): Variable 'FPROXYPARAMS' never used +compiled[Hint] (305:5): Variable 'FPROTOCOLVERSION' never used +[Hint] (305:5): Variable 'FPROTOCOLVERSION' never used +compiled[Hint] (307:5): Variable 'FURL' never used +[Hint] (307:5): Variable 'FURL' never used +compiled[Hint] (308:5): Variable 'FUSERNAME' never used +[Hint] (308:5): Variable 'FUSERNAME' never used +compiled[Hint] (309:5): Variable 'FPASSWORD' never used +[Hint] (309:5): Variable 'FPASSWORD' never used +compiled[Hint] (310:5): Variable 'FCONNECTTIMEOUT' never used +[Hint] (310:5): Variable 'FCONNECTTIMEOUT' never used +compiled[Hint] (311:5): Variable 'FSENDTIMEOUT' never used +[Hint] (311:5): Variable 'FSENDTIMEOUT' never used +compiled[Hint] (312:5): Variable 'FRECEIVETIMEOUT' never used +[Hint] (312:5): Variable 'FRECEIVETIMEOUT' never used +compiled[Hint] (313:5): Variable 'FONUPLOADPROGRESS' never used +[Hint] (313:5): Variable 'FONUPLOADPROGRESS' never used +compiled[Hint] (314:5): Variable 'FONDOWNLOADPROGRESS' never used +[Hint] (314:5): Variable 'FONDOWNLOADPROGRESS' never used +compiled[Hint] (315:5): Variable 'FONREDIRECT' never used +[Hint] (315:5): Variable 'FONREDIRECT' never used +compiled[Hint] (316:5): Variable 'FUPLOADBUFFERSIZE' never used +[Hint] (316:5): Variable 'FUPLOADBUFFERSIZE' never used +compiled[Hint] (317:5): Variable 'EEXCTP' never used +[Hint] (317:5): Variable 'EEXCTP' never used +compiled[Hint] (1023:3): Variable 'MYSTR' never used +[Hint] (1023:3): Variable 'MYSTR' never used +compiled[Hint] (1024:3): Variable 'AF' never used +[Hint] (1024:3): Variable 'AF' never used +compiled[Hint] (1025:3): Variable 'AD' never used +[Hint] (1025:3): Variable 'AD' never used +compiled[Hint] (1026:3): Variable 'AE' never used +[Hint] (1026:3): Variable 'AE' never used +compiled[Hint] (1026:3): Variable 'FLOAT' never used +[Hint] (1026:3): Variable 'FLOAT' never used +compiled[Hint] (1028:3): Variable 'FS' never used +[Hint] (1028:3): Variable 'FS' never used +compiled[Hint] (1030:3): Variable 'PARSER' never used +[Hint] (1030:3): Variable 'PARSER' never used +executed... +exec[Hint] (59:5): Variable 'ASYN' never used +exec[Hint] (60:5): Variable 'DL' never used +exec[Hint] (56:10): Variable 'Result' never used +exec[Hint] (175:19): Variable 'STATUS' never used +exec[Hint] (277:3): Variable 'LRESPONSE' never used +exec[Hint] (280:3): Variable 'FURL' never used +exec[Hint] (281:3): Variable 'FENDPOINT' never used +exec[Hint] (282:5): Variable 'FTHREADNO' never used +exec[Hint] (363:5): Variable 'AHTTP' never used +exec[Hint] (421:3): Variable 'ALC' never used +exec[Hint] (507:3): Variable 'RTZI' never used +exec[Hint] (562:3): Variable 'TIMEZONEINFO' never used +exec[Hint] (567:3): Variable 'TZO' never used +exec[Hint] (303:5): Variable 'FPROXYPARAMS' never used +exec[Hint] (305:5): Variable 'FPROTOCOLVERSION' never used +exec[Hint] (307:5): Variable 'FURL' never used +exec[Hint] (308:5): Variable 'FUSERNAME' never used +exec[Hint] (309:5): Variable 'FPASSWORD' never used +exec[Hint] (310:5): Variable 'FCONNECTTIMEOUT' never used +exec[Hint] (311:5): Variable 'FSENDTIMEOUT' never used +exec[Hint] (312:5): Variable 'FRECEIVETIMEOUT' never used +exec[Hint] (313:5): Variable 'FONUPLOADPROGRESS' never used +exec[Hint] (314:5): Variable 'FONDOWNLOADPROGRESS' never used +exec[Hint] (315:5): Variable 'FONREDIRECT' never used +exec[Hint] (316:5): Variable 'FUPLOADBUFFERSIZE' never used +exec[Hint] (317:5): Variable 'EEXCTP' never used +exec[Hint] (1023:3): Variable 'MYSTR' never used +exec[Hint] (1024:3): Variable 'AF' never used +exec[Hint] (1025:3): Variable 'AD' never used +exec[Hint] (1026:3): Variable 'AE' never used +exec[Hint] (1026:3): Variable 'FLOAT' never used +exec[Hint] (1028:3): Variable 'FS' never used +exec[Hint] (1030:3): Variable 'PARSER' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:25 +Internet Version NOT checked! +watt man: 92.5925925925926 +code coverage proc domain module: 89.5522388059701 +JAVA PackageNameCheck: +TRUE +JAVA MemberNameCheck: +TRUE +TRUE +JAVA LocalFinalVarNameCheck: +TRUE +ip true do +date true do +3,345 +3.345 +3.345 +ThousandSeparator: Æ +3345 +2 2 +hh:mm:ss +dd/mm/yyyy +hh:mm:ss +3.345 +string Bias 0 +string Bias 0 +time zone bias: -120 +01.09.2022 14:16:30 +01.09.2022 10:16:30 +01.09.2022 10:16:30 + +01.09.2022 12:16:30 +time zone display: +time zone daylight: +time zone standard: +time zone bias: 0 +SYSTEM TIME ZONE INFORMATION +time zone: +0200 +time zone bias: -120 +time zone bias time: 00:00:00 + +Current Bias from local to UTC: -60 minutes +Current Standard Bias to UTC: 0 minutes +Current Dailight Bias to UTC: 0 minutes + (UTC = Local time + Bias) +Time zone name: gerServer? +2022 +9 +wyear set 2022 +wday 0 +d2 0 +Daylight savings starts: Februar 04 02:03 am +Exception: Invalid argument to date encode. +Daylight savings ends: Februar 04 02:03 am +Daylight savings bias: 0 minutes + +We are currently in the daylight savings time period +encodeString:
  • Preview to V4 maXbox4<\.a><\.li> +encodedecodeString:
  • Preview to V4 maXbox4
  • +encodeString: PGxpPiBQcmV2aWV3IHRvIFY0IDxhIGhyZWY9Imh0dHA6Ly93d3cuc29mdHdhcmVzY2h1bGUuY2gv +bWF4Ym94NC5odG0iPm1hWGJveDQ8L2E+PC9saT4= +encodeString: PGxpPiBQcmV2aWV3IHRvIFY0IDxhIGhyZWY9Imh0dHA6Ly93d3cuc29mdHdhcmVzY2h1bGUuY2gvbWF4Ym94NC5odG0iPm1hWGJveDQ8L2E+PC9saT4= +encodeDecodeString:
  • Preview to V4 maXbox4
  • +encodeDecodeString:
  • Preview to V4 maXbox4
  • +encodeDecodeString:
  • Preview to V4 maXbox4
  • +encodeDecodeString:
  • Preview to V4 maXbox4
  • +TRUE +TRUE +TRUE +???????? !"#$%&'()*+,-./0123456789:; +Script examples/615_regex_metrics_java_textmX4.txt finished: 01.09.2022 12:16:32 > +Script examples/615_regex_metrics_java_textmX4.txt performs: 6.416 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>REM maxbox4.exe -c examples/630_multikernel4.TXT + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/635_bitcount_bytecodestudy2.txt +examples/635_bitcount_bytecodestudy2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (15:5): Variable 'ATR' never used +[Hint] (15:5): Variable 'ATR' never used +executed... +exec[Hint] (15:5): Variable 'ATR' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:32 +Internet Version NOT checked! +countBits: 4 + +-----PS-BYTECODE (PSB) mX4-----12:16:34 +-----BYTECODE saved as: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\examples\558_hirestimer2test2.psb ----- +IFPS? +Script examples/635_bitcount_bytecodestudy2.txt finished: 01.09.2022 12:16:34 > +Script examples/635_bitcount_bytecodestudy2.txt performs: 1.963 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/640_API_LayerDetection_EKON23.TXT +examples/640_API_LayerDetection_EKON23.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 12 +compiled[Hint] (344:5): Variable 'IDX' never used +[Hint] (344:5): Variable 'IDX' never used +compiled[Hint] (359:5): Variable 'TMPS' never used +[Hint] (359:5): Variable 'TMPS' never used +compiled[Hint] (399:3): Variable 'S' never used +[Hint] (399:3): Variable 'S' never used +compiled[Hint] (413:6): Variable 'ROOTNODE' never used +[Hint] (413:6): Variable 'ROOTNODE' never used +compiled[Hint] (414:6): Variable 'MYC' never used +[Hint] (414:6): Variable 'MYC' never used +compiled[Hint] (417:12): Variable 'APANEL' never used +[Hint] (417:12): Variable 'APANEL' never used +compiled[Hint] (829:5): Variable 'HTTP1' never used +[Hint] (829:5): Variable 'HTTP1' never used +compiled[Hint] (49:3): Variable 'EXCEPT_STATE' never used +[Hint] (49:3): Variable 'EXCEPT_STATE' never used +compiled[Hint] (49:3): Variable 'EXECUTE_STATE' never used +[Hint] (49:3): Variable 'EXECUTE_STATE' never used +compiled[Hint] (54:3): Variable 'ANAMTR0' never used +[Hint] (54:3): Variable 'ANAMTR0' never used +compiled[Hint] (924:7): Variable 'MYUS' never used +[Hint] (924:7): Variable 'MYUS' never used +compiled[Hint] (928:7): Variable 'SHDIG' never used +[Hint] (928:7): Variable 'SHDIG' never used +executed... +exec[Hint] (344:5): Variable 'IDX' never used +exec[Hint] (359:5): Variable 'TMPS' never used +exec[Hint] (399:3): Variable 'S' never used +exec[Hint] (413:6): Variable 'ROOTNODE' never used +exec[Hint] (414:6): Variable 'MYC' never used +exec[Hint] (417:12): Variable 'APANEL' never used +exec[Hint] (829:5): Variable 'HTTP1' never used +exec[Hint] (49:3): Variable 'EXCEPT_STATE' never used +exec[Hint] (49:3): Variable 'EXECUTE_STATE' never used +exec[Hint] (54:3): Variable 'ANAMTR0' never used +exec[Hint] (924:7): Variable 'MYUS' never used +exec[Hint] (928:7): Variable 'SHDIG' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:35 +Internet Version NOT checked! +Thread ID :18972 +Process ID :16024 +machine name is: BREITSCH-BOX +user name is: breitsch +OS Type is: 15 +31.08.2022 16:01:52 for maXbox4 file + +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +temp live at: Mainz 22.33 +pressure live: 1019 +humidity live: 50 +clouds live: 10 +weather report of: Mainz +22 +1019 +multi thread +8 +112 +DriveDelim= : +UserSpaceAvail: 290429648 TotalSpaceAvail: 290429648 DiskSize: 498938876 +1 +Anwendung +C:\Users\breitsch\AppData\Local\Temp\ C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe33600280 +windir: C:\WINDOWS +sound on box fox +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +GEO_Weather_Report: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":18.62,"feels_like":18.31,"temp_min":14.35,"temp_max":20.67,"pressure":1018,"humidity":68},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":40},"dt":1662027210,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +temp live at: klagenfurt 18.62 +pressure live: 1018 +humidity live: 68 +Weather Temp at 18.62 in Klagenfurt and 68% humidity +this is mX4 weatherstation +init: 11 +21 +1211 +111221 +312211 +13112221 +1113213211 +31131211131221 +13211311123113112211 +11131221133112132113212221 +3113112221232112111312211312113211 + +Script examples/640_API_LayerDetection_EKON23.TXT finished: 01.09.2022 12:16:43 > +Script examples/640_API_LayerDetection_EKON23.TXT performs: 7.676 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/640_weather_cockpit6.TXT +examples/640_weather_cockpit6.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 14 +compiled[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +compiled[Hint] (437:5): Variable 'IDX' never used +[Hint] (437:5): Variable 'IDX' never used +compiled[Hint] (452:5): Variable 'TMPS' never used +[Hint] (452:5): Variable 'TMPS' never used +compiled[Hint] (493:3): Variable 'S' never used +[Hint] (493:3): Variable 'S' never used +compiled[Hint] (508:6): Variable 'ROOTNODE' never used +[Hint] (508:6): Variable 'ROOTNODE' never used +compiled[Hint] (509:6): Variable 'MYC' never used +[Hint] (509:6): Variable 'MYC' never used +compiled[Hint] (512:12): Variable 'APANEL' never used +[Hint] (512:12): Variable 'APANEL' never used +compiled[Hint] (929:5): Variable 'HTTP1' never used +[Hint] (929:5): Variable 'HTTP1' never used +compiled[Hint] (38:3): Variable 'EXCEPT_STATE' never used +[Hint] (38:3): Variable 'EXCEPT_STATE' never used +compiled[Hint] (38:3): Variable 'EXECUTE_STATE' never used +[Hint] (38:3): Variable 'EXECUTE_STATE' never used +compiled[Hint] (43:3): Variable 'ANAMTR0' never used +[Hint] (43:3): Variable 'ANAMTR0' never used +compiled[Hint] (980:9): Variable 'MYUS' never used +[Hint] (980:9): Variable 'MYUS' never used +compiled[Hint] (984:9): Variable 'SHDIG' never used +[Hint] (984:9): Variable 'SHDIG' never used +compiled[Hint] (985:9): Variable 'MYBIT' never used +[Hint] (985:9): Variable 'MYBIT' never used +executed... +exec[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +exec[Hint] (437:5): Variable 'IDX' never used +exec[Hint] (452:5): Variable 'TMPS' never used +exec[Hint] (493:3): Variable 'S' never used +exec[Hint] (508:6): Variable 'ROOTNODE' never used +exec[Hint] (509:6): Variable 'MYC' never used +exec[Hint] (512:12): Variable 'APANEL' never used +exec[Hint] (929:5): Variable 'HTTP1' never used +exec[Hint] (38:3): Variable 'EXCEPT_STATE' never used +exec[Hint] (38:3): Variable 'EXECUTE_STATE' never used +exec[Hint] (43:3): Variable 'ANAMTR0' never used +exec[Hint] (980:9): Variable 'MYUS' never used +exec[Hint] (984:9): Variable 'SHDIG' never used +exec[Hint] (985:9): Variable 'MYBIT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:44 +Internet Version NOT checked! +Thread ID :14284 +Process ID :13640 +machine name is: BREITSCH-BOX +user name is: breitsch +OS Type is: 15 +31.08.2022 16:01:52 for maXbox4 file + +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +temp live at: Mainz 22.33 +pressure live: 1019 +humidity live: 50 +clouds live: 10 +weather report of: Mainz +22 +1019 +multi thread +8 +112 +DriveDelim= : +UserSpaceAvail: 290429456 TotalSpaceAvail: 290429456 DiskSize: 498938876 +1 +Anwendung +C:\Users\breitsch\AppData\Local\Temp\ C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe33600280 +windir: C:\WINDOWS +sound on box fox +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +GEO_Weather_Report: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":18.62,"feels_like":18.31,"temp_min":14.35,"temp_max":20.67,"pressure":1018,"humidity":68},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":40},"dt":1662027210,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +temp live at: klagenfurt 18.62 +pressure live: 1018 +humidity live: 68 +Weather Temp at 18.62 in Klagenfurt and 68% humidity + +Script examples/640_weather_cockpit6.TXT finished: 01.09.2022 12:16:53 > +Script examples/640_weather_cockpit6.TXT performs: 9.098 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/640_weather_cockpit6_1.TXT +examples/640_weather_cockpit6_1.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 19 +compiled[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +compiled[Hint] (258:4): Variable 'IMAGE' never used +[Hint] (258:4): Variable 'IMAGE' never used +compiled[Hint] (258:4): Variable 'IMAGE1' never used +[Hint] (258:4): Variable 'IMAGE1' never used +compiled[Hint] (258:4): Variable 'IMAGE2' never used +[Hint] (258:4): Variable 'IMAGE2' never used +compiled[Hint] (258:4): Variable 'IMAGE3' never used +[Hint] (258:4): Variable 'IMAGE3' never used +compiled[Hint] (258:4): Variable 'MASK' never used +[Hint] (258:4): Variable 'MASK' never used +compiled[Hint] (512:5): Variable 'IDX' never used +[Hint] (512:5): Variable 'IDX' never used +compiled[Hint] (527:5): Variable 'TMPS' never used +[Hint] (527:5): Variable 'TMPS' never used +compiled[Hint] (569:3): Variable 'S' never used +[Hint] (569:3): Variable 'S' never used +compiled[Hint] (584:6): Variable 'ROOTNODE' never used +[Hint] (584:6): Variable 'ROOTNODE' never used +compiled[Hint] (585:6): Variable 'MYC' never used +[Hint] (585:6): Variable 'MYC' never used +compiled[Hint] (588:12): Variable 'APANEL' never used +[Hint] (588:12): Variable 'APANEL' never used +compiled[Hint] (1005:5): Variable 'HTTP1' never used +[Hint] (1005:5): Variable 'HTTP1' never used +compiled[Hint] (38:3): Variable 'EXCEPT_STATE' never used +[Hint] (38:3): Variable 'EXCEPT_STATE' never used +compiled[Hint] (38:3): Variable 'EXECUTE_STATE' never used +[Hint] (38:3): Variable 'EXECUTE_STATE' never used +compiled[Hint] (43:3): Variable 'ANAMTR0' never used +[Hint] (43:3): Variable 'ANAMTR0' never used +compiled[Hint] (1056:9): Variable 'MYUS' never used +[Hint] (1056:9): Variable 'MYUS' never used +compiled[Hint] (1060:9): Variable 'SHDIG' never used +[Hint] (1060:9): Variable 'SHDIG' never used +compiled[Hint] (1061:9): Variable 'MYBIT' never used +[Hint] (1061:9): Variable 'MYBIT' never used +executed... +exec[Hint] (88:3): Variable 'BTNSCREENSHOT' never used +exec[Hint] (258:4): Variable 'IMAGE' never used +exec[Hint] (258:4): Variable 'IMAGE1' never used +exec[Hint] (258:4): Variable 'IMAGE2' never used +exec[Hint] (258:4): Variable 'IMAGE3' never used +exec[Hint] (258:4): Variable 'MASK' never used +exec[Hint] (512:5): Variable 'IDX' never used +exec[Hint] (527:5): Variable 'TMPS' never used +exec[Hint] (569:3): Variable 'S' never used +exec[Hint] (584:6): Variable 'ROOTNODE' never used +exec[Hint] (585:6): Variable 'MYC' never used +exec[Hint] (588:12): Variable 'APANEL' never used +exec[Hint] (1005:5): Variable 'HTTP1' never used +exec[Hint] (38:3): Variable 'EXCEPT_STATE' never used +exec[Hint] (38:3): Variable 'EXECUTE_STATE' never used +exec[Hint] (43:3): Variable 'ANAMTR0' never used +exec[Hint] (1056:9): Variable 'MYUS' never used +exec[Hint] (1060:9): Variable 'SHDIG' never used +exec[Hint] (1061:9): Variable 'MYBIT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:16:57 +Internet Version NOT checked! +Thread ID :9436 +Process ID :15912 +machine name is: BREITSCH-BOX +user name is: breitsch +OS Type is: 15 +31.08.2022 16:01:52 for maXbox4 file + +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +temp live at: Mainz 22.33 +pressure live: 1019 +humidity live: 50 +clouds live: 10 +weather report of: Mainz +22 +1019 +multi thread +8 +112 +DriveDelim= : +UserSpaceAvail: 290428776 TotalSpaceAvail: 290428776 DiskSize: 498938876 +1 +Anwendung +C:\Users\breitsch\AppData\Local\Temp\ C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe33600280 +windir: C:\WINDOWS +sound on box fox +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +GEO_Weather_Report: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":18.62,"feels_like":18.31,"temp_min":14.35,"temp_max":20.67,"pressure":1018,"humidity":68},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":40},"dt":1662027210,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +temp live at: klagenfurt 18.62 +pressure live: 1018 +humidity live: 68 +Weather Temp at 18.62 in Klagenfurt and 68% humidity +thisis mx + +Script examples/640_weather_cockpit6_1.TXT finished: 01.09.2022 12:17:06 > +Script examples/640_weather_cockpit6_1.TXT performs: 9.249 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/640_weather_cockpit6_1_tester.TXT +examples/640_weather_cockpit6_1_tester.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 19 +compiled[Hint] (89:3): Variable 'BTNSCREENSHOT' never used +[Hint] (89:3): Variable 'BTNSCREENSHOT' never used +compiled[Hint] (259:4): Variable 'IMAGE' never used +[Hint] (259:4): Variable 'IMAGE' never used +compiled[Hint] (259:4): Variable 'IMAGE1' never used +[Hint] (259:4): Variable 'IMAGE1' never used +compiled[Hint] (259:4): Variable 'IMAGE2' never used +[Hint] (259:4): Variable 'IMAGE2' never used +compiled[Hint] (259:4): Variable 'IMAGE3' never used +[Hint] (259:4): Variable 'IMAGE3' never used +compiled[Hint] (259:4): Variable 'MASK' never used +[Hint] (259:4): Variable 'MASK' never used +compiled[Hint] (513:5): Variable 'IDX' never used +[Hint] (513:5): Variable 'IDX' never used +compiled[Hint] (528:5): Variable 'TMPS' never used +[Hint] (528:5): Variable 'TMPS' never used +compiled[Hint] (570:3): Variable 'S' never used +[Hint] (570:3): Variable 'S' never used +compiled[Hint] (585:6): Variable 'ROOTNODE' never used +[Hint] (585:6): Variable 'ROOTNODE' never used +compiled[Hint] (586:6): Variable 'MYC' never used +[Hint] (586:6): Variable 'MYC' never used +compiled[Hint] (589:12): Variable 'APANEL' never used +[Hint] (589:12): Variable 'APANEL' never used +compiled[Hint] (1006:5): Variable 'HTTP1' never used +[Hint] (1006:5): Variable 'HTTP1' never used +compiled[Hint] (39:3): Variable 'EXCEPT_STATE' never used +[Hint] (39:3): Variable 'EXCEPT_STATE' never used +compiled[Hint] (39:3): Variable 'EXECUTE_STATE' never used +[Hint] (39:3): Variable 'EXECUTE_STATE' never used +compiled[Hint] (44:3): Variable 'ANAMTR0' never used +[Hint] (44:3): Variable 'ANAMTR0' never used +compiled[Hint] (1057:9): Variable 'MYUS' never used +[Hint] (1057:9): Variable 'MYUS' never used +compiled[Hint] (1061:9): Variable 'SHDIG' never used +[Hint] (1061:9): Variable 'SHDIG' never used +compiled[Hint] (1062:9): Variable 'MYBIT' never used +[Hint] (1062:9): Variable 'MYBIT' never used +executed... +exec[Hint] (89:3): Variable 'BTNSCREENSHOT' never used +exec[Hint] (259:4): Variable 'IMAGE' never used +exec[Hint] (259:4): Variable 'IMAGE1' never used +exec[Hint] (259:4): Variable 'IMAGE2' never used +exec[Hint] (259:4): Variable 'IMAGE3' never used +exec[Hint] (259:4): Variable 'MASK' never used +exec[Hint] (513:5): Variable 'IDX' never used +exec[Hint] (528:5): Variable 'TMPS' never used +exec[Hint] (570:3): Variable 'S' never used +exec[Hint] (585:6): Variable 'ROOTNODE' never used +exec[Hint] (586:6): Variable 'MYC' never used +exec[Hint] (589:12): Variable 'APANEL' never used +exec[Hint] (1006:5): Variable 'HTTP1' never used +exec[Hint] (39:3): Variable 'EXCEPT_STATE' never used +exec[Hint] (39:3): Variable 'EXECUTE_STATE' never used +exec[Hint] (44:3): Variable 'ANAMTR0' never used +exec[Hint] (1057:9): Variable 'MYUS' never used +exec[Hint] (1061:9): Variable 'SHDIG' never used +exec[Hint] (1062:9): Variable 'MYBIT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:17:11 +Internet Version NOT checked! +Thread ID :232 +Process ID :14156 +machine name is: BREITSCH-BOX +user name is: breitsch +OS Type is: 15 +31.08.2022 16:01:52 for maXbox4 file + +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +temp live at: Mainz 22.33 +pressure live: 1019 +humidity live: 50 +clouds live: 10 +weather report of: Mainz +22 +1019 +multi thread +8 +112 +DriveDelim= : +UserSpaceAvail: 290428804 TotalSpaceAvail: 290428804 DiskSize: 498938876 +1 +Anwendung +C:\Users\breitsch\AppData\Local\Temp\ C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe33600280 +windir: C:\WINDOWS +sound on box fox +GEO_Weather_Report: {"coord":{"lon":8.2711,"lat":50},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"base":"stations","main":{"temp":22.33,"feels_like":21.92,"temp_min":21.1,"temp_max":24.23,"pressure":1019,"humidity":50},"visibility":10000,"wind":{"speed":4.12,"deg":90},"clouds":{"all":100},"dt":1662027398,"sys":{"type":2,"id":2039447,"country":"DE","sunrise":1662007309,"sunset":1662055957},"timezone":7200,"id":2874225,"name":"Mainz","cod":200} +GEO_Weather_Report: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":18.62,"feels_like":18.31,"temp_min":14.35,"temp_max":20.67,"pressure":1018,"humidity":68},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":40},"dt":1662027210,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +temp live at: klagenfurt 18.62 +pressure live: 1018 +humidity live: 68 +Weather Temp at 18.62 in Klagenfurt and 68% humidity +thisis mx + +Script examples/640_weather_cockpit6_1_tester.TXT finished: 01.09.2022 12:17:20 > +Script examples/640_weather_cockpit6_1_tester.TXT performs: 9.064 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/650_drawdice2016_3tester.txt +examples/650_drawdice2016_3tester.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 18 +compiled[Hint] (202:5): Variable 'SIZE' never used +[Hint] (202:5): Variable 'SIZE' never used +compiled[Hint] (202:5): Variable 'OFFSET' never used +[Hint] (202:5): Variable 'OFFSET' never used +compiled[Hint] (202:5): Variable 'RAND1' never used +[Hint] (202:5): Variable 'RAND1' never used +compiled[Hint] (202:5): Variable 'RAND2' never used +[Hint] (202:5): Variable 'RAND2' never used +compiled[Hint] (266:5): Variable 'N' never used +[Hint] (266:5): Variable 'N' never used +compiled[Hint] (267:2): Variable 'T1' never used +[Hint] (267:2): Variable 'T1' never used +compiled[Hint] (267:2): Variable 'T2' never used +[Hint] (267:2): Variable 'T2' never used +compiled[Hint] (268:2): Variable 'S' never used +[Hint] (268:2): Variable 'S' never used +compiled[Hint] (326:5): Variable 'N' never used +[Hint] (326:5): Variable 'N' never used +compiled[Hint] (327:2): Variable 'T1' never used +[Hint] (327:2): Variable 'T1' never used +compiled[Hint] (327:2): Variable 'T2' never used +[Hint] (327:2): Variable 'T2' never used +compiled[Hint] (328:2): Variable 'S' never used +[Hint] (328:2): Variable 'S' never used +compiled[Hint] (413:5): Variable 'RS' never used +[Hint] (413:5): Variable 'RS' never used +compiled[Hint] (533:7): Variable 'SEMAFOR' never used +[Hint] (533:7): Variable 'SEMAFOR' never used +compiled[Hint] (550:2): Variable 'SEMAFOR' never used +[Hint] (550:2): Variable 'SEMAFOR' never used +compiled[Hint] (551:2): Variable 'JVAPPINST' never used +[Hint] (551:2): Variable 'JVAPPINST' never used +compiled[Hint] (708:2): Variable 'CPPT' never used +[Hint] (708:2): Variable 'CPPT' never used +compiled[Hint] (710:2): Variable 'CPPP' never used +[Hint] (710:2): Variable 'CPPP' never used +executed... +exec[Hint] (202:5): Variable 'SIZE' never used +exec[Hint] (202:5): Variable 'OFFSET' never used +exec[Hint] (202:5): Variable 'RAND1' never used +exec[Hint] (202:5): Variable 'RAND2' never used +exec[Hint] (266:5): Variable 'N' never used +exec[Hint] (267:2): Variable 'T1' never used +exec[Hint] (267:2): Variable 'T2' never used +exec[Hint] (268:2): Variable 'S' never used +exec[Hint] (326:5): Variable 'N' never used +exec[Hint] (327:2): Variable 'T1' never used +exec[Hint] (327:2): Variable 'T2' never used +exec[Hint] (328:2): Variable 'S' never used +exec[Hint] (413:5): Variable 'RS' never used +exec[Hint] (533:7): Variable 'SEMAFOR' never used +exec[Hint] (550:2): Variable 'SEMAFOR' never used +exec[Hint] (551:2): Variable 'JVAPPINST' never used +exec[Hint] (708:2): Variable 'CPPT' never used +exec[Hint] (710:2): Variable 'CPPP' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:17:25 +Internet Version NOT checked! +FormActivate RANDOMIZE Set +FormActivate RANDOMIZE Set +16.6666666666667 +2.77777777777778 +30.5555555555556 +3 +0 +41 +143 +41 +0 +TRUE +BREITSCH-BOX +modified time: 30.12.1899 +-1 +1 simulation count: 1 +2 simulation count: 1 +3 simulation count: 2 +4 simulation count: 1 +5 simulation count: 2 +6 simulation count: 1 +7 simulation count: 3 +8 simulation count: 2 +9 simulation count: 1 +10 simulation count: 7 +11 simulation count: 2 +12 simulation count: 1 +13 simulation count: 5 +14 simulation count: 1 +15 simulation count: 2 +16 simulation count: 3 +17 simulation count: 4 +18 simulation count: 4 +19 simulation count: 1 +20 simulation count: 2 +21 simulation count: 5 +22 simulation count: 1 +23 simulation count: 1 +24 simulation count: 1 +25 simulation count: 1 +26 simulation count: 3 +27 simulation count: 2 +28 simulation count: 2 +29 simulation count: 1 +30 simulation count: 2 +31 simulation count: 5 +32 simulation count: 2 +33 simulation count: 2 +34 simulation count: 2 +35 simulation count: 2 +36 simulation count: 1 +37 simulation count: 1 +38 simulation count: 1 +39 simulation count: 12 +40 simulation count: 3 +41 simulation count: 4 +42 simulation count: 4 +43 simulation count: 1 +44 simulation count: 3 +45 simulation count: 1 +46 simulation count: 1 +47 simulation count: 1 +48 simulation count: 1 +49 simulation count: 4 +50 simulation count: 3 +51 simulation count: 4 +52 simulation count: 2 +53 simulation count: 1 +54 simulation count: 2 +55 simulation count: 3 +56 simulation count: 1 +57 simulation count: 2 +58 simulation count: 2 +59 simulation count: 1 +60 simulation count: 1 +61 simulation count: 4 +62 simulation count: 4 +63 simulation count: 8 +64 simulation count: 1 +65 simulation count: 2 +66 simulation count: 2 +67 simulation count: 3 +68 simulation count: 1 +69 simulation count: 3 +70 simulation count: 2 +71 simulation count: 2 +72 simulation count: 1 +73 simulation count: 1 +74 simulation count: 2 +75 simulation count: 1 +76 simulation count: 1 +77 simulation count: 1 +78 simulation count: 4 +79 simulation count: 5 +80 simulation count: 2 +81 simulation count: 2 +82 simulation count: 2 +83 simulation count: 2 +84 simulation count: 4 +85 simulation count: 2 +86 simulation count: 1 +87 simulation count: 1 +88 simulation count: 1 +89 simulation count: 1 +90 simulation count: 2 +91 simulation count: 1 +92 simulation count: 2 +93 simulation count: 3 +94 simulation count: 1 +95 simulation count: 3 +96 simulation count: 1 +97 simulation count: 1 +98 simulation count: 1 +99 simulation count: 1 +100 simulation count: 1 +101 simulation count: 1 +102 simulation count: 1 +103 simulation count: 1 +104 simulation count: 3 +105 simulation count: 1 +106 simulation count: 4 +107 simulation count: 1 +108 simulation count: 1 +109 simulation count: 3 +110 simulation count: 4 +111 simulation count: 4 +112 simulation count: 3 +113 simulation count: 5 +114 simulation count: 1 +115 simulation count: 2 +116 simulation count: 3 +117 simulation count: 2 +118 simulation count: 2 +119 simulation count: 3 +120 simulation count: 1 +121 simulation count: 1 +122 simulation count: 1 +123 simulation count: 1 +124 simulation count: 2 +125 simulation count: 2 +126 simulation count: 1 +127 simulation count: 1 +128 simulation count: 2 +129 simulation count: 1 +130 simulation count: 1 +131 simulation count: 3 +132 simulation count: 2 +133 simulation count: 1 +134 simulation count: 1 +135 simulation count: 6 +136 simulation count: 2 +137 simulation count: 1 +138 simulation count: 1 +139 simulation count: 2 +140 simulation count: 3 +141 simulation count: 3 +142 simulation count: 1 +143 simulation count: 2 +144 simulation count: 2 +145 simulation count: 1 +146 simulation count: 3 +147 simulation count: 1 +148 simulation count: 1 +149 simulation count: 1 +150 simulation count: 2 +wichtel 0.470219435736677 +0.334897976680384 +0.339916677089114 +0.343608915805817 +0.346439416114619 +test cylce time: +Time runs: 0:0:0.115 +HighResTimer1.GetTimeDifference: 38.622011443344 us + Freq: 1991.99878838156 MHz +found TMaxForm1 +50 +FALSE +isprefixed TRUE +isprefixed TRUE +46 +BREITSCH-BOX +Still 54 % RAM Memory free +modified time: 31.08.2022 14:01:50 +1252 +links: 1 +time: 03.11.2021 15:28:14 +time: 03.11.2021 13:28:14 +time: 03.11.2021 15:28:14 +õ÷³ + +Script examples/650_drawdice2016_3tester.txt finished: 01.09.2022 12:17:34 > +Script examples/650_drawdice2016_3tester.txt performs: 9.049 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/650_drawdice2016_3testerV4.txt +examples/650_drawdice2016_3testerV4.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 15 +compiled[Hint] (203:5): Variable 'SIZE' never used +[Hint] (203:5): Variable 'SIZE' never used +compiled[Hint] (203:5): Variable 'OFFSET' never used +[Hint] (203:5): Variable 'OFFSET' never used +compiled[Hint] (203:5): Variable 'RAND1' never used +[Hint] (203:5): Variable 'RAND1' never used +compiled[Hint] (203:5): Variable 'RAND2' never used +[Hint] (203:5): Variable 'RAND2' never used +compiled[Hint] (267:5): Variable 'N' never used +[Hint] (267:5): Variable 'N' never used +compiled[Hint] (268:2): Variable 'T1' never used +[Hint] (268:2): Variable 'T1' never used +compiled[Hint] (268:2): Variable 'T2' never used +[Hint] (268:2): Variable 'T2' never used +compiled[Hint] (269:2): Variable 'S' never used +[Hint] (269:2): Variable 'S' never used +compiled[Hint] (270:2): Variable 'AHOOK' never used +[Hint] (270:2): Variable 'AHOOK' never used +compiled[Hint] (362:5): Variable 'RS' never used +[Hint] (362:5): Variable 'RS' never used +compiled[Hint] (482:7): Variable 'SEMAFOR' never used +[Hint] (482:7): Variable 'SEMAFOR' never used +compiled[Hint] (499:2): Variable 'SEMAFOR' never used +[Hint] (499:2): Variable 'SEMAFOR' never used +compiled[Hint] (500:2): Variable 'JVAPPINST' never used +[Hint] (500:2): Variable 'JVAPPINST' never used +compiled[Hint] (574:3): Variable 'ABLOCK' never used +[Hint] (574:3): Variable 'ABLOCK' never used +compiled[Hint] (587:2): Variable 'CPPT' never used +[Hint] (587:2): Variable 'CPPT' never used +executed... +exec[Hint] (203:5): Variable 'SIZE' never used +exec[Hint] (203:5): Variable 'OFFSET' never used +exec[Hint] (203:5): Variable 'RAND1' never used +exec[Hint] (203:5): Variable 'RAND2' never used +exec[Hint] (267:5): Variable 'N' never used +exec[Hint] (268:2): Variable 'T1' never used +exec[Hint] (268:2): Variable 'T2' never used +exec[Hint] (269:2): Variable 'S' never used +exec[Hint] (270:2): Variable 'AHOOK' never used +exec[Hint] (362:5): Variable 'RS' never used +exec[Hint] (482:7): Variable 'SEMAFOR' never used +exec[Hint] (499:2): Variable 'SEMAFOR' never used +exec[Hint] (500:2): Variable 'JVAPPINST' never used +exec[Hint] (574:3): Variable 'ABLOCK' never used +exec[Hint] (587:2): Variable 'CPPT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:17:35 +Internet Version NOT checked! +FormActivate RANDOMIZE Set +FormActivate RANDOMIZE Set +16.6666666666667 +2.77777777777778 +30.5555555555556 +3 +0 +41 +143 +41 +0 +TRUE +BREITSCH-BOX +modified time: 31.08.2022 14:01:50 +1240 +links: 1 +time: 03.11.2021 15:28:14 +time: 03.11.2021 13:28:14 +time: 03.11.2021 15:28:14 +1 simulation count: 2 +2 simulation count: 1 +3 simulation count: 1 +4 simulation count: 3 +5 simulation count: 3 +6 simulation count: 4 +7 simulation count: 1 +8 simulation count: 1 +9 simulation count: 4 +10 simulation count: 1 +11 simulation count: 1 +12 simulation count: 3 +13 simulation count: 1 +14 simulation count: 3 +15 simulation count: 2 +16 simulation count: 5 +17 simulation count: 4 +18 simulation count: 4 +19 simulation count: 5 +20 simulation count: 1 +21 simulation count: 3 +22 simulation count: 2 +23 simulation count: 3 +24 simulation count: 1 +25 simulation count: 1 +26 simulation count: 2 +27 simulation count: 1 +28 simulation count: 1 +29 simulation count: 1 +30 simulation count: 3 +31 simulation count: 1 +32 simulation count: 3 +33 simulation count: 3 +34 simulation count: 1 +35 simulation count: 1 +36 simulation count: 1 +37 simulation count: 1 +38 simulation count: 4 +39 simulation count: 1 +40 simulation count: 3 +41 simulation count: 2 +42 simulation count: 3 +43 simulation count: 1 +44 simulation count: 6 +45 simulation count: 1 +46 simulation count: 1 +47 simulation count: 4 +48 simulation count: 2 +49 simulation count: 2 +50 simulation count: 4 +51 simulation count: 1 +52 simulation count: 1 +53 simulation count: 2 +54 simulation count: 1 +55 simulation count: 1 +56 simulation count: 2 +57 simulation count: 2 +58 simulation count: 1 +59 simulation count: 1 +60 simulation count: 3 +61 simulation count: 2 +62 simulation count: 3 +63 simulation count: 4 +64 simulation count: 1 +65 simulation count: 1 +66 simulation count: 5 +67 simulation count: 1 +68 simulation count: 1 +69 simulation count: 1 +70 simulation count: 1 +71 simulation count: 2 +72 simulation count: 2 +73 simulation count: 4 +74 simulation count: 3 +75 simulation count: 1 +76 simulation count: 1 +77 simulation count: 1 +78 simulation count: 1 +79 simulation count: 3 +80 simulation count: 1 +81 simulation count: 4 +82 simulation count: 2 +83 simulation count: 1 +84 simulation count: 3 +85 simulation count: 1 +86 simulation count: 1 +87 simulation count: 1 +88 simulation count: 2 +89 simulation count: 2 +90 simulation count: 2 +91 simulation count: 2 +92 simulation count: 1 +93 simulation count: 1 +94 simulation count: 2 +95 simulation count: 1 +96 simulation count: 2 +97 simulation count: 2 +98 simulation count: 1 +99 simulation count: 1 +100 simulation count: 1 +101 simulation count: 1 +102 simulation count: 1 +103 simulation count: 5 +104 simulation count: 1 +105 simulation count: 1 +106 simulation count: 1 +107 simulation count: 1 +108 simulation count: 1 +109 simulation count: 1 +110 simulation count: 1 +111 simulation count: 1 +112 simulation count: 1 +113 simulation count: 1 +114 simulation count: 1 +115 simulation count: 2 +116 simulation count: 3 +117 simulation count: 3 +118 simulation count: 6 +119 simulation count: 4 +120 simulation count: 3 +121 simulation count: 1 +122 simulation count: 1 +123 simulation count: 1 +124 simulation count: 2 +125 simulation count: 6 +126 simulation count: 2 +127 simulation count: 2 +128 simulation count: 2 +129 simulation count: 3 +130 simulation count: 1 +131 simulation count: 1 +132 simulation count: 1 +133 simulation count: 2 +134 simulation count: 2 +135 simulation count: 4 +136 simulation count: 1 +137 simulation count: 6 +138 simulation count: 2 +139 simulation count: 1 +140 simulation count: 1 +141 simulation count: 2 +142 simulation count: 3 +143 simulation count: 1 +144 simulation count: 1 +145 simulation count: 2 +146 simulation count: 1 +147 simulation count: 1 +148 simulation count: 1 +149 simulation count: 1 +150 simulation count: 1 +wichtel 0.508474576271186 +0.334897976680384 +0.339916677089114 +0.343608915805817 +0.346439416114619 +test cylce time: +Time runs: 0:0:0.113 +HighResTimer1.GetTimeDifference: 20.5033358001724 us + Freq: 1991.96854590152 MHz +found TMaxForm1 +50 +isprefixed TRUE +isprefixed TRUE +46 +BREITSCH-BOX +Deutsch (Deutschland) +Franz÷sisch (Schweiz) +-----> C:\Users\breitsch\AppData\Local\Microsoft\TeamsPresenceAddin\Uc.win32.tlb +TypeLib\{C0529B10-073A-4754-9BB0-72325D80D122}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\TeamsMeetingAddin\1.0.22209.4\x86\Microsoft.Teams.AddinLoader.dll +TypeLib\{C9F3F6BB-3172-4CD8-9EB7-37C9BE601C87}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\OneDrive\22.166.0807.0002\i386\FileSyncShell.dll +TypeLib\{F904F88C-E60D-4327-9FA2-865AD075B400}\1.0\0\win32 +-----> C:\Users\breitsch\AppData\Local\Microsoft\OneDrive\22.166.0807.0002\Microsoft.SharePoint.dll\2 +CCCCCCCCCCCCCCCCCCCCCCC +123.45 + +Script examples/650_drawdice2016_3testerV4.txt finished: 01.09.2022 12:17:40 > +Script examples/650_drawdice2016_3testerV4.txt performs: 4.191 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/650_http_server2tester.txt +examples/650_http_server2tester.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 32 +compiled[Hint] (123:5): Variable 'TMP' never used +[Hint] (123:5): Variable 'TMP' never used +compiled[Hint] (271:3): Variable 'UILOCK' never used +[Hint] (271:3): Variable 'UILOCK' never used +compiled[Hint] (346:3): Variable 'BUFFER' never used +[Hint] (346:3): Variable 'BUFFER' never used +compiled[Hint] (367:3): Variable 'BUFFER' never used +[Hint] (367:3): Variable 'BUFFER' never used +compiled[Hint] (363:10): Variable 'Result' never used +[Hint] (363:10): Variable 'Result' never used +compiled[Hint] (618:5): Variable 'ASYN' never used +[Hint] (618:5): Variable 'ASYN' never used +compiled[Hint] (619:5): Variable 'DL' never used +[Hint] (619:5): Variable 'DL' never used +compiled[Hint] (620:5): Variable 'COOKIESC' never used +[Hint] (620:5): Variable 'COOKIESC' never used +compiled[Hint] (615:10): Variable 'Result' never used +[Hint] (615:10): Variable 'Result' never used +compiled[Hint] (716:19): Variable 'STATUS' never used +[Hint] (716:19): Variable 'STATUS' never used +compiled[Hint] (812:3): Variable 'LRESPONSE' never used +[Hint] (812:3): Variable 'LRESPONSE' never used +compiled[Hint] (815:3): Variable 'FURL' never used +[Hint] (815:3): Variable 'FURL' never used +compiled[Hint] (816:3): Variable 'FENDPOINT' never used +[Hint] (816:3): Variable 'FENDPOINT' never used +compiled[Hint] (817:5): Variable 'FTHREADNO' never used +[Hint] (817:5): Variable 'FTHREADNO' never used +compiled[Hint] (889:3): Variable 'ALC' never used +[Hint] (889:3): Variable 'ALC' never used +compiled[Hint] (906:10): Variable 'Result' never used +[Hint] (906:10): Variable 'Result' never used +compiled[Hint] (942:3): Variable 'M' never used +[Hint] (942:3): Variable 'M' never used +compiled[Hint] (1021:3): Variable 'ATTX' never used +[Hint] (1021:3): Variable 'ATTX' never used +compiled[Hint] (332:6): Variable 'HTTPSERVER2' never used +[Hint] (332:6): Variable 'HTTPSERVER2' never used +compiled[Hint] (334:5): Variable 'LABEL1' never used +[Hint] (334:5): Variable 'LABEL1' never used +compiled[Hint] (336:5): Variable 'BTNGETFOLDER' never used +[Hint] (336:5): Variable 'BTNGETFOLDER' never used +compiled[Hint] (337:5): Variable 'LABEL2' never used +[Hint] (337:5): Variable 'LABEL2' never used +compiled[Hint] (340:5): Variable 'BEVEL1' never used +[Hint] (340:5): Variable 'BEVEL1' never used +compiled[Hint] (341:5): Variable 'BTNCLEARLOG' never used +[Hint] (341:5): Variable 'BTNCLEARLOG' never used +compiled[Hint] (1113:3): Variable 'MYFILE' never used +[Hint] (1113:3): Variable 'MYFILE' never used +compiled[Hint] (1114:3): Variable 'MYSTR' never used +[Hint] (1114:3): Variable 'MYSTR' never used +compiled[Hint] (1115:3): Variable 'AD' never used +[Hint] (1115:3): Variable 'AD' never used +compiled[Hint] (1116:3): Variable 'AE' never used +[Hint] (1116:3): Variable 'AE' never used +compiled[Hint] (1116:3): Variable 'FLOAT' never used +[Hint] (1116:3): Variable 'FLOAT' never used +compiled[Hint] (1117:3): Variable 'WFORMATOBR' never used +[Hint] (1117:3): Variable 'WFORMATOBR' never used +compiled[Hint] (1118:3): Variable 'FS' never used +[Hint] (1118:3): Variable 'FS' never used +compiled[Hint] (1123:3): Variable 'COMPUTERS' never used +[Hint] (1123:3): Variable 'COMPUTERS' never used +executed... +exec[Hint] (123:5): Variable 'TMP' never used +exec[Hint] (271:3): Variable 'UILOCK' never used +exec[Hint] (346:3): Variable 'BUFFER' never used +exec[Hint] (367:3): Variable 'BUFFER' never used +exec[Hint] (363:10): Variable 'Result' never used +exec[Hint] (618:5): Variable 'ASYN' never used +exec[Hint] (619:5): Variable 'DL' never used +exec[Hint] (620:5): Variable 'COOKIESC' never used +exec[Hint] (615:10): Variable 'Result' never used +exec[Hint] (716:19): Variable 'STATUS' never used +exec[Hint] (812:3): Variable 'LRESPONSE' never used +exec[Hint] (815:3): Variable 'FURL' never used +exec[Hint] (816:3): Variable 'FENDPOINT' never used +exec[Hint] (817:5): Variable 'FTHREADNO' never used +exec[Hint] (889:3): Variable 'ALC' never used +exec[Hint] (906:10): Variable 'Result' never used +exec[Hint] (942:3): Variable 'M' never used +exec[Hint] (1021:3): Variable 'ATTX' never used +exec[Hint] (332:6): Variable 'HTTPSERVER2' never used +exec[Hint] (334:5): Variable 'LABEL1' never used +exec[Hint] (336:5): Variable 'BTNGETFOLDER' never used +exec[Hint] (337:5): Variable 'LABEL2' never used +exec[Hint] (340:5): Variable 'BEVEL1' never used +exec[Hint] (341:5): Variable 'BTNCLEARLOG' never used +exec[Hint] (1113:3): Variable 'MYFILE' never used +exec[Hint] (1114:3): Variable 'MYSTR' never used +exec[Hint] (1115:3): Variable 'AD' never used +exec[Hint] (1116:3): Variable 'AE' never used +exec[Hint] (1116:3): Variable 'FLOAT' never used +exec[Hint] (1117:3): Variable 'WFORMATOBR' never used +exec[Hint] (1118:3): Variable 'FS' never used +exec[Hint] (1123:3): Variable 'COMPUTERS' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:17:40 +Internet Version NOT checked! +watt man: 92.5925925925926 +code coverage proc domain module: 89.5522388059701 +JAVA PackageNameCheck: +TRUE +JAVA MemberNameCheck: +TRUE +TRUE +JAVA LocalFinalVarNameCheck: +TRUE +ip true do +date true do +Listening for HTTP connections on 127.0.0.1:80. +UTC: 01.09.2022 10:17:42 +-60 +GMT: 01.09.2022 11:17:42 +AES Test: TRUE +DES Test: TRUE +isprefixed FALSE +isprefixed TRUE +456 +Still 54 % RAM Memory free +54 +. +: +; +- +The number with the standard decimal separator is: 15.678 +Enter a floating point number: +The number with the standard decimal separator is: 15.3456 +The number with the modified decimal separator is: +GetCurrentUserName: breitsch #0test +GetCurrentUserName: breitsch #0test +Getlast idle time: 3187 +GetTempDir +servicepac +version Unknown Operating System +version 4.7.6.10 +Der Vorgang wurde erfolgreich beendet +MachineName: BREITSCH-BOX +commandline: maxbox4.exe -c examples/650_http_server2tester.txt +current dir: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4 +NewLine ->r: + + +Script examples/650_http_server2tester.txt finished: 01.09.2022 12:17:54 > +Script examples/650_http_server2tester.txt performs: 13,524 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/654_spectrum_dice2016_3.txt +examples/654_spectrum_dice2016_3.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 6 +compiled[Hint] (230:5): Variable 'N' never used +[Hint] (230:5): Variable 'N' never used +compiled[Hint] (299:5): Variable 'RS' never used +[Hint] (299:5): Variable 'RS' never used +compiled[Hint] (437:2): Variable 'SEMAFOR' never used +[Hint] (437:2): Variable 'SEMAFOR' never used +compiled[Hint] (438:2): Variable 'JVAPPINST' never used +[Hint] (438:2): Variable 'JVAPPINST' never used +compiled[Hint] (487:2): Variable 'CPPT' never used +[Hint] (487:2): Variable 'CPPT' never used +compiled[Hint] (489:2): Variable 'CPPP' never used +[Hint] (489:2): Variable 'CPPP' never used +executed... +exec[Hint] (230:5): Variable 'N' never used +exec[Hint] (299:5): Variable 'RS' never used +exec[Hint] (437:2): Variable 'SEMAFOR' never used +exec[Hint] (438:2): Variable 'JVAPPINST' never used +exec[Hint] (487:2): Variable 'CPPT' never used +exec[Hint] (489:2): Variable 'CPPP' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:17:55 +Internet Version NOT checked! +FormActivate RANDOMIZE Set +FormActivate RANDOMIZE Set +16.6666666666667 +2.77777777777778 +30.5555555555556 +3 +0 +41 +143 +41 +0 +TRUE +BREITSCH-BOX +modified time: 30.12.1899 +-1 +0.334897976680384 +0.339916677089114 +0.343608915805817 +0.346439416114619 +test cylce time: +Time runs: 0:0:0.101 +HighResTimer1.GetTimeDifference: 6.29863470302009 us + Freq: 1992.018999607 MHz +found TMaxForm1 ! +50 +modified time: 31.08.2022 14:01:50 +fhandle 1208 +links: 1 +createtime: 03.11.2021 15:28:14 +createtime: 03.11.2021 13:28:14 +moditime: 31.08.2022 16:01:50 + +Script examples/654_spectrum_dice2016_3.txt finished: 01.09.2022 12:18:08 > +Script examples/654_spectrum_dice2016_3.txt performs: 13.359 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/655_arduino_chess.txt +examples/655_arduino_chess.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (137:10): Variable 'Result' never used +[Hint] (137:10): Variable 'Result' never used +executed... +exec[Hint] (137:10): Variable 'Result' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:18:10 +Internet Version NOT checked! +Thread ID :16332 +Process ID :15808 +machine name: BREITSCH-BOX +user name: breitsch memory use: Still 53 % RAM Memory free +HostExe modified Date: 31.08.2022 16:01:52 + +^CBatchvorgang abbrechen (J/N)? N + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/660_InetUtils_REST.TXT +examples/660_InetUtils_REST.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (30:13): Variable 'Result' never used +[Hint] (30:13): Variable 'Result' never used +executed... +exec[Hint] (30:13): Variable 'Result' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:18:55 +Internet Version NOT checked! +31.08.2022 14:01:50 +total size of func get: 0 4 +total size of func get: 0 8 +total size of func get: 0 12 +total size of func get: 0 16 +total size of func get: 0 20 +total size of func get: 0 24 +total size of func get: 0 28 +total size of func get: 0 32 +total size of func get: 0 36 +total size of func get: 0 40 +total size of func get: 0 44 +total size of func get: 0 48 +total size of func get: 0 52 +total size of func get: 0 56 +total size of func get: 0 60 +total size of func get: 0 64 +total size of func get: 0 68 +total size of func get: 0 72 +total size of func get: 0 76 +total size of func get: 0 80 +total size of func get: 0 84 +total size of func get: 0 88 +total size of func get: 0 92 +total size of func get: 0 96 +total size of func get: 0 100 +total size of func get: 0 104 +total size of func get: 0 108 +total size of func get: 0 112 +total size of func get: 0 116 +total size of func get: 0 120 +total size of func get: 0 124 +total size of func get: 0 128 +total size of func get: 0 132 +total size of func get: 0 136 +total size of func get: 0 140 +total size of func get: 0 144 +total size of func get: 0 148 +total size of func get: 0 152 +total size of func get: 0 156 +total size of func get: 0 160 +total size of func get: 0 164 +total size of func get: 0 168 +total size of func get: 0 172 +total size of func get: 0 176 +total size of func get: 0 180 +total size of func get: 0 184 +total size of func get: 0 188 +total size of func get: 0 192 +total size of func get: 0 196 +total size of func get: 0 200 +total size of func get: 0 204 +total size of func get: 0 208 +total size of func get: 0 212 +total size of func get: 0 216 +total size of func get: 0 220 +total size of func get: 0 224 +total size of func get: 0 228 +total size of func get: 0 232 +total size of func get: 0 236 +total size of func get: 0 240 +total size of func get: 0 244 +total size of func get: 0 248 +total size of func get: 0 252 +total size of func get: 0 256 +total size of func get: 0 260 +total size of func get: 0 264 +total size of func get: 0 268 +total size of func get: 0 272 +total size of func get: 0 276 +total size of func get: 0 280 +total size of func get: 0 284 +total size of func get: 0 288 +total size of func get: 0 292 +total size of func get: 0 296 +total size of func get: 0 300 +total size of func get: 0 304 +total size of func get: 0 308 +total size of func get: 0 312 +total size of func get: 0 316 +total size of func get: 0 320 +total size of func get: 0 324 +total size of func get: 0 328 +total size of func get: 0 332 +total size of func get: 0 336 +total size of func get: 0 340 +total size of func get: 0 344 +total size of func get: 0 348 +total size of func get: 0 352 +total size of func get: 0 356 +total size of func get: 0 360 +total size of func get: 0 364 +total size of func get: 0 368 +total size of func get: 0 372 +total size of func get: 0 376 +total size of func get: 0 380 +total size of func get: 0 384 +total size of func get: 0 388 +total size of func get: 0 392 +total size of func get: 0 396 +total size of func get: 0 400 +total size of func get: 0 404 +total size of func get: 0 408 +total size of func get: 0 412 +total size of func get: 0 416 +total size of func get: 0 420 +total size of func get: 0 424 +total size of func get: 0 428 +total size of func get: 0 432 +total size of func get: 0 436 +total size of func get: 0 440 +total size of func get: 0 444 +total size of func get: 0 448 +total size of func get: 0 452 +total size of func get: 0 456 +total size of func get: 0 460 +total size of func get: 0 464 +total size of func get: 0 468 +total size of func get: 0 472 +total size of func get: 0 476 +total size of func get: 0 480 +total size of func get: 0 484 +total size of func get: 0 488 +total size of func get: 0 492 +total size of func get: 0 496 +total size of func get: 0 500 +total size of func get: 0 504 +total size of func get: 0 508 +total size of func get: 0 512 +total size of func get: 0 516 +total size of func get: 0 520 +total size of func get: 0 524 +total size of func get: 0 528 +total size of func get: 0 532 +total size of func get: 0 536 +total size of func get: 0 540 +total size of func get: 0 544 +total size of func get: 0 548 +total size of func get: 0 552 +total size of func get: 0 556 +total size of func get: 0 560 +total size of func get: 0 564 +total size of func get: 0 568 +total size of func get: 0 572 +total size of func get: 0 576 +total size of func get: 0 580 +total size of func get: 0 584 +total size of func get: 0 588 +total size of func get: 0 592 +total size of func get: 0 596 +total size of func get: 0 600 +total size of func get: 0 604 +total size of func get: 0 608 +total size of func get: 0 612 +total size of func get: 0 616 +total size of func get: 0 620 +total size of func get: 0 624 +total size of func get: 0 628 +total size of func get: 0 632 +total size of func get: 0 636 +total size of func get: 0 640 +total size of func get: 0 644 +total size of func get: 0 648 +total size of func get: 0 652 +total size of func get: 0 656 +total size of func get: 0 660 +total size of func get: 0 664 +total size of func get: 0 668 +total size of func get: 0 672 +total size of func get: 0 676 +total size of func get: 0 680 +total size of func get: 0 684 +total size of func get: 0 688 +total size of func get: 0 692 +total size of func get: 0 696 +total size of func get: 0 700 +total size of func get: 0 704 +total size of func get: 0 708 +total size of func get: 0 712 +total size of func get: 0 716 +total size of func get: 0 720 +total size of func get: 0 724 +total size of func get: 0 728 +total size of func get: 0 732 +total size of func get: 0 736 +total size of func get: 0 740 +total size of func get: 0 744 +total size of func get: 0 748 +total size of func get: 0 752 +total size of func get: 0 756 +total size of func get: 0 760 +total size of func get: 0 764 +total size of func get: 0 768 +total size of func get: 0 772 +total size of func get: 0 776 +total size of func get: 0 780 +total size of func get: 0 784 +total size of func get: 0 788 +total size of func get: 0 792 +total size of func get: 0 796 +total size of func get: 0 800 +total size of func get: 0 804 +total size of func get: 0 808 +total size of func get: 0 812 +total size of func get: 0 816 +total size of func get: 0 820 +total size of func get: 0 824 +total size of func get: 0 828 +total size of func get: 0 832 +total size of func get: 0 836 +total size of func get: 0 840 +total size of func get: 0 844 +total size of func get: 0 848 +total size of func get: 0 852 +total size of func get: 0 856 +total size of func get: 0 860 +total size of func get: 0 864 +total size of func get: 0 868 +total size of func get: 0 872 +total size of func get: 0 876 +total size of func get: 0 880 +total size of func get: 0 884 +total size of func get: 0 888 +total size of func get: 0 892 +total size of func get: 0 896 +total size of func get: 0 900 +total size of func get: 0 904 +total size of func get: 0 908 +total size of func get: 0 912 +total size of func get: 0 916 +total size of func get: 0 920 +total size of func get: 0 924 +total size of func get: 0 928 +total size of func get: 0 932 +total size of func get: 0 936 +total size of func get: 0 940 +total size of func get: 0 944 +total size of func get: 0 948 +total size of func get: 0 952 +total size of func get: 0 956 +total size of func get: 0 960 +total size of func get: 0 964 +total size of func get: 0 968 +total size of func get: 0 972 +total size of func get: 0 976 +total size of func get: 0 980 +total size of func get: 0 984 +total size of func get: 0 988 +total size of func get: 0 992 +total size of func get: 0 996 +total size of func get: 0 1000 +total size of func get: 0 1004 +total size of func get: 0 1008 +total size of func get: 0 1012 +total size of func get: 0 1016 +total size of func get: 0 1020 +total size of func get: 0 1024 +total size of func get: 0 1028 +total size of func get: 0 1032 +total size of func get: 0 1036 +total size of func get: 0 1040 +total size of func get: 0 1044 +total size of func get: 0 1048 +total size of func get: 0 1052 +total size of func get: 0 1056 +total size of func get: 0 1060 +total size of func get: 0 1064 +total size of func get: 0 1068 +total size of func get: 0 1072 +total size of func get: 0 1076 +total size of func get: 0 1080 +total size of func get: 0 1084 +total size of func get: 0 1088 +total size of func get: 0 1092 +total size of func get: 0 1096 +total size of func get: 0 1100 +total size of func get: 0 1104 +total size of func get: 0 1108 +total size of func get: 0 1112 +total size of func get: 0 1116 +total size of func get: 0 1120 +total size of func get: 0 1124 +total size of func get: 0 1128 +total size of func get: 0 1132 +total size of func get: 0 1136 +total size of func get: 0 1140 +total size of func get: 0 1144 +total size of func get: 0 1148 +total size of func get: 0 1152 +total size of func get: 0 1156 +total size of func get: 0 1160 +total size of func get: 0 1164 +total size of func get: 0 1168 +total size of func get: 0 1172 +total size of func get: 0 1176 +total size of func get: 0 1180 +total size of func get: 0 1184 +total size of func get: 0 1188 +total size of func get: 0 1192 +total size of func get: 0 1196 +total size of func get: 0 1200 +total size of func get: 0 1204 +total size of func get: 0 1208 +total size of func get: 0 1212 +total size of func get: 0 1216 +total size of func get: 0 1220 +total size of func get: 0 1224 +total size of func get: 0 1228 +total size of func get: 0 1232 +total size of func get: 0 1236 +total size of func get: 0 1240 +total size of func get: 0 1244 +total size of func get: 0 1248 +total size of func get: 0 1252 +total size of func get: 0 1256 +total size of func get: 0 1260 +total size of func get: 0 1264 +total size of func get: 0 1268 +total size of func get: 0 1272 +total size of func get: 0 1276 +total size of func get: 0 1280 +total size of func get: 0 1284 +total size of func get: 0 1288 +total size of func get: 0 1292 +total size of func get: 0 1296 +total size of func get: 0 1300 +total size of func get: 0 1304 +total size of func get: 0 1308 +total size of func get: 0 1312 +total size of func get: 0 1316 +total size of func get: 0 1320 +total size of func get: 0 1324 +total size of func get: 0 1328 +total size of func get: 0 1332 +total size of func get: 0 1336 +total size of func get: 0 1340 +total size of func get: 0 1344 +total size of func get: 0 1348 +total size of func get: 0 1352 +total size of func get: 0 1356 +total size of func get: 0 1360 +total size of func get: 0 1364 +total size of func get: 0 1368 +total size of func get: 0 1372 +total size of func get: 0 1376 +total size of func get: 0 1380 +total size of func get: 0 1384 +total size of func get: 0 1388 +total size of func get: 0 1392 +total size of func get: 0 1396 +total size of func get: 0 1400 +total size of func get: 0 1404 +total size of func get: 0 1408 +total size of func get: 0 1412 +total size of func get: 0 1416 +total size of func get: 0 1420 +total size of func get: 0 1424 +total size of func get: 0 1428 +total size of func get: 0 1432 +total size of func get: 0 1436 +total size of func get: 0 1440 +total size of func get: 0 1444 +total size of func get: 0 1448 +total size of func get: 0 1452 +total size of func get: 0 1456 +total size of func get: 0 1460 +total size of func get: 0 1464 +total size of func get: 0 1468 +total size of func get: 0 1472 +total size of func get: 0 1476 +total size of func get: 0 1480 +total size of func get: 0 1484 +total size of func get: 0 1488 +total size of func get: 0 1492 +total size of func get: 0 1496 +total size of func get: 0 1500 +total size of func get: 0 1504 +total size of func get: 0 1508 +total size of func get: 0 1512 +total size of func get: 0 1516 +total size of func get: 0 1520 +total size of func get: 0 1524 +total size of func get: 0 1528 +total size of func get: 0 1532 +total size of func get: 0 1536 +total size of func get: 0 1540 +total size of func get: 0 1544 +total size of func get: 0 1548 +total size of func get: 0 1552 +total size of func get: 0 1556 +total size of func get: 0 1560 +total size of func get: 0 1564 +total size of func get: 0 1568 +total size of func get: 0 1572 +total size of func get: 0 1576 +total size of func get: 0 1580 +total size of func get: 0 1584 +total size of func get: 0 1588 +total size of func get: 0 1592 +total size of func get: 0 1596 +total size of func get: 0 1600 +total size of func get: 0 1604 +total size of func get: 0 1608 +total size of func get: 0 1612 +total size of func get: 0 1616 +total size of func get: 0 1620 +total size of func get: 0 1624 +total size of func get: 0 1628 +total size of func get: 0 1632 +total size of func get: 0 1636 +total size of func get: 0 1640 +total size of func get: 0 1644 +total size of func get: 0 1648 +total size of func get: 0 1652 +total size of func get: 0 1656 +total size of func get: 0 1660 +total size of func get: 0 1664 +total size of func get: 0 1668 +total size of func get: 0 1672 +total size of func get: 0 1676 +total size of func get: 0 1680 +total size of func get: 0 1684 +total size of func get: 0 1688 +total size of func get: 0 1692 +total size of func get: 0 1696 +total size of func get: 0 1700 +total size of func get: 0 1704 +total size of func get: 0 1708 +total size of func get: 0 1712 +total size of func get: 0 1716 +total size of func get: 0 1720 +total size of func get: 0 1724 +total size of func get: 0 1728 +total size of func get: 0 1732 +total size of func get: 0 1736 +total size of func get: 0 1740 +total size of func get: 0 1744 +total size of func get: 0 1748 +total size of func get: 0 1752 +total size of func get: 0 1756 +total size of func get: 0 1760 +total size of func get: 0 1764 +total size of func get: 0 1768 +total size of func get: 0 1772 +total size of func get: 0 1776 +total size of func get: 0 1780 +total size of func get: 0 1784 +total size of func get: 0 1788 +total size of func get: 0 1792 +total size of func get: 0 1796 +total size of func get: 0 1800 +total size of func get: 0 1804 +total size of func get: 0 1808 +total size of func get: 0 1812 +total size of func get: 0 1816 +total size of func get: 0 1820 +total size of func get: 0 1824 +total size of func get: 0 1828 +total size of func get: 0 1832 +total size of func get: 0 1836 +total size of func get: 0 1840 +total size of func get: 0 1844 +total size of func get: 0 1848 +total size of func get: 0 1852 +total size of func get: 0 1856 +total size of func get: 0 1860 +total size of func get: 0 1864 +total size of func get: 0 1868 +total size of func get: 0 1872 +total size of func get: 0 1876 +total size of func get: 0 1880 +total size of func get: 0 1884 +total size of func get: 0 1888 +total size of func get: 0 1892 +total size of func get: 0 1896 +total size of func get: 0 1900 +total size of func get: 0 1904 +total size of func get: 0 1908 +total size of func get: 0 1912 +total size of func get: 0 1916 +total size of func get: 0 1920 +total size of func get: 0 1924 +total size of func get: 0 1928 +total size of func get: 0 1932 +total size of func get: 0 1936 +total size of func get: 0 1940 +total size of func get: 0 1944 +total size of func get: 0 1948 +total size of func get: 0 1952 +total size of func get: 0 1956 +total size of func get: 0 1960 +total size of func get: 0 1964 +total size of func get: 0 1968 +total size of func get: 0 1972 +total size of func get: 0 1976 +total size of func get: 0 1980 +total size of func get: 0 1984 +total size of func get: 0 1988 +total size of func get: 0 1992 +total size of func get: 0 1996 +total size of func get: 0 2000 +total size of func get: 0 2004 +total size of func get: 0 2008 +total size of func get: 0 2012 +total size of func get: 0 2016 +total size of func get: 0 2020 +total size of func get: 0 2024 +total size of func get: 0 2028 +total size of func get: 0 2032 +total size of func get: 0 2036 +total size of func get: 0 2040 +total size of func get: 0 2044 +total size of func get: 0 2048 +total size of func get: 0 2052 +total size of func get: 0 2056 +total size of func get: 0 2060 +total size of func get: 0 2064 +total size of func get: 0 2068 +total size of func get: 0 2072 +total size of func get: 0 2076 +total size of func get: 0 2080 +total size of func get: 0 2084 +total size of func get: 0 2088 +total size of func get: 0 2092 +total size of func get: 0 2096 +total size of func get: 0 2100 +total size of func get: 0 2104 +total size of func get: 0 2108 +total size of func get: 0 2112 +total size of func get: 0 2116 +total size of func get: 0 2120 +total size of func get: 0 2124 +total size of func get: 0 2128 +total size of func get: 0 2132 +total size of func get: 0 2136 +total size of func get: 0 2140 +total size of func get: 0 2144 +total size of func get: 0 2148 +total size of func get: 0 2152 +total size of func get: 0 2156 +total size of func get: 0 2160 +total size of func get: 0 2164 +total size of func get: 0 2168 +total size of func get: 0 2172 +total size of func get: 0 2176 +total size of func get: 0 2180 +total size of func get: 0 2184 +total size of func get: 0 2188 +total size of func get: 0 2192 +total size of func get: 0 2196 +total size of func get: 0 2200 +total size of func get: 0 2204 +total size of func get: 0 2208 +total size of func get: 0 2212 +total size of func get: 0 2216 +total size of func get: 0 2220 +total size of func get: 0 2224 +total size of func get: 0 2228 +total size of func get: 0 2232 +total size of func get: 0 2236 +total size of func get: 0 2240 +total size of func get: 0 2244 +total size of func get: 0 2248 +total size of func get: 0 2252 +total size of func get: 0 2256 +total size of func get: 0 2260 +total size of func get: 0 2264 +total size of func get: 0 2268 +total size of func get: 0 2272 +total size of func get: 0 2276 +total size of func get: 0 2280 +total size of func get: 0 2284 +total size of func get: 0 2288 +total size of func get: 0 2292 +total size of func get: 0 2296 +total size of func get: 0 2300 +total size of func get: 0 2304 +total size of func get: 0 2308 +total size of func get: 0 2312 +total size of func get: 0 2316 +total size of func get: 0 2320 +total size of func get: 0 2324 +total size of func get: 0 2328 +total size of func get: 0 2332 +total size of func get: 0 2336 +total size of func get: 0 2340 +total size of func get: 0 2344 +total size of func get: 0 2348 +total size of func get: 0 2352 +total size of func get: 0 2356 +total size of func get: 0 2360 +total size of func get: 0 2364 +total size of func get: 0 2368 +total size of func get: 0 2372 +total size of func get: 0 2376 +total size of func get: 0 2380 +total size of func get: 0 2384 +total size of func get: 0 2388 +total size of func get: 0 2392 +total size of func get: 0 2396 +total size of func get: 0 2400 +total size of func get: 0 2404 +total size of func get: 0 2408 +total size of func get: 0 2412 +total size of func get: 0 2416 +total size of func get: 0 2420 +total size of func get: 0 2424 +total size of func get: 0 2428 +total size of func get: 0 2432 +total size of func get: 0 2436 +total size of func get: 0 2440 +total size of func get: 0 2444 +total size of func get: 0 2448 +total size of func get: 0 2452 +total size of func get: 0 2456 +total size of func get: 0 2460 +total size of func get: 0 2464 +total size of func get: 0 2468 +total size of func get: 0 2472 +total size of func get: 0 2476 +total size of func get: 0 2480 +total size of func get: 0 2484 +total size of func get: 0 2488 +total size of func get: 0 2492 +total size of func get: 0 2496 +total size of func get: 0 2500 +total size of func get: 0 2504 +total size of func get: 0 2508 +total size of func get: 0 2512 +total size of func get: 0 2516 +total size of func get: 0 2520 +total size of func get: 0 2524 +total size of func get: 0 2528 +total size of func get: 0 2532 +total size of func get: 0 2536 +total size of func get: 0 2540 +total size of func get: 0 2544 +total size of func get: 0 2548 +total size of func get: 0 2552 +total size of func get: 0 2556 +total size of func get: 0 2560 +total size of func get: 0 2564 +total size of func get: 0 2568 +total size of func get: 0 2572 +total size of func get: 0 2576 +total size of func get: 0 2580 +total size of func get: 0 2584 +total size of func get: 0 2588 +total size of func get: 0 2592 +total size of func get: 0 2596 +total size of func get: 0 2600 +total size of func get: 0 2604 +total size of func get: 0 2608 +total size of func get: 0 2612 +total size of func get: 0 2616 +total size of func get: 0 2620 +total size of func get: 0 2624 +total size of func get: 0 2628 +total size of func get: 0 2632 +total size of func get: 0 2636 +total size of func get: 0 2640 +total size of func get: 0 2644 +total size of func get: 0 2648 +total size of func get: 0 2652 +total size of func get: 0 2656 +total size of func get: 0 2660 +total size of func get: 0 2664 +total size of func get: 0 2668 +total size of func get: 0 2672 +total size of func get: 0 2676 +total size of func get: 0 2680 +total size of func get: 0 2684 +total size of func get: 0 2688 +total size of func get: 0 2692 +total size of func get: 0 2696 +total size of func get: 0 2700 +total size of func get: 0 2704 +total size of func get: 0 2708 +total size of func get: 0 2712 +total size of func get: 0 2716 +total size of func get: 0 2720 +total size of func get: 0 2724 +total size of func get: 0 2728 +total size of func get: 0 2732 +total size of func get: 0 2736 +total size of func get: 0 2740 +total size of func get: 0 2744 +total size of func get: 0 2748 +total size of func get: 0 2752 +total size of func get: 0 2756 +total size of func get: 0 2760 +total size of func get: 0 2764 +total size of func get: 0 2768 +total size of func get: 0 2772 +total size of func get: 0 2776 +total size of func get: 0 2780 +total size of func get: 0 2784 +total size of func get: 0 2788 +total size of func get: 0 2792 +total size of func get: 0 2796 +total size of func get: 0 2800 +total size of func get: 0 2804 +total size of func get: 0 2808 +total size of func get: 0 2812 +total size of func get: 0 2816 +total size of func get: 0 2820 +total size of func get: 0 2824 +total size of func get: 0 2828 +total size of func get: 0 2832 +total size of func get: 0 2836 +total size of func get: 0 2840 +total size of func get: 0 2844 +total size of func get: 0 2848 +total size of func get: 0 2852 +total size of func get: 0 2856 +total size of func get: 0 2860 +total size of func get: 0 2864 +total size of func get: 0 2868 +total size of func get: 0 2872 +total size of func get: 0 2876 +total size of func get: 0 2880 +total size of func get: 0 2884 +total size of func get: 0 2888 +total size of func get: 0 2892 +total size of func get: 0 2896 +total size of func get: 0 2900 +total size of func get: 0 2904 +total size of func get: 0 2908 +total size of func get: 0 2912 +total size of func get: 0 2916 +total size of func get: 0 2920 +total size of func get: 0 2924 +total size of func get: 0 2928 +total size of func get: 0 2932 +total size of func get: 0 2936 +total size of func get: 0 2940 +total size of func get: 0 2944 +total size of func get: 0 2948 +total size of func get: 0 2952 +total size of func get: 0 2956 +total size of func get: 0 2960 +total size of func get: 0 2964 +total size of func get: 0 2968 +total size of func get: 0 2972 +total size of func get: 0 2976 +total size of func get: 0 2980 +total size of func get: 0 2984 +total size of func get: 0 2988 +total size of func get: 0 2992 +total size of func get: 0 2996 +total size of func get: 0 3000 +total size of func get: 0 3004 +total size of func get: 0 3008 +total size of func get: 0 3012 +total size of func get: 0 3016 +total size of func get: 0 3020 +total size of func get: 0 3024 +total size of func get: 0 3028 +total size of func get: 0 3032 +total size of func get: 0 3036 +total size of func get: 0 3040 +total size of func get: 0 3044 +total size of func get: 0 3048 +total size of func get: 0 3052 +total size of func get: 0 3056 +total size of func get: 0 3060 +total size of func get: 0 3064 +total size of func get: 0 3068 +total size of func get: 0 3072 +total size of func get: 0 3076 +total size of func get: 0 3080 +total size of func get: 0 3084 +total size of func get: 0 3088 +total size of func get: 0 3092 +total size of func get: 0 3096 +total size of func get: 0 3100 +total size of func get: 0 3104 +total size of func get: 0 3108 +total size of func get: 0 3112 +total size of func get: 0 3116 +total size of func get: 0 3120 +total size of func get: 0 3124 +total size of func get: 0 3128 +total size of func get: 0 3132 +total size of func get: 0 3136 +total size of func get: 0 3140 +total size of func get: 0 3144 +total size of func get: 0 3148 +total size of func get: 0 3152 +total size of func get: 0 3156 +total size of func get: 0 3160 +total size of func get: 0 3164 +total size of func get: 0 3168 +total size of func get: 0 3172 +total size of func get: 0 3176 +total size of func get: 0 3180 +total size of func get: 0 3184 +total size of func get: 0 3188 +total size of func get: 0 3192 +total size of func get: 0 3196 +total size of func get: 0 3200 +total size of func get: 0 3204 +total size of func get: 0 3208 +total size of func get: 0 3212 +total size of func get: 0 3216 +total size of func get: 0 3220 +total size of func get: 0 3224 +total size of func get: 0 3228 +total size of func get: 0 3232 +total size of func get: 0 3236 +total size of func get: 0 3240 +total size of func get: 0 3244 +total size of func get: 0 3248 +total size of func get: 0 3252 +total size of func get: 0 3256 +total size of func get: 0 3260 +total size of func get: 0 3264 +total size of func get: 0 3268 +total size of func get: 0 3272 +total size of func get: 0 3276 +total size of func get: 0 3280 +total size of func get: 0 3284 +total size of func get: 0 3288 +total size of func get: 0 3292 +total size of func get: 0 3296 +total size of func get: 0 3300 +total size of func get: 0 3304 +total size of func get: 0 3308 +total size of func get: 0 3312 +total size of func get: 0 3316 +total size of func get: 0 3320 +total size of func get: 0 3324 +total size of func get: 0 3328 +total size of func get: 0 3332 +total size of func get: 0 3336 +total size of func get: 0 3340 +total size of func get: 0 3344 +total size of func get: 0 3348 +total size of func get: 0 3352 +total size of func get: 0 3356 +total size of func get: 0 3360 +total size of func get: 0 3364 +total size of func get: 0 3368 +total size of func get: 0 3372 +total size of func get: 0 3376 +total size of func get: 0 3380 +total size of func get: 0 3384 +total size of func get: 0 3388 +total size of func get: 0 3392 +total size of func get: 0 3396 +total size of func get: 0 3400 +total size of func get: 0 3404 +total size of func get: 0 3408 +total size of func get: 0 3412 +total size of func get: 0 3416 +total size of func get: 0 3420 +total size of func get: 0 3424 +total size of func get: 0 3428 +total size of func get: 0 3432 +total size of func get: 0 3436 +total size of func get: 0 3440 +total size of func get: 0 3444 +total size of func get: 0 3448 +total size of func get: 0 3452 +total size of func get: 0 3456 +total size of func get: 0 3460 +total size of func get: 0 3464 +total size of func get: 0 3468 +total size of func get: 0 3472 +total size of func get: 0 3476 +total size of func get: 0 3480 +total size of func get: 0 3484 +total size of func get: 0 3488 +total size of func get: 0 3492 +total size of func get: 0 3496 +total size of func get: 0 3500 +total size of func get: 0 3504 +total size of func get: 0 3508 +total size of func get: 0 3512 +total size of func get: 0 3516 +total size of func get: 0 3520 +total size of func get: 0 3524 +total size of func get: 0 3528 +total size of func get: 0 3532 +total size of func get: 0 3536 +total size of func get: 0 3540 +total size of func get: 0 3544 +total size of func get: 0 3548 +total size of func get: 0 3552 +total size of func get: 0 3556 +total size of func get: 0 3560 +total size of func get: 0 3564 +total size of func get: 0 3568 +total size of func get: 0 3572 +total size of func get: 0 3576 +total size of func get: 0 3580 +total size of func get: 0 3584 +total size of func get: 0 3588 +total size of func get: 0 3592 +total size of func get: 0 3596 +total size of func get: 0 3600 +total size of func get: 0 3604 +total size of func get: 0 3608 +total size of func get: 0 3612 +total size of func get: 0 3616 +total size of func get: 0 3620 +total size of func get: 0 3624 +total size of func get: 0 3628 +total size of func get: 0 3632 +total size of func get: 0 3636 +total size of func get: 0 3640 +total size of func get: 0 3644 +total size of func get: 0 3648 +total size of func get: 0 3652 +total size of func get: 0 3656 +total size of func get: 0 3660 +total size of func get: 0 3664 +total size of func get: 0 3668 +total size of func get: 0 3672 +total size of func get: 0 3676 +total size of func get: 0 3680 +total size of func get: 0 3684 +total size of func get: 0 3688 +total size of func get: 0 3692 +total size of func get: 0 3696 +total size of func get: 0 3700 +total size of func get: 0 3704 +total size of func get: 0 3708 +total size of func get: 0 3712 +total size of func get: 0 3716 +total size of func get: 0 3720 +total size of func get: 0 3724 +total size of func get: 0 3728 +total size of func get: 0 3732 +total size of func get: 0 3736 +total size of func get: 0 3740 +total size of func get: 0 3744 +total size of func get: 0 3748 +total size of func get: 0 3752 +total size of func get: 0 3756 +total size of func get: 0 3760 +total size of func get: 0 3764 +total size of func get: 0 3768 +total size of func get: 0 3772 +total size of func get: 0 3776 +total size of func get: 0 3780 +total size of func get: 0 3784 +total size of func get: 0 3788 +total size of func get: 0 3792 +total size of func get: 0 3796 +total size of func get: 0 3800 +total size of func get: 0 3804 +total size of func get: 0 3808 +total size of func get: 0 3812 +total size of func get: 0 3816 +total size of func get: 0 3820 +total size of func get: 0 3824 +total size of func get: 0 3828 +total size of func get: 0 3832 +total size of func get: 0 3836 +total size of func get: 0 3840 +total size of func get: 0 3844 +total size of func get: 0 3848 +total size of func get: 0 3852 +total size of func get: 0 3856 +total size of func get: 0 3860 +total size of func get: 0 3864 +total size of func get: 0 3868 +total size of func get: 0 3872 +total size of func get: 0 3876 +total size of func get: 0 3880 +total size of func get: 0 3884 +total size of func get: 0 3888 +total size of func get: 0 3892 +total size of func get: 0 3896 +total size of func get: 0 3900 +total size of func get: 0 3904 +total size of func get: 0 3908 +total size of func get: 0 3912 +total size of func get: 0 3916 +total size of func get: 0 3920 +total size of func get: 0 3924 +total size of func get: 0 3928 +total size of func get: 0 3932 +total size of func get: 0 3936 +total size of func get: 0 3940 +total size of func get: 0 3944 +total size of func get: 0 3948 +total size of func get: 0 3952 +total size of func get: 0 3956 +total size of func get: 0 3960 +total size of func get: 0 3964 +total size of func get: 0 3968 +total size of func get: 0 3972 +total size of func get: 0 3976 +total size of func get: 0 3980 +total size of func get: 0 3984 +total size of func get: 0 3988 +total size of func get: 0 3992 +total size of func get: 0 3996 +total size of func get: 0 4000 +total size of func get: 0 4004 +total size of func get: 0 4008 +total size of func get: 0 4012 +total size of func get: 0 4016 +total size of func get: 0 4020 +total size of func get: 0 4024 +total size of func get: 0 4028 +total size of func get: 0 4032 +total size of func get: 0 4036 +total size of func get: 0 4040 +total size of func get: 0 4044 +total size of func get: 0 4048 +total size of func get: 0 4052 +total size of func get: 0 4056 +total size of func get: 0 4060 +total size of func get: 0 4064 +total size of func get: 0 4068 +total size of func get: 0 4072 +total size of func get: 0 4076 +total size of func get: 0 4080 +total size of func get: 0 4084 +total size of func get: 0 4088 +total size of func get: 0 4092 +total size of func get: 0 4096 +total size of func get: 0 4100 +total size of func get: 0 4104 +total size of func get: 0 4108 +total size of func get: 0 4112 +total size of func get: 0 4116 +total size of func get: 0 4120 +total size of func get: 0 4124 +total size of func get: 0 4128 +total size of func get: 0 4132 +total size of func get: 0 4136 +total size of func get: 0 4140 +total size of func get: 0 4144 +total size of func get: 0 4148 +total size of func get: 0 4152 +total size of func get: 0 4156 +total size of func get: 0 4160 +total size of func get: 0 4164 +total size of func get: 0 4168 +total size of func get: 0 4172 +total size of func get: 0 4176 +total size of func get: 0 4180 +total size of func get: 0 4184 +total size of func get: 0 4188 +total size of func get: 0 4192 +total size of func get: 0 4196 +total size of func get: 0 4200 +total size of func get: 0 4204 +total size of func get: 0 4208 +total size of func get: 0 4212 +total size of func get: 0 4216 +total size of func get: 0 4220 +total size of func get: 0 4224 +total size of func get: 0 4228 +total size of func get: 0 4232 +total size of func get: 0 4236 +total size of func get: 0 4240 +total size of func get: 0 4244 +total size of func get: 0 4248 +total size of func get: 0 4252 +total size of func get: 0 4256 +total size of func get: 0 4260 +total size of func get: 0 4264 +total size of func get: 0 4268 +total size of func get: 0 4272 +total size of func get: 0 4276 +total size of func get: 0 4280 +total size of func get: 0 4284 +total size of func get: 0 4288 +total size of func get: 0 4292 +total size of func get: 0 4296 +total size of func get: 0 4300 +total size of func get: 0 4304 +total size of func get: 0 4308 +total size of func get: 0 4312 +total size of func get: 0 4316 +total size of func get: 0 4320 +total size of func get: 0 4324 +total size of func get: 0 4328 +total size of func get: 0 4332 +total size of func get: 0 4336 +total size of func get: 0 4340 +total size of func get: 0 4344 +total size of func get: 0 4348 +total size of func get: 0 4352 +total size of func get: 0 4356 +total size of func get: 0 4360 +total size of func get: 0 4364 +total size of func get: 0 4368 +total size of func get: 0 4372 +total size of func get: 0 4376 +total size of func get: 0 4380 +total size of func get: 0 4384 +total size of func get: 0 4388 +total size of func get: 0 4392 +total size of func get: 0 4396 +total size of func get: 0 4400 +total size of func get: 0 4404 +total size of func get: 0 4408 +total size of func get: 0 4412 +total size of func get: 0 4416 +total size of func get: 0 4420 +total size of func get: 0 4424 +total size of func get: 0 4428 +total size of func get: 0 4432 +total size of func get: 0 4436 +total size of func get: 0 4440 +total size of func get: 0 4444 +total size of func get: 0 4448 +total size of func get: 0 4452 +total size of func get: 0 4456 +total size of func get: 0 4460 +total size of func get: 0 4464 +total size of func get: 0 4468 +total size of func get: 0 4472 +total size of func get: 0 4476 +total size of func get: 0 4480 +total size of func get: 0 4484 +total size of func get: 0 4488 +total size of func get: 0 4492 +total size of func get: 0 4496 +total size of func get: 0 4500 +total size of func get: 0 4504 +total size of func get: 0 4508 +total size of func get: 0 4512 +total size of func get: 0 4516 +total size of func get: 0 4520 +total size of func get: 0 4524 +total size of func get: 0 4528 +total size of func get: 0 4532 +total size of func get: 0 4536 +total size of func get: 0 4540 +total size of func get: 0 4544 +total size of func get: 0 4548 +total size of func get: 0 4552 +total size of func get: 0 4556 +total size of func get: 0 4560 +total size of func get: 0 4564 +total size of func get: 0 4568 +total size of func get: 0 4572 +total size of func get: 0 4576 +total size of func get: 0 4580 +total size of func get: 0 4584 +total size of func get: 0 4588 +total size of func get: 0 4592 +total size of func get: 0 4596 +total size of func get: 0 4600 +total size of func get: 0 4604 +total size of func get: 0 4608 +total size of func get: 0 4612 +total size of func get: 0 4616 +total size of func get: 0 4620 +total size of func get: 0 4624 +total size of func get: 0 4628 +total size of func get: 0 4632 +total size of func get: 0 4636 +total size of func get: 0 4640 +total size of func get: 0 4644 +total size of func get: 0 4648 +total size of func get: 0 4652 +total size of func get: 0 4656 +total size of func get: 0 4660 +total size of func get: 0 4664 +total size of func get: 0 4668 +total size of func get: 0 4672 +total size of func get: 0 4676 +total size of func get: 0 4680 +total size of func get: 0 4684 +total size of func get: 0 4688 +total size of func get: 0 4692 +total size of func get: 0 4696 +total size of func get: 0 4700 +total size of func get: 0 4704 +total size of func get: 0 4708 +total size of func get: 0 4712 +total size of func get: 0 4716 +total size of func get: 0 4720 +total size of func get: 0 4724 +total size of func get: 0 4728 +total size of func get: 0 4732 +total size of func get: 0 4736 +total size of func get: 0 4740 +total size of func get: 0 4744 +total size of func get: 0 4748 +total size of func get: 0 4752 +total size of func get: 0 4756 +total size of func get: 0 4760 +total size of func get: 0 4764 +total size of func get: 0 4768 +total size of func get: 0 4772 +total size of func get: 0 4776 +total size of func get: 0 4780 +total size of func get: 0 4784 +total size of func get: 0 4788 +total size of func get: 0 4792 +total size of func get: 0 4796 +total size of func get: 0 4800 +total size of func get: 0 4804 +total size of func get: 0 4808 +total size of func get: 0 4812 +total size of func get: 0 4816 +total size of func get: 0 4820 +total size of func get: 0 4824 +total size of func get: 0 4828 +total size of func get: 0 4832 +total size of func get: 0 4836 +total size of func get: 0 4840 +total size of func get: 0 4844 +total size of func get: 0 4848 +total size of func get: 0 4852 +total size of func get: 0 4856 +total size of func get: 0 4860 +total size of func get: 0 4864 +total size of func get: 0 4868 +total size of func get: 0 4872 +total size of func get: 0 4876 +total size of func get: 0 4880 +total size of func get: 0 4884 +total size of func get: 0 4888 +total size of func get: 0 4892 +total size of func get: 0 4896 +total size of func get: 0 4900 +total size of func get: 0 4904 +total size of func get: 0 4908 +total size of func get: 0 4912 +total size of func get: 0 4916 +total size of func get: 0 4920 +total size of func get: 0 4924 +total size of func get: 0 4928 +total size of func get: 0 4932 +total size of func get: 0 4936 +total size of func get: 0 4940 +total size of func get: 0 4944 +total size of func get: 0 4948 +total size of func get: 0 4952 +total size of func get: 0 4956 +total size of func get: 0 4960 +total size of func get: 0 4964 +total size of func get: 0 4968 +total size of func get: 0 4972 +total size of func get: 0 4976 +total size of func get: 0 4980 +total size of func get: 0 4984 +total size of func get: 0 4988 +total size of func get: 0 4992 +total size of func get: 0 4996 +total size of func get: 0 5000 +total size of func get: 0 5004 +total size of func get: 0 5008 +total size of func get: 0 5012 +total size of func get: 0 5016 +total size of func get: 0 5020 +total size of func get: 0 5024 +total size of func get: 0 5028 +total size of func get: 0 5032 +total size of func get: 0 5036 +total size of func get: 0 5040 +total size of func get: 0 5044 +total size of func get: 0 5048 +total size of func get: 0 5052 +total size of func get: 0 5056 +total size of func get: 0 5060 +total size of func get: 0 5064 +total size of func get: 0 5068 +total size of func get: 0 5072 +total size of func get: 0 5076 +total size of func get: 0 5080 +total size of func get: 0 5084 +total size of func get: 0 5088 +total size of func get: 0 5092 +total size of func get: 0 5096 +total size of func get: 0 5100 +total size of func get: 0 5104 +total size of func get: 0 5108 +total size of func get: 0 5112 +total size of func get: 0 5116 +total size of func get: 0 5120 +total size of func get: 0 5124 +total size of func get: 0 5128 +total size of func get: 0 5132 +total size of func get: 0 5136 +total size of func get: 0 5140 +total size of func get: 0 5144 +total size of func get: 0 5148 +total size of func get: 0 5152 +total size of func get: 0 5156 +total size of func get: 0 5160 +total size of func get: 0 5164 +total size of func get: 0 5168 +total size of func get: 0 5172 +total size of func get: 0 5176 +total size of func get: 0 5180 +total size of func get: 0 5184 +total size of func get: 0 5188 +total size of func get: 0 5192 +total size of func get: 0 5196 +total size of func get: 0 5200 +total size of func get: 0 5204 +total size of func get: 0 5208 +total size of func get: 0 5212 +total size of func get: 0 5216 +total size of func get: 0 5220 +total size of func get: 0 5224 +total size of func get: 0 5228 +total size of func get: 0 5232 +total size of func get: 0 5236 +total size of func get: 0 5240 +total size of func get: 0 5244 +total size of func get: 0 5248 +total size of func get: 0 5252 +total size of func get: 0 5256 +total size of func get: 0 5260 +total size of func get: 0 5264 +total size of func get: 0 5268 +total size of func get: 0 5272 +total size of func get: 0 5276 +total size of func get: 0 5280 +total size of func get: 0 5284 +total size of func get: 0 5288 +total size of func get: 0 5292 +total size of func get: 0 5296 +total size of func get: 0 5300 +total size of func get: 0 5304 +total size of func get: 0 5308 +total size of func get: 0 5312 +total size of func get: 0 5316 +total size of func get: 0 5320 +total size of func get: 0 5324 +total size of func get: 0 5328 +total size of func get: 0 5332 +total size of func get: 0 5336 +total size of func get: 0 5340 +total size of func get: 0 5344 +total size of func get: 0 5348 +total size of func get: 0 5352 +total size of func get: 0 5356 +total size of func get: 0 5360 +total size of func get: 0 5364 +total size of func get: 0 5368 +total size of func get: 0 5372 +total size of func get: 0 5376 +total size of func get: 0 5380 +total size of func get: 0 5384 +total size of func get: 0 5388 +total size of func get: 0 5392 +total size of func get: 0 5396 +total size of func get: 0 5400 +total size of func get: 0 5404 +total size of func get: 0 5408 +total size of func get: 0 5412 +total size of func get: 0 5416 +total size of func get: 0 5420 +total size of func get: 0 5424 +total size of func get: 0 5428 +total size of func get: 0 5432 +total size of func get: 0 5436 +total size of func get: 0 5440 +total size of func get: 0 5444 +total size of func get: 0 5448 +total size of func get: 0 5452 +total size of func get: 0 5456 +total size of func get: 0 5460 +total size of func get: 0 5464 +total size of func get: 0 5468 +total size of func get: 0 5472 +total size of func get: 0 5476 +total size of func get: 0 5480 +total size of func get: 0 5484 +total size of func get: 0 5488 +total size of func get: 0 5492 +total size of func get: 0 5496 +total size of func get: 0 5500 +total size of func get: 0 5504 +total size of func get: 0 5508 +total size of func get: 0 5512 +total size of func get: 0 5516 +total size of func get: 0 5520 +total size of func get: 0 5524 +total size of func get: 0 5528 +total size of func get: 0 5532 +total size of func get: 0 5536 +total size of func get: 0 5540 +total size of func get: 0 5544 +total size of func get: 0 5548 +total size of func get: 0 5552 +total size of func get: 0 5556 +total size of func get: 0 5560 +total size of func get: 0 5564 +total size of func get: 0 5568 +total size of func get: 0 5572 +total size of func get: 0 5576 +total size of func get: 0 5580 +total size of func get: 0 5584 +total size of func get: 0 5588 +total size of func get: 0 5592 +total size of func get: 0 5596 +total size of func get: 0 5600 +total size of func get: 0 5604 +total size of func get: 0 5608 +total size of func get: 0 5612 +total size of func get: 0 5616 +total size of func get: 0 5620 +total size of func get: 0 5624 +total size of func get: 0 5628 +total size of func get: 0 5632 +total size of func get: 0 5636 +total size of func get: 0 5640 +total size of func get: 0 5644 +total size of func get: 0 5648 +total size of func get: 0 5652 +total size of func get: 0 5656 +total size of func get: 0 5660 +total size of func get: 0 5664 +total size of func get: 0 5668 +total size of func get: 0 5672 +total size of func get: 0 5676 +total size of func get: 0 5680 +total size of func get: 0 5684 +total size of func get: 0 5688 +total size of func get: 0 5692 +total size of func get: 0 5696 +total size of func get: 0 5700 +total size of func get: 0 5704 +total size of func get: 0 5708 +total size of func get: 0 5712 +total size of func get: 0 5716 +total size of func get: 0 5720 +total size of func get: 0 5724 +total size of func get: 0 5728 +total size of func get: 0 5732 +total size of func get: 0 5736 +total size of func get: 0 5740 +total size of func get: 0 5744 +total size of func get: 0 5748 +total size of func get: 0 5752 +total size of func get: 0 5756 +total size of func get: 0 5760 +total size of func get: 0 5764 +total size of func get: 0 5768 +total size of func get: 0 5772 +total size of func get: 0 5776 +total size of func get: 0 5780 +total size of func get: 0 5784 +total size of func get: 0 5788 +total size of func get: 0 5792 +total size of func get: 0 5796 +total size of func get: 0 5800 +total size of func get: 0 5804 +total size of func get: 0 5808 +total size of func get: 0 5812 +total size of func get: 0 5816 +total size of func get: 0 5820 +total size of func get: 0 5824 +total size of func get: 0 5828 +total size of func get: 0 5832 +total size of func get: 0 5836 +total size of func get: 0 5840 +total size of func get: 0 5844 +total size of func get: 0 5848 +total size of func get: 0 5852 +total size of func get: 0 5856 +total size of func get: 0 5860 +total size of func get: 0 5864 +total size of func get: 0 5868 +total size of func get: 0 5872 +total size of func get: 0 5876 +total size of func get: 0 5880 +total size of func get: 0 5884 +total size of func get: 0 5888 +total size of func get: 0 5892 +total size of func get: 0 5896 +total size of func get: 0 5900 +total size of func get: 0 5904 +total size of func get: 0 5908 +total size of func get: 0 5912 +total size of func get: 0 5916 +total size of func get: 0 5920 +total size of func get: 0 5924 +total size of func get: 0 5928 +total size of func get: 0 5932 +total size of func get: 0 5936 +total size of func get: 0 5940 +total size of func get: 0 5944 +total size of func get: 0 5948 +total size of func get: 0 5952 +total size of func get: 0 5956 +total size of func get: 0 5960 +total size of func get: 0 5964 +total size of func get: 0 5968 +total size of func get: 0 5972 +total size of func get: 0 5976 +total size of func get: 0 5980 +total size of func get: 0 5984 +total size of func get: 0 5988 +total size of func get: 0 5992 +total size of func get: 0 5996 +total size of func get: 0 6000 +total size of func get: 0 6004 +total size of func get: 0 6008 +total size of func get: 0 6012 +total size of func get: 0 6016 +total size of func get: 0 6020 +total size of func get: 0 6024 +total size of func get: 0 6028 +total size of func get: 0 6032 +total size of func get: 0 6036 +total size of func get: 0 6040 +total size of func get: 0 6044 +total size of func get: 0 6048 +total size of func get: 0 6052 +total size of func get: 0 6056 +total size of func get: 0 6060 +total size of func get: 0 6064 +total size of func get: 0 6068 +total size of func get: 0 6072 +total size of func get: 0 6076 +total size of func get: 0 6080 +total size of func get: 0 6084 +total size of func get: 0 6088 +total size of func get: 0 6092 +total size of func get: 0 6096 +total size of func get: 0 6100 +total size of func get: 0 6104 +total size of func get: 0 6108 +total size of func get: 0 6112 +total size of func get: 0 6116 +total size of func get: 0 6120 +total size of func get: 0 6124 +total size of func get: 0 6128 +total size of func get: 0 6132 +total size of func get: 0 6136 +total size of func get: 0 6140 +total size of func get: 0 6144 +total size of func get: 0 6148 +total size of func get: 0 6152 +total size of func get: 0 6156 +total size of func get: 0 6160 +total size of func get: 0 6164 +total size of func get: 0 6168 +total size of func get: 0 6172 +total size of func get: 0 6176 +total size of func get: 0 6180 +total size of func get: 0 6184 +total size of func get: 0 6188 +total size of func get: 0 6192 +total size of func get: 0 6196 +total size of func get: 0 6200 +total size of func get: 0 6204 +total size of func get: 0 6208 +total size of func get: 0 6212 +total size of func get: 0 6216 +total size of func get: 0 6220 +total size of func get: 0 6224 +total size of func get: 0 6228 +total size of func get: 0 6232 +total size of func get: 0 6236 +total size of func get: 0 6240 +total size of func get: 0 6244 +total size of func get: 0 6248 +total size of func get: 0 6252 +total size of func get: 0 6256 +total size of func get: 0 6260 +total size of func get: 0 6264 +total size of func get: 0 6268 +total size of func get: 0 6272 +total size of func get: 0 6276 +total size of func get: 0 6280 +total size of func get: 0 6284 +total size of func get: 0 6288 +total size of func get: 0 6292 +total size of func get: 0 6296 +total size of func get: 0 6300 +total size of func get: 0 6304 +total size of func get: 0 6308 +total size of func get: 0 6312 +total size of func get: 0 6316 +total size of func get: 0 6320 +total size of func get: 0 6324 +total size of func get: 0 6328 +total size of func get: 0 6332 +total size of func get: 0 6336 +total size of func get: 0 6340 +total size of func get: 0 6344 +total size of func get: 0 6348 +total size of func get: 0 6352 +total size of func get: 0 6356 +total size of func get: 0 6360 +total size of func get: 0 6364 +total size of func get: 0 6368 +total size of func get: 0 6372 +total size of func get: 0 6376 +total size of func get: 0 6380 +total size of func get: 0 6384 +total size of func get: 0 6388 +total size of func get: 0 6392 +total size of func get: 0 6396 +total size of func get: 0 6400 +total size of func get: 0 6404 +total size of func get: 0 6408 +total size of func get: 0 6412 +total size of func get: 0 6416 +total size of func get: 0 6420 +total size of func get: 0 6424 +total size of func get: 0 6428 +total size of func get: 0 6432 +total size of func get: 0 6436 +total size of func get: 0 6440 +total size of func get: 0 6444 +total size of func get: 0 6448 +total size of func get: 0 6452 +total size of func get: 0 6456 +total size of func get: 0 6460 +total size of func get: 0 6464 +total size of func get: 0 6468 +total size of func get: 0 6472 +total size of func get: 0 6476 +total size of func get: 0 6480 +total size of func get: 0 6484 +total size of func get: 0 6488 +total size of func get: 0 6492 +total size of func get: 0 6496 +total size of func get: 0 6500 +total size of func get: 0 6504 +total size of func get: 0 6508 +total size of func get: 0 6512 +total size of func get: 0 6516 +total size of func get: 0 6520 +total size of func get: 0 6524 +total size of func get: 0 6528 +total size of func get: 0 6532 +total size of func get: 0 6536 +total size of func get: 0 6540 +total size of func get: 0 6544 +total size of func get: 0 6548 +total size of func get: 0 6552 +total size of func get: 0 6556 +total size of func get: 0 6560 +total size of func get: 0 6564 +total size of func get: 0 6568 +total size of func get: 0 6572 +total size of func get: 0 6576 +total size of func get: 0 6580 +total size of func get: 0 6584 +total size of func get: 0 6588 +total size of func get: 0 6592 +total size of func get: 0 6596 +total size of func get: 0 6600 +total size of func get: 0 6604 +total size of func get: 0 6608 +total size of func get: 0 6612 +total size of func get: 0 6616 +total size of func get: 0 6620 +total size of func get: 0 6624 +total size of func get: 0 6628 +total size of func get: 0 6632 +total size of func get: 0 6636 +total size of func get: 0 6640 +total size of func get: 0 6644 +total size of func get: 0 6648 +total size of func get: 0 6652 +total size of func get: 0 6656 +total size of func get: 0 6660 +total size of func get: 0 6664 +total size of func get: 0 6668 +total size of func get: 0 6672 +total size of func get: 0 6676 +total size of func get: 0 6680 +total size of func get: 0 6684 +total size of func get: 0 6688 +total size of func get: 0 6692 +total size of func get: 0 6696 +total size of func get: 0 6700 +total size of func get: 0 6704 +total size of func get: 0 6708 +total size of func get: 0 6712 +total size of func get: 0 6716 +total size of func get: 0 6720 +total size of func get: 0 6724 +total size of func get: 0 6728 +total size of func get: 0 6732 +total size of func get: 0 6736 +total size of func get: 0 6740 +total size of func get: 0 6744 +total size of func get: 0 6748 +total size of func get: 0 6752 +total size of func get: 0 6756 +total size of func get: 0 6760 +total size of func get: 0 6764 +total size of func get: 0 6768 +total size of func get: 0 6772 +total size of func get: 0 6776 +total size of func get: 0 6780 +total size of func get: 0 6784 +total size of func get: 0 6788 +total size of func get: 0 6792 +total size of func get: 0 6796 +total size of func get: 0 6800 +total size of func get: 0 6804 +total size of func get: 0 6808 +total size of func get: 0 6812 +total size of func get: 0 6816 +total size of func get: 0 6820 +total size of func get: 0 6824 +total size of func get: 0 6828 +total size of func get: 0 6832 +total size of func get: 0 6836 +total size of func get: 0 6840 +total size of func get: 0 6844 +total size of func get: 0 6848 +total size of func get: 0 6852 +total size of func get: 0 6856 +total size of func get: 0 6860 +total size of func get: 0 6864 +total size of func get: 0 6868 +total size of func get: 0 6872 +total size of func get: 0 6876 +total size of func get: 0 6880 +total size of func get: 0 6884 +total size of func get: 0 6888 +total size of func get: 0 6892 +total size of func get: 0 6896 +total size of func get: 0 6900 +total size of func get: 0 6904 +total size of func get: 0 6908 +total size of func get: 0 6912 +total size of func get: 0 6916 +total size of func get: 0 6920 +total size of func get: 0 6924 +total size of func get: 0 6928 +total size of func get: 0 6932 +total size of func get: 0 6936 +total size of func get: 0 6940 +total size of func get: 0 6944 +total size of func get: 0 6948 +total size of func get: 0 6952 +total size of func get: 0 6956 +total size of func get: 0 6960 +total size of func get: 0 6964 +total size of func get: 0 6968 +total size of func get: 0 6972 +total size of func get: 0 6976 +total size of func get: 0 6980 +total size of func get: 0 6984 +total size of func get: 0 6988 +total size of func get: 0 6992 +total size of func get: 0 6996 +total size of func get: 0 7000 +total size of func get: 0 7004 +total size of func get: 0 7008 +total size of func get: 0 7012 +total size of func get: 0 7016 +total size of func get: 0 7020 +total size of func get: 0 7024 +total size of func get: 0 7028 +total size of func get: 0 7032 +total size of func get: 0 7036 +total size of func get: 0 7040 +total size of func get: 0 7044 +total size of func get: 0 7048 +total size of func get: 0 7052 +total size of func get: 0 7056 +total size of func get: 0 7060 +total size of func get: 0 7064 +total size of func get: 0 7068 +total size of func get: 0 7072 +total size of func get: 0 7076 +total size of func get: 0 7080 +total size of func get: 0 7084 +total size of func get: 0 7088 +total size of func get: 0 7092 +total size of func get: 0 7096 +total size of func get: 0 7100 +total size of func get: 0 7104 +total size of func get: 0 7108 +total size of func get: 0 7112 +total size of func get: 0 7116 +total size of func get: 0 7120 +total size of func get: 0 7124 +total size of func get: 0 7128 +total size of func get: 0 7132 +total size of func get: 0 7136 +total size of func get: 0 7140 +total size of func get: 0 7144 +total size of func get: 0 7148 +total size of func get: 0 7152 +total size of func get: 0 7156 +total size of func get: 0 7160 +total size of func get: 0 7164 +total size of func get: 0 7168 +total size of func get: 0 7172 +total size of func get: 0 7176 +total size of func get: 0 7180 +total size of func get: 0 7184 +total size of func get: 0 7188 +total size of func get: 0 7192 +total size of func get: 0 7196 +total size of func get: 0 7200 +total size of func get: 0 7204 +total size of func get: 0 7208 +total size of func get: 0 7212 +total size of func get: 0 7216 +total size of func get: 0 7220 +total size of func get: 0 7224 +total size of func get: 0 7228 +total size of func get: 0 7232 +total size of func get: 0 7236 +total size of func get: 0 7240 +total size of func get: 0 7244 +total size of func get: 0 7248 +total size of func get: 0 7252 +total size of func get: 0 7256 +total size of func get: 0 7260 +total size of func get: 0 7264 +total size of func get: 0 7268 +total size of func get: 0 7272 +total size of func get: 0 7276 +total size of func get: 0 7280 +total size of func get: 0 7284 +total size of func get: 0 7288 +total size of func get: 0 7292 +total size of func get: 0 7296 +total size of func get: 0 7300 +total size of func get: 0 7304 +total size of func get: 0 7308 +total size of func get: 0 7312 +total size of func get: 0 7316 +total size of func get: 0 7320 +total size of func get: 0 7324 +total size of func get: 0 7328 +total size of func get: 0 7332 +total size of func get: 0 7336 +total size of func get: 0 7340 +total size of func get: 0 7344 +total size of func get: 0 7348 +total size of func get: 0 7352 +total size of func get: 0 7356 +total size of func get: 0 7360 +total size of func get: 0 7364 +total size of func get: 0 7368 +total size of func get: 0 7372 +total size of func get: 0 7376 +total size of func get: 0 7380 +total size of func get: 0 7384 +total size of func get: 0 7388 +total size of func get: 0 7392 +total size of func get: 0 7396 +total size of func get: 0 7400 +total size of func get: 0 7404 +total size of func get: 0 7408 +total size of func get: 0 7412 +total size of func get: 0 7416 +total size of func get: 0 7420 +total size of func get: 0 7424 +total size of func get: 0 7428 +total size of func get: 0 7432 +total size of func get: 0 7436 +total size of func get: 0 7440 +total size of func get: 0 7444 +total size of func get: 0 7448 +total size of func get: 0 7452 +total size of func get: 0 7456 +total size of func get: 0 7460 +total size of func get: 0 7464 +total size of func get: 0 7468 +total size of func get: 0 7472 +total size of func get: 0 7476 +total size of func get: 0 7480 +total size of func get: 0 7484 +total size of func get: 0 7488 +total size of func get: 0 7492 +total size of func get: 0 7496 +total size of func get: 0 7500 +total size of func get: 0 7504 +total size of func get: 0 7508 +total size of func get: 0 7512 +total size of func get: 0 7516 +total size of func get: 0 7520 +total size of func get: 0 7524 +total size of func get: 0 7528 +total size of func get: 0 7532 +total size of func get: 0 7536 +total size of func get: 0 7540 +total size of func get: 0 7544 +total size of func get: 0 7548 +total size of func get: 0 7552 +total size of func get: 0 7556 +total size of func get: 0 7560 +total size of func get: 0 7564 +total size of func get: 0 7568 +total size of func get: 0 7572 +total size of func get: 0 7576 +total size of func get: 0 7580 +total size of func get: 0 7584 +total size of func get: 0 7588 +total size of func get: 0 7592 +total size of func get: 0 7596 +total size of func get: 0 7600 +total size of func get: 0 7604 +total size of func get: 0 7608 +total size of func get: 0 7612 +total size of func get: 0 7616 +total size of func get: 0 7620 +total size of func get: 0 7624 +total size of func get: 0 7628 +total size of func get: 0 7632 +total size of func get: 0 7636 +total size of func get: 0 7640 +total size of func get: 0 7644 +total size of func get: 0 7648 +total size of func get: 0 7652 +total size of func get: 0 7656 +total size of func get: 0 7660 +total size of func get: 0 7664 +total size of func get: 0 7668 +total size of func get: 0 7672 +total size of func get: 0 7676 +total size of func get: 0 7680 +total size of func get: 0 7684 +total size of func get: 0 7688 +total size of func get: 0 7692 +total size of func get: 0 7696 +total size of func get: 0 7700 +total size of func get: 0 7704 +total size of func get: 0 7708 +total size of func get: 0 7712 +total size of func get: 0 7716 +total size of func get: 0 7720 +total size of func get: 0 7724 +total size of func get: 0 7728 +total size of func get: 0 7732 +total size of func get: 0 7736 +total size of func get: 0 7740 +total size of func get: 0 7744 +total size of func get: 0 7748 +total size of func get: 0 7752 +total size of func get: 0 7756 +total size of func get: 0 7760 +total size of func get: 0 7764 +total size of func get: 0 7768 +total size of func get: 0 7772 +total size of func get: 0 7776 +total size of func get: 0 7780 +total size of func get: 0 7784 +total size of func get: 0 7788 +total size of func get: 0 7792 +total size of func get: 0 7796 +total size of func get: 0 7800 +total size of func get: 0 7804 +total size of func get: 0 7808 +total size of func get: 0 7812 +total size of func get: 0 7816 +total size of func get: 0 7820 +total size of func get: 0 7824 +total size of func get: 0 7828 +total size of func get: 0 7832 +total size of func get: 0 7836 +total size of func get: 0 7840 +total size of func get: 0 7844 +total size of func get: 0 7848 +total size of func get: 0 7852 +total size of func get: 0 7856 +total size of func get: 0 7860 +total size of func get: 0 7864 +total size of func get: 0 7868 +total size of func get: 0 7872 +total size of func get: 0 7876 +total size of func get: 0 7880 +total size of func get: 0 7884 +total size of func get: 0 7888 +total size of func get: 0 7892 +total size of func get: 0 7896 +total size of func get: 0 7900 +total size of func get: 0 7904 +total size of func get: 0 7908 +total size of func get: 0 7912 +total size of func get: 0 7916 +total size of func get: 0 7920 +total size of func get: 0 7924 +total size of func get: 0 7928 +total size of func get: 0 7932 +total size of func get: 0 7936 +total size of func get: 0 7940 +total size of func get: 0 7944 +total size of func get: 0 7948 +total size of func get: 0 7952 +total size of func get: 0 7956 +total size of func get: 0 7960 +total size of func get: 0 7964 +total size of func get: 0 7968 +total size of func get: 0 7972 +total size of func get: 0 7976 +total size of func get: 0 7980 +total size of func get: 0 7984 +total size of func get: 0 7988 +total size of func get: 0 7992 +total size of func get: 0 7996 +total size of func get: 0 8000 +total size of func get: 0 8004 +total size of func get: 0 8008 +total size of func get: 0 8012 +total size of func get: 0 8016 +total size of func get: 0 8020 +total size of func get: 0 8024 +total size of func get: 0 8028 +total size of func get: 0 8032 +total size of func get: 0 8036 +total size of func get: 0 8040 +total size of func get: 0 8044 +total size of func get: 0 8048 +total size of func get: 0 8052 +total size of func get: 0 8056 +total size of func get: 0 8060 +total size of func get: 0 8064 +total size of func get: 0 8068 +total size of func get: 0 8072 +total size of func get: 0 8076 +total size of func get: 0 8080 +total size of func get: 0 8084 +total size of func get: 0 8088 +total size of func get: 0 8092 +total size of func get: 0 8096 +total size of func get: 0 8100 +total size of func get: 0 8104 +total size of func get: 0 8108 +total size of func get: 0 8112 +total size of func get: 0 8116 +total size of func get: 0 8120 +total size of func get: 0 8124 +total size of func get: 0 8128 +total size of func get: 0 8132 +total size of func get: 0 8136 +total size of func get: 0 8140 +total size of func get: 0 8144 +total size of func get: 0 8148 +total size of func get: 0 8152 +total size of func get: 0 8156 +total size of func get: 0 8160 +total size of func get: 0 8164 +total size of func get: 0 8168 +total size of func get: 0 8172 +total size of func get: 0 8176 +total size of func get: 0 8180 +total size of func get: 0 8184 +total size of func get: 0 8188 +total size of func get: 0 8192 +total size of func get: 0 8196 +total size of func get: 0 8200 +total size of func get: 0 8204 +total size of func get: 0 8208 +total size of func get: 0 8212 +total size of func get: 0 8216 +total size of func get: 0 8220 +total size of func get: 0 8224 +total size of func get: 0 8228 +total size of func get: 0 8232 +total size of func get: 0 8236 +total size of func get: 0 8240 +total size of func get: 0 8244 +total size of func get: 0 8248 +total size of func get: 0 8252 +total size of func get: 0 8256 +total size of func get: 0 8260 +total size of func get: 0 8264 +total size of func get: 0 8268 +total size of func get: 0 8272 +total size of func get: 0 8276 +total size of func get: 0 8280 +total size of func get: 0 8284 +total size of func get: 0 8288 +total size of func get: 0 8292 +total size of func get: 0 8296 +total size of func get: 0 8300 +total size of func get: 0 8304 +total size of func get: 0 8308 +total size of func get: 0 8312 +total size of func get: 0 8316 +total size of func get: 0 8320 +total size of func get: 0 8324 +total size of func get: 0 8328 +total size of func get: 0 8332 +total size of func get: 0 8336 +total size of func get: 0 8340 +total size of func get: 0 8344 +total size of func get: 0 8348 +total size of func get: 0 8352 +total size of func get: 0 8356 +total size of func get: 0 8360 +total size of func get: 0 8364 +total size of func get: 0 8368 +total size of func get: 0 8372 +total size of func get: 0 8376 +total size of func get: 0 8380 +total size of func get: 0 8384 +total size of func get: 0 8388 +total size of func get: 0 8392 +total size of func get: 0 8396 +total size of func get: 0 8396 +TRUE +inetdownload of inetutils 4 with wininet +1.77245385090552 +-1 + +Script examples/660_InetUtils_REST.TXT finished: 01.09.2022 12:19:00 > +Script examples/660_InetUtils_REST.TXT performs: 4.565 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/669_uptime.txt +examples/669_uptime.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (39:3): Variable 'B2X' never used +[Hint] (39:3): Variable 'B2X' never used +compiled[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +executed... +exec[Hint] (39:3): Variable 'B2X' never used +exec[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:01 +Internet Version NOT checked! +2 +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 23 Minutes 42 Seconds +FF +FALSE +FALSE +TRUE + +Script examples/669_uptime.txt finished: 01.09.2022 12:19:03 > +Script examples/669_uptime.txt performs: 2.345 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/670_interestingX.txt +examples/670_interestingX.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 10 +compiled[Hint] (218:10): Variable 'EMSG' never used +[Hint] (218:10): Variable 'EMSG' never used +compiled[Hint] (387:5): Variable 'ACUSTDATA' never used +[Hint] (387:5): Variable 'ACUSTDATA' never used +compiled[Hint] (545:4): Variable 'AMOUSE' never used +[Hint] (545:4): Variable 'AMOUSE' never used +compiled[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (20:4): Variable 'UPSCODE' never used +[Hint] (20:4): Variable 'UPSCODE' never used +compiled[Hint] (21:4): Variable 'BARCODE11' never used +[Hint] (21:4): Variable 'BARCODE11' never used +compiled[Hint] (21:4): Variable 'BCODE22' never used +[Hint] (21:4): Variable 'BCODE22' never used +compiled[Hint] (22:4): Variable 'BCODE' never used +[Hint] (22:4): Variable 'BCODE' never used +compiled[Hint] (23:4): Variable 'MIDIP' never used +[Hint] (23:4): Variable 'MIDIP' never used +compiled[Hint] (24:6): Variable 'ADOQRY' never used +[Hint] (24:6): Variable 'ADOQRY' never used +executed... +exec[Hint] (218:10): Variable 'EMSG' never used +exec[Hint] (387:5): Variable 'ACUSTDATA' never used +exec[Hint] (545:4): Variable 'AMOUSE' never used +exec[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +exec[Hint] (20:4): Variable 'UPSCODE' never used +exec[Hint] (21:4): Variable 'BARCODE11' never used +exec[Hint] (21:4): Variable 'BCODE22' never used +exec[Hint] (22:4): Variable 'BCODE' never used +exec[Hint] (23:4): Variable 'MIDIP' never used +exec[Hint] (24:6): Variable 'ADOQRY' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:04 +Internet Version NOT checked! +2 +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 23 Minutes 46 Seconds +delphiVersion> +1.2E3 +1234.46 +1.23446E+0003 +1234.4600 +1Æ234.4600 +1Æ234.46 +0 +2 +3 +except: something is wrotten! +except: oh nooooo - missing +Exception: Div by Zero +10 records found: +1 0 Hardy (21) 555-3412 + +2 1 Anders (91) 745 6200 + +3 1 Devon 981-443655 + +4 1 Phillips (171) 555-7733 + +5 0 Petersen 0372-035188 + +6 5 Fuller maXbox (71) 555-4848 + +7 2 Box 031 333 77 88 + +12 2 Box4 031-333 77 88 + +14 2 Box54 031-333 77 88 + +15 2 Box546 031-333 77 88 + +fcount of tmpdatasource 4 +fcount of dbgrid 4 +rcount of dataset 10 + +1 MSDataShape +2 ADsDSOObject +3 Windows Search Data Source +4 MSDASQL +5 Microsoft.Jet.OLEDB.4.0 +6 MSDAOSP +7 MSDAORA +Data Link Dir is: C:\Program Files (x86)\Common Files\System\OLE DB\Data Links +Machinename is: BREITSCH-BOX +Username is: breitsch +BDE/DB Parameters: ****************************** +BDE Directory +Temp File PathC:\Users\breitsch\AppData\Local\Temp\ +************************************************* +acod: 109978898111120 +109978898111120 +this Exception: Invalid code length (must be 12 or 13). +Exception: File name cannot be blank +i=05 p=0.0271 +i=10 p=0.1169 +i=15 p=0.2529 +i=20 p=0.4114 +i=25 p=0.5687 +i=30 p=0.7063 +i=35 p=0.8144 +i=40 p=0.8912 +i=45 p=0.9410 +i=50 p=0.9704 + +NumericalIntegrateTrapez: T= 3.14159147761132 +00110000 00101111 +10000000 00000000 +11111111 11111111 + +Script examples/670_interestingX.txt finished: 01.09.2022 12:19:08 > +Script examples/670_interestingX.txt performs: 3.878 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/670_interesting_birthday_paradox.txt +examples/670_interesting_birthday_paradox.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 21 +compiled[Hint] (218:10): Variable 'I' never used +[Hint] (218:10): Variable 'I' never used +compiled[Hint] (216:15): Variable 'Result' never used +[Hint] (216:15): Variable 'Result' never used +compiled[Hint] (244:10): Variable 'I' never used +[Hint] (244:10): Variable 'I' never used +compiled[Hint] (242:15): Variable 'Result' never used +[Hint] (242:15): Variable 'Result' never used +compiled[Hint] (282:9): Variable 'N' never used +[Hint] (282:9): Variable 'N' never used +compiled[Hint] (280:15): Variable 'Result' never used +[Hint] (280:15): Variable 'Result' never used +compiled[Hint] (296:10): Variable 'EMSG' never used +[Hint] (296:10): Variable 'EMSG' never used +compiled[Hint] (463:5): Variable 'ACUSTDATA' never used +[Hint] (463:5): Variable 'ACUSTDATA' never used +compiled[Hint] (621:4): Variable 'AMOUSE' never used +[Hint] (621:4): Variable 'AMOUSE' never used +compiled[Warning] (922:27): Abstract Class Construction +[Warning] (922:27): Abstract Class Construction +compiled[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (20:4): Variable 'UPSCODE' never used +[Hint] (20:4): Variable 'UPSCODE' never used +compiled[Hint] (21:4): Variable 'BARCODE11' never used +[Hint] (21:4): Variable 'BARCODE11' never used +compiled[Hint] (21:4): Variable 'BCODE22' never used +[Hint] (21:4): Variable 'BCODE22' never used +compiled[Hint] (22:4): Variable 'BCODE' never used +[Hint] (22:4): Variable 'BCODE' never used +compiled[Hint] (23:4): Variable 'MIDIP' never used +[Hint] (23:4): Variable 'MIDIP' never used +compiled[Hint] (24:6): Variable 'ADOQRY' never used +[Hint] (24:6): Variable 'ADOQRY' never used +compiled[Hint] (802:6): Variable 'AMESS' never used +[Hint] (802:6): Variable 'AMESS' never used +compiled[Hint] (803:6): Variable 'APTS' never used +[Hint] (803:6): Variable 'APTS' never used +compiled[Hint] (804:6): Variable 'ASI' never used +[Hint] (804:6): Variable 'ASI' never used +compiled[Hint] (805:6): Variable 'APOP' never used +[Hint] (805:6): Variable 'APOP' never used +executed... +exec[Hint] (218:10): Variable 'I' never used +exec[Hint] (216:15): Variable 'Result' never used +exec[Hint] (244:10): Variable 'I' never used +exec[Hint] (242:15): Variable 'Result' never used +exec[Hint] (282:9): Variable 'N' never used +exec[Hint] (280:15): Variable 'Result' never used +exec[Hint] (296:10): Variable 'EMSG' never used +exec[Hint] (463:5): Variable 'ACUSTDATA' never used +exec[Hint] (621:4): Variable 'AMOUSE' never used +exec[Warning] (922:27): Abstract Class Construction +exec[Hint] (18:5): Variable 'APPLICATIONEVENTS1' never used +exec[Hint] (20:4): Variable 'UPSCODE' never used +exec[Hint] (21:4): Variable 'BARCODE11' never used +exec[Hint] (21:4): Variable 'BCODE22' never used +exec[Hint] (22:4): Variable 'BCODE' never used +exec[Hint] (23:4): Variable 'MIDIP' never used +exec[Hint] (24:6): Variable 'ADOQRY' never used +exec[Hint] (802:6): Variable 'AMESS' never used +exec[Hint] (803:6): Variable 'APTS' never used +exec[Hint] (804:6): Variable 'ASI' never used +exec[Hint] (805:6): Variable 'APOP' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:09 +Internet Version NOT checked! +2 +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 23 Minutes 51 Seconds +delphiVersion> +1.2E3 +1234.46 +1.23446E+0003 +1234.4600 +1Æ234.4600 +1Æ234.46 +0 +2 +3 +except: something is wrotten! +except: oh nooooo - missing +Exception: Div by Zero +1 MSDataShape +2 ADsDSOObject +3 Windows Search Data Source +4 MSDASQL +5 Microsoft.Jet.OLEDB.4.0 +6 MSDAOSP +7 MSDAORA +Data Link Dir is: C:\Program Files (x86)\Common Files\System\OLE DB\Data Links +Machinename is: BREITSCH-BOX +Username is: breitsch +BDE/DB Parameters: ****************************** +BDE Directory +Temp File PathC:\Users\breitsch\AppData\Local\Temp\ +************************************************* +Exception: File name cannot be blank +birthday: i=05 p=0.0271 +i=10 p=0.1169 +i=15 p=0.2529 +i=20 p=0.4114 +i=25 p=0.5687 +i=30 p=0.7063 +i=35 p=0.8144 +i=40 p=0.8912 +i=45 p=0.9410 +i=50 p=0.9704 + +diceparadox: i=01 p=0.0000 ft=1.0000 +i=02 p=0.1667 ft=0.8333 +i=03 p=0.4444 ft=0.5556 +i=04 p=0.7222 ft=0.2778 +i=05 p=0.9074 ft=0.0926 +i=06 p=0.9846 ft=0.0154 +i=07 p=1.0000 ft=0.0000 + +NumericalIntegrateTrapez: T= 3.14159147761132 +00110000 00101111 +10000000 00000000 +11111111 11111111 +result of birthday paradox simulation: + +n=23 w=0.5240 + +result of dice paradox simulation: + +n=3 w=0.4420 + +1! = 1 t=1E-6 j=3.17097919837646E-14 +2! = 2 t=2E-6 j=6.34195839675292E-14 +3! = 6 t=6E-6 j=1.90258751902588E-13 +4! = 24 t=2.4E-5 j=7.6103500761035E-13 +5! = 120 t=0.00012 j=3.80517503805175E-12 +6! = 720 t=0.00072 j=2.28310502283105E-11 +7! = 5040 t=0.00504 j=1.59817351598174E-10 +8! = 40320 t=0.04032 j=1.27853881278539E-9 +9! = 362880 t=0.36288 j=1.15068493150685E-8 +10! = 3628800 t=3.6288 j=1.15068493150685E-7 +11! = 39916800 t=39.9168 j=1.26575342465753E-6 +12! = 479001600 t=479.0016 j=1.51890410958904E-5 +13! = 6227020800 t=6227.0208 j=0.000197457534246575 +14! = 87178291200 t=87178.2912 j=0.00276440547945205 +15! = 1307674368000 t=1307674.368 j=0.0414660821917808 +16! = 20922789888000 t=20922789.888 j=0.663457315068493 +17! = 355687428096000 t=355687428.096 j=11.2787743561644 +18! = 6.402373705728E15 t=6402373705.728 j=203.017938410959 +19! = 1.21645100408832E17 t=121645100408.832 j=3857.34082980822 +20! = 2.43290200817664E18 t=2432902008176.64 j=77146.8165961644 +21! = 5.10909421717094E19 t=51090942171709.4 j=1620083.14851945 +22! = 1.12400072777761E21 t=1.12400072777761E15 j=35641829.2674279 +23! = 2.5852016738885E22 t=2.5852016738885E16 j=819762073.150843 +24! = 6.20448401733239E23 t=6.20448401733239E17 j=19674289755.6202 +25! = 1.5511210043331E25 t=1.5511210043331E19 j=491857243890.506 +26! = 4.03291461126606E26 t=4.03291461126606E20 j=12788288341153.1 +27! = 1.08888694504184E28 t=1.08888694504184E22 j=345283785211135 +28! = 3.04888344611714E29 t=3.04888344611714E23 j=9.66794598591178E15 +29! = 8.8417619937397E30 t=8.8417619937397E24 j=2.80370433591442E17 +30! = 2.65252859812191E32 t=2.65252859812191E26 j=8.41111300774325E18 + message const aTxt : string; at: 12:19:14 +63245986 +102334155 +63245986 +102334155 +55 +3.54224848179262E20 +3.54224848179262E20 +102334155 +63245986.0000001 +102334155 +63246012 +102334200 + +Script examples/670_interesting_birthday_paradox.txt finished: 01.09.2022 12:19:16 > +Script examples/670_interesting_birthday_paradox.txt performs: 6.936 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/671_replacedigit.txt +examples/671_replacedigit.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 4 +compiled[Hint] (160:3): Variable 'B2X' never used +[Hint] (160:3): Variable 'B2X' never used +compiled[Hint] (163:3): Variable 'SECATT' never used +[Hint] (163:3): Variable 'SECATT' never used +compiled[Hint] (164:3): Variable 'ATP' never used +[Hint] (164:3): Variable 'ATP' never used +compiled[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +executed... +exec[Hint] (160:3): Variable 'B2X' never used +exec[Hint] (163:3): Variable 'SECATT' never used +exec[Hint] (164:3): Variable 'ATP' never used +exec[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:16 +Internet Version NOT checked! +2 +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 23 Minutes 58 Seconds +FF +26 +BREITSCH-BOX +41356 +A18F +305420438 +qv`ats`ec +E +00 00 00 00 00 00 00 00 00 +00 00 00 00 +A +661408560927794670909833167124276990212353194561078966630610091508066518398462938708570165931453818774346806677937487622941296716409901122180791183381615199180133649323135568584492485536333258769584469786383591661922104266566863913614070698138881545530808522346156055053115762262612679476256481322688203567171111038254916285768948868390683387427561794062346854491689633073215348773710363218016157511181863057926134577070731221701301152592821760868454925199903505386017787199554004695300736714548162986647886019771379144075642172619449355885906311490931562018599832173006150698910081357711177369686310362939324425024584999311539904643730800189147272918915911770251276375152459026027462464002063813902395684537655374791000270699823191370607631655257869634515506590089013974314269381678319888713892407305906053693865079154285101747723299382026182512365914527438847783156831674629869733219475045947728356608604070725171727115599864469722301348700056888092787342824689113236014679770929700834913475709726807511726110607658874785711823552896770088837953463376048502815279955957922924689302538415337162205637471098765281762231617571867644711936978426265600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +1284 +Script examples/671_replacedigit.txt finished: 01.09.2022 12:19:19 > +Script examples/671_replacedigit.txt performs: 2.056 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/672_regex_ask_task.txt +examples/672_regex_ask_task.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +executed... +exec[Hint] (14:5): Variable 'APPLICATIONEVENTS1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:19 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght size: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 23 Minutes 58 Seconds +FF +12345678900 +12345678900 + +Script examples/672_regex_ask_task.txt finished: 01.09.2022 12:19:21 > +Script examples/672_regex_ask_task.txt performs: 2.066 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/673_pipe_singapure.txt +examples/673_pipe_singapure.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (23:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (23:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (27:4): Variable 'NAMEDPIPECLIENT' never used +[Hint] (27:4): Variable 'NAMEDPIPECLIENT' never used +executed... +exec[Hint] (23:5): Variable 'APPLICATIONEVENTS1' never used +exec[Hint] (27:4): Variable 'NAMEDPIPECLIENT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:22 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght size: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 24 Minutes 0 Seconds +FF +Terminate; +12345678900 +12345678900 +NamedPipehandle 0 +pipe handle 0 +FALSE + +Script examples/673_pipe_singapure.txt finished: 01.09.2022 12:19:29 > +Script examples/673_pipe_singapure.txt performs: 7.188 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/674_pipe_graphics.txt +examples/674_pipe_graphics.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (17:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (17:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (20:4): Variable 'NAMEDPIPECLASS' never used +[Hint] (20:4): Variable 'NAMEDPIPECLASS' never used +executed... +exec[Hint] (17:5): Variable 'APPLICATIONEVENTS1' never used +exec[Hint] (20:4): Variable 'NAMEDPIPECLASS' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:30 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.301029995663981195 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght size: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 24 Minutes 8 Seconds +FF +12345678900 +12345678900 + +Script examples/674_pipe_graphics.txt finished: 01.09.2022 12:19:59 > +Script examples/674_pipe_graphics.txt performs: 28.796 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/675_bitcoin_doublehash.txt +examples/675_bitcoin_doublehash.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (63:3): Variable 'HASH' never used +[Hint] (63:3): Variable 'HASH' never used +compiled[Hint] (20:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (20:5): Variable 'APPLICATIONEVENTS1' never used +executed... +exec[Hint] (63:3): Variable 'HASH' never used +exec[Hint] (20:5): Variable 'APPLICATIONEVENTS1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:19:59 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght size: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 24 Minutes 38 Seconds +FF +12345678900 +12345678900 +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +SHA-256 of file 'C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maxbox4.exe' rendered l-endian base64 is: +Hash = $EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +$EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +SHA-256 of ansistring 'hello' rendered l-endian base64 is: +Hash = $2CF24DBA 5FB0A30E 26E83B2A C5B9E29E 1B161E5C 1FA7425E 73043362 938B9824 +$2CF24DBA 5FB0A30E 26E83B2A C5B9E29E 1B161E5C 1FA7425E 73043362 938B9824 +2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 +,=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$ +,=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$ +hexto: test +2CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824 +length: 32 +SHA-256 of ansistring ',=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$' rendered l-endian base64 is: +Hash = $9595C9DF 90075148 EB068603 65DF3358 4B75BFF7 82A510C6 CD4883A4 19833D50 +$9595C9DF 90075148 EB068603 65DF3358 4B75BFF7 82A510C6 CD4883A4 19833D50 +SHA-256 of ansistring ',=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$' rendered l-endian base64 is: +Hash = $9595C9DF 90075148 EB068603 65DF3358 4B75BFF7 82A510C6 CD4883A4 19833D50 +$9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50 +SHA-256 of ansistring 'hello' rendered l-endian base64 is: +Hash = $2CF24DBA 5FB0A30E 26E83B2A C5B9E29E 1B161E5C 1FA7425E 73043362 938B9824 +SHA-256 of ansistring ',=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$' rendered l-endian base64 is: +Hash = $9595C9DF 90075148 EB068603 65DF3358 4B75BFF7 82A510C6 CD4883A4 19833D50 +doubleSHA: $9595C9DF90075148EB06860365DF33584B75BFF782A510C6CD4883A419833D50 +SHA-256 of ansistring 'hello' rendered l-endian base64 is: +Hash = $2CF24DBA 5FB0A30E 26E83B2A C5B9E29E 1B161E5C 1FA7425E 73043362 938B9824 +SHA-256 of ansistring ',=M¦_¦ú?&Þ;*+¦Ô×???\?ºB^s?3bôïÿ$' rendered l-endian base64 is: +Hash = $9595C9DF 90075148 EB068603 65DF3358 4B75BFF7 82A510C6 CD4883A4 19833D50 +doubleSHA: $9595C9DF90075148EB06860365DF33584B75BFF782A510C6CD4883A419833D50 +tohex 48454c4c4f +,= ´ +44 +, +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +1461501637330902918203684832716283019655932542976 +115792089237316195423570985008687907853269984665640564039457584007913129639936 +57896044618658097711785492504343953926634992332820282019728792003956564819968 + +Script examples/675_bitcoin_doublehash.txt finished: 01.09.2022 12:20:23 > +Script examples/675_bitcoin_doublehash.txt performs: 23.988 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/677_pingtest4.txt +examples/677_pingtest4.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 7 +compiled[Hint] (54:5): Variable 'LSTREPLIES' never used +[Hint] (54:5): Variable 'LSTREPLIES' never used +compiled[Hint] (56:5): Variable 'PANEL1' never used +[Hint] (56:5): Variable 'PANEL1' never used +compiled[Hint] (57:5): Variable 'BTNPING' never used +[Hint] (57:5): Variable 'BTNPING' never used +compiled[Hint] (58:5): Variable 'EDTHOST' never used +[Hint] (58:5): Variable 'EDTHOST' never used +compiled[Hint] (59:5): Variable 'SPNPING' never used +[Hint] (59:5): Variable 'SPNPING' never used +compiled[Hint] (60:5): Variable 'LABEL1' never used +[Hint] (60:5): Variable 'LABEL1' never used +compiled[Hint] (68:3): Variable 'FRMPING' never used +[Hint] (68:3): Variable 'FRMPING' never used +executed... +exec[Hint] (54:5): Variable 'LSTREPLIES' never used +exec[Hint] (56:5): Variable 'PANEL1' never used +exec[Hint] (57:5): Variable 'BTNPING' never used +exec[Hint] (58:5): Variable 'EDTHOST' never used +exec[Hint] (59:5): Variable 'SPNPING' never used +exec[Hint] (60:5): Variable 'LABEL1' never used +exec[Hint] (68:3): Variable 'FRMPING' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:20:24 +Internet Version NOT checked! +isAdmin: FALSE + +Script examples/677_pingtest4.txt finished: 01.09.2022 12:21:20 > +Script examples/677_pingtest4.txt performs: 55.656 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/680_gravity_waves.txt +examples/680_gravity_waves.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 10 +compiled[Hint] (54:5): Variable 'LSTREPLIES' never used +[Hint] (54:5): Variable 'LSTREPLIES' never used +compiled[Hint] (56:5): Variable 'PANEL1' never used +[Hint] (56:5): Variable 'PANEL1' never used +compiled[Hint] (57:5): Variable 'BTNPING' never used +[Hint] (57:5): Variable 'BTNPING' never used +compiled[Hint] (58:5): Variable 'EDTHOST' never used +[Hint] (58:5): Variable 'EDTHOST' never used +compiled[Hint] (59:5): Variable 'SPNPING' never used +[Hint] (59:5): Variable 'SPNPING' never used +compiled[Hint] (60:5): Variable 'LABEL1' never used +[Hint] (60:5): Variable 'LABEL1' never used +compiled[Hint] (70:3): Variable 'FRMPING' never used +[Hint] (70:3): Variable 'FRMPING' never used +compiled[Hint] (221:6): Variable 'CH' never used +[Hint] (221:6): Variable 'CH' never used +compiled[Hint] (222:4): Variable 'XT' never used +[Hint] (222:4): Variable 'XT' never used +compiled[Hint] (222:4): Variable 'YT' never used +[Hint] (222:4): Variable 'YT' never used +executed... +exec[Hint] (54:5): Variable 'LSTREPLIES' never used +exec[Hint] (56:5): Variable 'PANEL1' never used +exec[Hint] (57:5): Variable 'BTNPING' never used +exec[Hint] (58:5): Variable 'EDTHOST' never used +exec[Hint] (59:5): Variable 'SPNPING' never used +exec[Hint] (60:5): Variable 'LABEL1' never used +exec[Hint] (70:3): Variable 'FRMPING' never used +exec[Hint] (221:6): Variable 'CH' never used +exec[Hint] (222:4): Variable 'XT' never used +exec[Hint] (222:4): Variable 'YT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:21:21 +Internet Version NOT checked! +isAdmin: FALSE +1.29815469572163 +4.64895280767845E-12 + +Script examples/680_gravity_waves.txt finished: 01.09.2022 12:21:23 > +Script examples/680_gravity_waves.txt performs: 2.03 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/683_mx422_functions_demo.txt +examples/683_mx422_functions_demo.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 11 +compiled[Hint] (36:5): Variable 'LSTREPLIES' never used +[Hint] (36:5): Variable 'LSTREPLIES' never used +compiled[Hint] (38:5): Variable 'PANEL1' never used +[Hint] (38:5): Variable 'PANEL1' never used +compiled[Hint] (39:5): Variable 'BTNPING' never used +[Hint] (39:5): Variable 'BTNPING' never used +compiled[Hint] (40:5): Variable 'EDTHOST' never used +[Hint] (40:5): Variable 'EDTHOST' never used +compiled[Hint] (41:5): Variable 'SPNPING' never used +[Hint] (41:5): Variable 'SPNPING' never used +compiled[Hint] (42:5): Variable 'LABEL1' never used +[Hint] (42:5): Variable 'LABEL1' never used +compiled[Hint] (52:3): Variable 'FRMPING' never used +[Hint] (52:3): Variable 'FRMPING' never used +compiled[Hint] (388:6): Variable 'CH' never used +[Hint] (388:6): Variable 'CH' never used +compiled[Hint] (389:4): Variable 'XT' never used +[Hint] (389:4): Variable 'XT' never used +compiled[Hint] (389:4): Variable 'YT' never used +[Hint] (389:4): Variable 'YT' never used +compiled[Hint] (391:4): Variable 'AFUNC' never used +[Hint] (391:4): Variable 'AFUNC' never used +Script examples/683_mx422_functions_demo.txt finished: 01.09.2022 12:21:25 > +Script examples/683_mx422_functions_demo.txt performs: 2.013 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/683_mx422_functions_demo_addto4X.txt +examples/683_mx422_functions_demo_addto4X.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 20 +compiled[Hint] (297:8): Variable 'ID21' never used +[Hint] (297:8): Variable 'ID21' never used +compiled[Hint] (298:8): Variable 'URL' never used +[Hint] (298:8): Variable 'URL' never used +compiled[Hint] (299:8): Variable 'IDCN' never used +[Hint] (299:8): Variable 'IDCN' never used +compiled[Hint] (300:8): Variable 'IDSC' never used +[Hint] (300:8): Variable 'IDSC' never used +compiled[Hint] (36:5): Variable 'LSTREPLIES' never used +[Hint] (36:5): Variable 'LSTREPLIES' never used +compiled[Hint] (38:5): Variable 'IDC' never used +[Hint] (38:5): Variable 'IDC' never used +compiled[Hint] (39:5): Variable 'IDCC' never used +[Hint] (39:5): Variable 'IDCC' never used +compiled[Hint] (40:5): Variable 'IDCLISRT' never used +[Hint] (40:5): Variable 'IDCLISRT' never used +compiled[Hint] (41:5): Variable 'PANEL1' never used +[Hint] (41:5): Variable 'PANEL1' never used +compiled[Hint] (42:5): Variable 'BTNPING' never used +[Hint] (42:5): Variable 'BTNPING' never used +compiled[Hint] (43:5): Variable 'EDTHOST' never used +[Hint] (43:5): Variable 'EDTHOST' never used +compiled[Hint] (44:5): Variable 'SPNPING' never used +[Hint] (44:5): Variable 'SPNPING' never used +compiled[Hint] (45:5): Variable 'LABEL1' never used +[Hint] (45:5): Variable 'LABEL1' never used +compiled[Hint] (46:5): Variable 'PPFORM2' never used +[Hint] (46:5): Variable 'PPFORM2' never used +compiled[Hint] (55:3): Variable 'FRMPING' never used +[Hint] (55:3): Variable 'FRMPING' never used +compiled[Hint] (772:6): Variable 'CH' never used +[Hint] (772:6): Variable 'CH' never used +compiled[Hint] (773:4): Variable 'XT' never used +[Hint] (773:4): Variable 'XT' never used +compiled[Hint] (773:4): Variable 'YT' never used +[Hint] (773:4): Variable 'YT' never used +compiled[Hint] (775:4): Variable 'AFUNC' never used +[Hint] (775:4): Variable 'AFUNC' never used +compiled[Hint] (776:4): Variable 'AFRM' never used +[Hint] (776:4): Variable 'AFRM' never used +Script examples/683_mx422_functions_demo_addto4X.txt finished: 01.09.2022 12:21:29 > +Script examples/683_mx422_functions_demo_addto4X.txt performs: 2.856 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/685_leanfitmath.txt +examples/685_leanfitmath.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 4 +compiled[Hint] (114:3): Variable 'SXY' never used +[Hint] (114:3): Variable 'SXY' never used +compiled[Hint] (114:3): Variable 'SXX' never used +[Hint] (114:3): Variable 'SXX' never used +compiled[Hint] (114:3): Variable 'SYY' never used +[Hint] (114:3): Variable 'SYY' never used +compiled[Hint] (114:3): Variable 'DENOM' never used +[Hint] (114:3): Variable 'DENOM' never used +^CBatchvorgang abbrechen (J/N)? N + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>xt +Der Befehl "xt" ist entweder falsch geschrieben oder +konnte nicht gefunden werden. + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/686_namedpipe_demo2.txt +examples/686_namedpipe_demo2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 3 +compiled[Hint] (28:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (28:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (32:4): Variable 'NAMEDPIPECLIENT' never used +[Hint] (32:4): Variable 'NAMEDPIPECLIENT' never used +compiled[Hint] (177:6): Variable 'FHPIPE' never used +[Hint] (177:6): Variable 'FHPIPE' never used +executed... +exec[Hint] (28:5): Variable 'APPLICATIONEVENTS1' never used +exec[Hint] (32:4): Variable 'NAMEDPIPECLIENT' never used +exec[Hint] (177:6): Variable 'FHPIPE' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:14 +Internet Version NOT checked! +this is 0.369248502937272178 +this is 0.869740587510592566 +this is 1.4142 +this is Area of r=1 3.141592653589793240 +this is Area of d=2r 3.141592653589793240 +4.7.6.10 +file compare J: 0 +file lenght size: 7909420 +getSystemDir: TRUE +C:\WINDOWS\system32 +UpTime: OS Uptime: 0 Days 20 Hours 34 Minutes 52 Seconds +FF +12345678900 +12345678900 +FALSE +SizeOf(aRPIPEMessage): 8105 +must have a pipeServerName like: BREITSCH-BOX +pipe response: to send edtTextToSend.Text + +Exception: PIPE does not exist. Fault : PIPE does not exist. +Date/time : 01.09.2022 12:30:18 +Stack dump +---------- +00AEFB67 +00010ABC +00010AC4 +000024FA +000059E9 +00005A2C +00010FCB +000A39F8 +000B9E8C +000A593C +0009F89A +000A39F8 +0009F527 +0009DC79 +0005BA1A +0005BCE3 +0009F89A +000A39F8 +0009F527 +000A3B48 +000A45A0 +000BCDB9 +0009F89A +000A39F8 +000B9E8C +0002D139 +0004CB4D +000A311F +000A3136 +0003B882 +000A3AF4 +0005BC27 +0009F89A +000A39F8 +0002D139 +0004CB4D +000A311F +000A3136 +0003B882 +0000693F +000069C9 +00004CAC +000024FA +000059E9 +000060EA +00002516 +00173FF1 +00AEFC32 + at 0.2681 +Script examples/686_namedpipe_demo2.txt finished: 01.09.2022 12:30:18 > +Script examples/686_namedpipe_demo2.txt performs: 4.209 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/689_proctype_alias.txt +examples/689_proctype_alias.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (214:4): Variable 'APT' never used +[Hint] (214:4): Variable 'APT' never used +compiled[Hint] (215:4): Variable 'AFUNC' never used +[Hint] (215:4): Variable 'AFUNC' never used +executed... +exec[Hint] (214:4): Variable 'APT' never used +exec[Hint] (215:4): Variable 'AFUNC' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:19 +Internet Version NOT checked! +isAdmin: FALSE +1.29815469572163 +4.64895280767845E-12 +HInstance: 262144 +application.handle: 8916402 +this is 0.369248502937272178 +A806C38F202E4F03B12C48563478ED43 +{7BDEB402-FCCC-400A-8A15-02D7CD470C07} +SubstringCount : 2 +pos found: 3 +found! + +Script examples/689_proctype_alias.txt finished: 01.09.2022 12:30:21 > +Script examples/689_proctype_alias.txt performs: 1.817 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/701_all_fibonacci.txt +examples/701_all_fibonacci.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 12 +compiled[Hint] (44:5): Variable 'EVSIMPLE' never used +[Hint] (44:5): Variable 'EVSIMPLE' never used +compiled[Hint] (46:5): Variable 'APT' never used +[Hint] (46:5): Variable 'APT' never used +compiled[Hint] (49:5): Variable 'ASECP' never used +[Hint] (49:5): Variable 'ASECP' never used +compiled[Hint] (144:7): Variable 'TBIG2' never used +[Hint] (144:7): Variable 'TBIG2' never used +compiled[Hint] (156:12): Variable 'Result' never used +[Hint] (156:12): Variable 'Result' never used +compiled[Hint] (14:3): Variable 'MYBOX' never used +[Hint] (14:3): Variable 'MYBOX' never used +compiled[Hint] (17:7): Variable 'A' never used +[Hint] (17:7): Variable 'A' never used +compiled[Hint] (17:7): Variable 'B' never used +[Hint] (17:7): Variable 'B' never used +compiled[Hint] (17:7): Variable 'S' never used +[Hint] (17:7): Variable 'S' never used +compiled[Hint] (17:7): Variable 'T' never used +[Hint] (17:7): Variable 'T' never used +compiled[Hint] (17:7): Variable 'H' never used +[Hint] (17:7): Variable 'H' never used +compiled[Hint] (271:6): Variable 'AOBJ' never used +[Hint] (271:6): Variable 'AOBJ' never used +executed... +exec[Hint] (44:5): Variable 'EVSIMPLE' never used +exec[Hint] (46:5): Variable 'APT' never used +exec[Hint] (49:5): Variable 'ASECP' never used +exec[Hint] (144:7): Variable 'TBIG2' never used +exec[Hint] (156:12): Variable 'Result' never used +exec[Hint] (14:3): Variable 'MYBOX' never used +exec[Hint] (17:7): Variable 'A' never used +exec[Hint] (17:7): Variable 'B' never used +exec[Hint] (17:7): Variable 'S' never used +exec[Hint] (17:7): Variable 'T' never used +exec[Hint] (17:7): Variable 'H' never used +exec[Hint] (271:6): Variable 'AOBJ' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:21 +Internet Version NOT checked! + 123.46 +C: +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\ +.exe +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maxbox4.exe +40086 +10111011101110111010101010101010 +BBBBAAAA +14:15:12 +test - listening on memo2 console to stop.... +test - client has connected +832040 +1836311903 +12586269025 +12586269025 +20365011074 +20365011074 +832040 +832040 +832040 +832040 +832040 +2 +832040 +832040 +7.89632582613173E51 +7896325826131730509282738943634332893686268675876375 +4.3516638122555E115 +43516638122555047989641805373140394725407202037260729735885664398655775748034950972577909265605502785297675867877570 +899Æ197Æ987Æ774Æ430Æ497Æ229Æ526Æ589Æ217Æ406Æ284Æ475Æ226Æ909Æ443Æ133 +899Æ197Æ987Æ774Æ430Æ497Æ229Æ526Æ589Æ217Æ406Æ284Æ475Æ226Æ909Æ443Æ233 +93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 +354224848179261915075 +354224848179261915075 + +Script examples/701_all_fibonacci.txt finished: 01.09.2022 12:30:25 > +Script examples/701_all_fibonacci.txt performs: 3.997 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/702_ibz_operatoren_testdrive42Xconst.TXT +examples/702_ibz_operatoren_testdrive42Xconst.TXT +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 30 +compiled[Hint] (133:3): Variable 'TEMPINT' never used +[Hint] (133:3): Variable 'TEMPINT' never used +compiled[Hint] (293:6): Variable 'Z' never used +[Hint] (293:6): Variable 'Z' never used +compiled[Hint] (439:4): Variable 'ACANVAS' never used +[Hint] (439:4): Variable 'ACANVAS' never used +compiled[Hint] (554:3): Variable 'N' never used +[Hint] (554:3): Variable 'N' never used +compiled[Hint] (27:5): Variable 'QUADRAT' never used +[Hint] (27:5): Variable 'QUADRAT' never used +compiled[Hint] (27:5): Variable 'X' never used +[Hint] (27:5): Variable 'X' never used +compiled[Hint] (27:5): Variable 'SQUARE' never used +[Hint] (27:5): Variable 'SQUARE' never used +compiled[Hint] (28:5): Variable 'DIV_DBL' never used +[Hint] (28:5): Variable 'DIV_DBL' never used +compiled[Hint] (29:5): Variable 'INCINT' never used +[Hint] (29:5): Variable 'INCINT' never used +compiled[Hint] (29:5): Variable 'AB' never used +[Hint] (29:5): Variable 'AB' never used +compiled[Hint] (29:5): Variable 'CBB' never used +[Hint] (29:5): Variable 'CBB' never used +compiled[Hint] (30:5): Variable 'EIN' never used +[Hint] (30:5): Variable 'EIN' never used +compiled[Hint] (34:6): Variable 'PPFORM' never used +[Hint] (34:6): Variable 'PPFORM' never used +compiled[Hint] (35:6): Variable 'MT' never used +[Hint] (35:6): Variable 'MT' never used +compiled[Hint] (36:7): Variable 'MTL' never used +[Hint] (36:7): Variable 'MTL' never used +compiled[Hint] (37:6): Variable 'STRS' never used +[Hint] (37:6): Variable 'STRS' never used +compiled[Hint] (38:6): Variable 'SA' never used +[Hint] (38:6): Variable 'SA' never used +compiled[Hint] (39:9): Variable 'MG' never used +[Hint] (39:9): Variable 'MG' never used +compiled[Hint] (630:7): Variable 'FORM1' never used +[Hint] (630:7): Variable 'FORM1' never used +compiled[Hint] (728:1): Variable 'PM' never used +[Hint] (728:1): Variable 'PM' never used +compiled[Hint] (730:3): Variable 'NPR' never used +[Hint] (730:3): Variable 'NPR' never used +compiled[Hint] (730:3): Variable 'NCR' never used +[Hint] (730:3): Variable 'NCR' never used +compiled[Hint] (731:3): Variable 'COMP' never used +[Hint] (731:3): Variable 'COMP' never used +compiled[Hint] (733:3): Variable 'MYSHA2' never used +[Hint] (733:3): Variable 'MYSHA2' never used +compiled[Hint] (734:3): Variable 'MSS2' never used +[Hint] (734:3): Variable 'MSS2' never used +compiled[Hint] (758:5): Variable 'FJ' never used +[Hint] (758:5): Variable 'FJ' never used +compiled[Hint] (759:4): Variable 'MYIMGLIST' never used +[Hint] (759:4): Variable 'MYIMGLIST' never used +compiled[Hint] (761:4): Variable 'MDX' never used +[Hint] (761:4): Variable 'MDX' never used +compiled[Hint] (765:4): Variable 'HGS' never used +[Hint] (765:4): Variable 'HGS' never used +compiled[Hint] (766:4): Variable 'IMAGE1' never used +[Hint] (766:4): Variable 'IMAGE1' never used +executed... +exec[Hint] (133:3): Variable 'TEMPINT' never used +exec[Hint] (293:6): Variable 'Z' never used +exec[Hint] (439:4): Variable 'ACANVAS' never used +exec[Hint] (554:3): Variable 'N' never used +exec[Hint] (27:5): Variable 'QUADRAT' never used +exec[Hint] (27:5): Variable 'X' never used +exec[Hint] (27:5): Variable 'SQUARE' never used +exec[Hint] (28:5): Variable 'DIV_DBL' never used +exec[Hint] (29:5): Variable 'INCINT' never used +exec[Hint] (29:5): Variable 'AB' never used +exec[Hint] (29:5): Variable 'CBB' never used +exec[Hint] (30:5): Variable 'EIN' never used +exec[Hint] (34:6): Variable 'PPFORM' never used +exec[Hint] (35:6): Variable 'MT' never used +exec[Hint] (36:7): Variable 'MTL' never used +exec[Hint] (37:6): Variable 'STRS' never used +exec[Hint] (38:6): Variable 'SA' never used +exec[Hint] (39:9): Variable 'MG' never used +exec[Hint] (630:7): Variable 'FORM1' never used +exec[Hint] (728:1): Variable 'PM' never used +exec[Hint] (730:3): Variable 'NPR' never used +exec[Hint] (730:3): Variable 'NCR' never used +exec[Hint] (731:3): Variable 'COMP' never used +exec[Hint] (733:3): Variable 'MYSHA2' never used +exec[Hint] (734:3): Variable 'MSS2' never used +exec[Hint] (758:5): Variable 'FJ' never used +exec[Hint] (759:4): Variable 'MYIMGLIST' never used +exec[Hint] (761:4): Variable 'MDX' never used +exec[Hint] (765:4): Variable 'HGS' never used +exec[Hint] (766:4): Variable 'IMAGE1' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:26 +Internet Version NOT checked! +00000000000000000000001111101000 +00110000 00101111 +10000000 00000000 +11111111 11111111 +63245986 +102334155 +63245986 +102334155 +55 +3.54224848179262E20 +3.54224848179262E20 +102334155 +63245986.0000001 +102334155 +63246012 +102334200 +00000000000000000000000001100001 +00000000000000000000000011011111 +00000000000000000000000010111110 +00000000000000000000000010111110 + +00000000000000000000000010010110 +00000000000000000000000100101100 +00000000000000000000000000000000 +300 +1 2 3 4 5 6 7 8 9 10 +2 4 6 8 10 12 14 16 18 20 +3 6 9 12 15 18 21 24 27 30 +4 8 12 16 20 24 28 32 36 40 +5 10 15 20 25 30 35 40 45 50 +6 12 18 24 30 36 42 48 54 60 +7 14 21 28 35 42 49 56 63 70 +8 16 24 32 40 48 56 64 72 80 +9 18 27 36 45 54 63 72 81 90 +10 20 30 40 50 60 70 80 90 100 + +101 +getbigintfact: 11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 +1.19785716699699E100 +big int power +304 +5486124068793688683255936251187209270074392635932332070112001988456197381759672947165175699536362793613284725337872111744958183862744647903224103718245670299614498700710006264535590197791934024641512541262359795191593953928908168990292758500391456212260452596575509589842140073806143686060649302051520512 +fact 9: 362880 +158 +93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 +fact 100 9.33262154439441527E157 +fact 49 6.08281864034267561E62 +extended 1 of 1.00 +extended 2 of 4.00 +extended 3 of 27.00 +extended 4 of 256.00 +extended 5 of 3125.00 +extended 6 of 46656.00 +extended 7 of 823543.00 +extended 8 of 16777216.00 +extended 9 of 387420489.00 +extended 10 of 10000000000.00 +extended 11 of 285311670611.00 +extended 12 of 8916100448256.00 +extended 13 of 302875106592253.00 +extended 14 of 11112006825558016.00 +extended 15 of 437893890380859375.00 +1.92327924899313583E62 +powerbig length (310,25) 63 +powerbig(310,25) 192327924899313583338373139987678707510000000000000000000000000 +extended pf+ 310 h 25 310 of 1.92327924899313583E62 +extended f+ 310 h 25 310 of 1.92327924899313583E62 +extended 310 of 25 1.92327924899314E62 +extended 310 of 25 1.92327924899314E62 + +GetMuluN 20995445224777187393042619088479694940964939787968940544517492420407833917234608942613382938151698130853564759739981284426424697242961267311404132695036642061869547255892589960620938664840595310828620606796725421838069873614958822308143020575740948991571947132927631736714389396515025490365328947503457971200372263940238445565214413550909439129022149441864456241770072458578506208235688346925355750781099150285752614274244729879715933641515259916612728137540048010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +combination 13983816 +1.19785716699699E100 +with Format 1.19785716699698918E100 +6.848746554171E624 +6.848746554171E624 +with Format 6.84874655417100127E624 +with Float: 1.19785716699699E100 +with Format 1.19785716699698918E100 +float test 34 +with Float: 9.33262154439442E157 +with Format 9.33262154439441527E157 +11 +loop test 4 +loop test 16 +loop test 256 +loop test 65536 +loop test 4294967296 +loop test 9223372036854775807 + true64 passed! +int64 2147483647 +1.84467440737096E19 +const direct 9223372036854775807 +9223372036854775800 +SHA-256 of file 'C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maxbox4.exe' rendered l-endian base64 is: +Hash = $EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +before $EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +deleted EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +trim EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D EDDAD9E 6488C7FC AFAC7728 +padded EC6AEB784BDF2DEC91834378EF4633BBE698CC0DEDDAD9E6488C7FCAFAC7728 +del spaces EC6AEB784BDF2DEC91834378EF4633BBE698CC0DEDDAD9E6488C7FCAFAC7728 +Decimal = -123 +Exponent = 1.23456780000000E+004 +Fixed = 12345.68 +General = 12345.678 +Number = 12Æ345.68 +Money = CHF 12Æ345.68 +String = Hello +Unsigned decimal = 123 +Hexadecimal = 8C +0 padded decimal = <001234> +Before = This is a way to live A big life +After = This is THE way to live THE big life +884039458 +1659449588 +Source = 123456789 +Target = 1-inserted-6789 +Ten = 10. +Eleven = +11. One +hundred = +100. +##### : 1235 +123.456E+002 = 12345.6 +AM +dddd, d. MMMM yyyy +dd.MM.yyyy +1234.56 formats as = 1234.56 +currtostrF 1234.56 formats as = 1234.5688 +currtostrFS 1234.56 formats with setting as = CHF 1Æ234.5600 +CHF 1Æ234.560000 +1234.56 formats setting as = CHF 1Æ234.560000 +roundfloat 12334.4579 +10.000.000.000.000.000.000.000 +this is my new +line playbox or +playboy +False +curr to str 345.5 +str to curr 345.5 +this is my , +new line playbox, + or playboy +wert 45 - +wert 46 . +wert 47 / +wert 48 0 +wert 49 1 +wert 50 2 +wert 51 3 +wert 52 4 +wert 53 5 +wert 54 6 +wert 55 7 +this is CHF 345.50 +this is 0 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +28 +CHF 23Æ459.566000 +CHF 23Æ459.566000 +2958465.99999 +True +234.56 +CHF 23Æ459.566000 +01.09.2022 +GetCmdShow 10 +602931718 +864 +00000000000000000000000000001001 +1 +11111111111111111111111111111011 +-5 +1.83333333333333 +2.08333333333333 +2.28333333333333 +2.45 +12.0901461298633 +1024 +1 +1000002.71828183 +harmonic alternate leibniz formula to PI/4: 0.78538816339745 +0.785398163397448 +0.785398163397448 +8 +3.94230344500927E4889 +big maxcalc 3.94230344500927284E4889 +big maxcalc 3.94230344500927284E4889 +big maxcalc 3.94230344500927284E4889 +11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 +imaginary 9.00 +big decimal 2.5000000000000000 +big decimal2 7703719777548943412223.9117135681730172 +big dectest 7.70371977754894341E21 +addition theorem 0.948984619355586214 +addition theorem 0.948984619355586214 +addition theorem2 0.315322362395268665 +addition theorem2 0.315322362395268665 +limes extended 16383.749363984471100000 +limes extended int return 1.00000000000000142E4932 +limes extended 9.99999999999999997E4931 +comp test 9223372036854775807 +9.2234 +comp test currency 0 +2147483647 +frac extended 2.7182818284590452 +2.71828182845905 +big extended 123.4500000000000000 +big extended 1234.5000000000000000 +big extended 12345.0000000000000000 +round 02 +round 04 +comm round 03 +this is 0 +log N extended range 16383.7494 +log N maXcalc 24.0000 +log N maXcalc 4.0000 +00000000000000000000001111101000 +4.7.6.10 +34B15F22 +12345678900 +hash collision 3.625140919143559E-034 +hash collision 8.194012623990515E-040 +hash collision 0.1074815816075502 +hash collision 1.074815816075502E-001 +hash collision 0.1074815816075502 + +Script examples/702_ibz_operatoren_testdrive42Xconst.TXT finished: 01.09.2022 12:30:36 > +Script examples/702_ibz_operatoren_testdrive42Xconst.TXT performs: 9.371 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/702_X509_Cert_OpenSSL.txt +examples/702_X509_Cert_OpenSSL.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 0 +executed... +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:36 +Internet Version NOT checked! +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +etExe32 +etExe32 + 20h 35m 21s 401ms + 20h 35m 21s 401ms +Web HTTPS Cert: +getSSLVersion: +getSSLlib: Without SSL support +getSSLname: ssl_none +getCiphername: +getPeername: +strNotAvail + +Script examples/702_X509_Cert_OpenSSL.txt finished: 01.09.2022 12:30:46 > +Script examples/702_X509_Cert_OpenSSL.txt performs: 9.208 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/705_parser_demo_case_60_webbox.txt +examples/705_parser_demo_case_60_webbox.txt +Version maXbox4 is: 4.7.6.10 +nit compiled +mXShell: [Error] (17:3): Duplicate identifier 'TIntegerArray' +[Error] (17:3): Duplicate identifier 'TIntegerArray' +Script examples/705_parser_demo_case_60_webbox.txt finished: 01.09.2022 12:30:48 > +Script examples/705_parser_demo_case_60_webbox.txt performs: 2.073 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/711_geo_satellite_mapbox.txt +examples/711_geo_satellite_mapbox.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 10 +compiled[Hint] (79:12): Variable 'Result' never used +[Hint] (79:12): Variable 'Result' never used +compiled[Hint] (105:10): Variable 'Result' never used +[Hint] (105:10): Variable 'Result' never used +compiled[Hint] (137:10): Variable 'Result' never used +[Hint] (137:10): Variable 'Result' never used +compiled[Hint] (163:10): Variable 'Result' never used +[Hint] (163:10): Variable 'Result' never used +compiled[Hint] (514:5): Variable 'GEOCODE2' never used +[Hint] (514:5): Variable 'GEOCODE2' never used +compiled[Hint] (515:5): Variable 'LATF1' never used +[Hint] (515:5): Variable 'LATF1' never used +compiled[Hint] (515:5): Variable 'LONGF1' never used +[Hint] (515:5): Variable 'LONGF1' never used +compiled[Hint] (515:5): Variable 'DISTRES' never used +[Hint] (515:5): Variable 'DISTRES' never used +compiled[Hint] (516:5): Variable 'AVAL1' never used +[Hint] (516:5): Variable 'AVAL1' never used +compiled[Hint] (516:5): Variable 'AVAL2' never used +[Hint] (516:5): Variable 'AVAL2' never used +Script examples/711_geo_satellite_mapbox.txt finished: 01.09.2022 12:30:53 > +Script examples/711_geo_satellite_mapbox.txt performs: 3.889 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/725_CRC32_live_60.txt +examples/725_CRC32_live_60.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 3 +compiled[Hint] (277:5): Variable 'AVALUE2' never used +[Hint] (277:5): Variable 'AVALUE2' never used +compiled[Hint] (278:5): Variable 'AVALUE3' never used +[Hint] (278:5): Variable 'AVALUE3' never used +compiled[Hint] (501:4): Variable 'AGET' never used +[Hint] (501:4): Variable 'AGET' never used +executed... +exec[Hint] (277:5): Variable 'AVALUE2' never used +exec[Hint] (278:5): Variable 'AVALUE3' never used +exec[Hint] (501:4): Variable 'AGET' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:54 +Internet Version NOT checked! +ACRC32_: 5421B165 +stream size: 20828 +chunck of: 9D6CDF7E +crc func1: 5421B165 +crc func2: 5421B165 +crc func3: 5421B165 +crc func4: 5421B165 +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.exe +Convertstringtodecimal 123.456789 +Close the crc hit bit +this is a string thing wing! +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\maXbox4.ini + +Script examples/725_CRC32_live_60.txt finished: 01.09.2022 12:30:56 > +Script examples/725_CRC32_live_60.txt performs: 2.458 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/725_X509_SHA1_TestCert4txt.txt +examples/725_X509_SHA1_TestCert4txt.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 1 +compiled[Hint] (235:8): Variable 'HGW' never used +[Hint] (235:8): Variable 'HGW' never used +executed... +exec[Hint] (235:8): Variable 'HGW' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:30:57 +Internet Version NOT checked! +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +bdf9b124b2d21ab51b3ac553a9237808ea514a8f +etExe32 +etExe32 + 20h 35m 40s 700ms + 20h 35m 40s 700ms +Test 1: 1, "abc" +Result_: A9 99 3E 36 47 06 81 6A BA 3E 25 71 78 50 C2 6C 9C D0 D8 9D +Wanted: A9 99 3E 36 47 06 81 6A BA 3E 25 71 78 50 C2 6C 9C D0 D8 9D +Test 2: 1, "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +Result_: 84 98 3E 44 1C 3B D2 6E BA AE 4A A1 F9 51 29 E5 E5 46 70 F1 +Wanted: 84 98 3E 44 1C 3B D2 6E BA AE 4A A1 F9 51 29 E5 E5 46 70 F1 +Test 3: 1000000, "a" +Result_: 34 AA 97 3C D4 C4 DA A4 F6 1E EB 2B DB AD 27 31 65 34 01 6F +Wanted: 34 AA 97 3C D4 C4 DA A4 F6 1E EB 2B DB AD 27 31 65 34 01 6F +Test 4: 10, "0123456701234567012345670123456701234567012345670123456701234567" +Result_: DE A3 56 A2 CD DD 90 C7 A7 EC ED C5 EB B5 63 93 4F 46 04 52 +Wanted: DE A3 56 A2 CD DD 90 C7 A7 EC ED C5 EB B5 63 93 4F 46 04 52 +RegisteredOwner: Not Available +1995-12-12 + +Script examples/725_X509_SHA1_TestCert4txt.txt finished: 01.09.2022 12:31:32 > +Script examples/725_X509_SHA1_TestCert4txt.txt performs: 34.592 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/740_msgpump2.txt +examples/740_msgpump2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 19 +compiled[Hint] (201:5): Variable 'SIZE' never used +[Hint] (201:5): Variable 'SIZE' never used +compiled[Hint] (201:5): Variable 'OFFSET' never used +[Hint] (201:5): Variable 'OFFSET' never used +compiled[Hint] (201:5): Variable 'RAND1' never used +[Hint] (201:5): Variable 'RAND1' never used +compiled[Hint] (201:5): Variable 'RAND2' never used +[Hint] (201:5): Variable 'RAND2' never used +compiled[Hint] (261:5): Variable 'N' never used +[Hint] (261:5): Variable 'N' never used +compiled[Hint] (262:2): Variable 'T1' never used +[Hint] (262:2): Variable 'T1' never used +compiled[Hint] (262:2): Variable 'T2' never used +[Hint] (262:2): Variable 'T2' never used +compiled[Hint] (263:2): Variable 'S' never used +[Hint] (263:2): Variable 'S' never used +compiled[Hint] (318:5): Variable 'N' never used +[Hint] (318:5): Variable 'N' never used +compiled[Hint] (319:2): Variable 'T1' never used +[Hint] (319:2): Variable 'T1' never used +compiled[Hint] (319:2): Variable 'T2' never used +[Hint] (319:2): Variable 'T2' never used +compiled[Hint] (320:2): Variable 'S' never used +[Hint] (320:2): Variable 'S' never used +compiled[Hint] (405:5): Variable 'RS' never used +[Hint] (405:5): Variable 'RS' never used +compiled[Hint] (525:7): Variable 'SEMAFOR' never used +[Hint] (525:7): Variable 'SEMAFOR' never used +compiled[Hint] (542:2): Variable 'SEMAFOR' never used +[Hint] (542:2): Variable 'SEMAFOR' never used +compiled[Hint] (543:2): Variable 'JVAPPINST' never used +[Hint] (543:2): Variable 'JVAPPINST' never used +compiled[Hint] (764:2): Variable 'CPPT' never used +[Hint] (764:2): Variable 'CPPT' never used +compiled[Hint] (766:2): Variable 'CPPP' never used +[Hint] (766:2): Variable 'CPPP' never used +compiled[Hint] (770:3): Variable 'ANSISTRING' never used +[Hint] (770:3): Variable 'ANSISTRING' never used +^CBatchvorgang abbrechen (J/N)? N + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/745_crypto_memory_RFC1123_newmX.txt +examples/745_crypto_memory_RFC1123_newmX.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 8 +compiled[Hint] (401:7): Variable 'AINPUTBUFFER' never used +[Hint] (401:7): Variable 'AINPUTBUFFER' never used +compiled[Hint] (401:7): Variable 'BUFFER' never used +[Hint] (401:7): Variable 'BUFFER' never used +compiled[Hint] (402:6): Variable 'L' never used +[Hint] (402:6): Variable 'L' never used +compiled[Hint] (402:6): Variable 'H' never used +[Hint] (402:6): Variable 'H' never used +compiled[Hint] (403:6): Variable 'PBUFFER' never used +[Hint] (403:6): Variable 'PBUFFER' never used +compiled[Hint] (405:6): Variable 'STATUP' never used +[Hint] (405:6): Variable 'STATUP' never used +compiled[Hint] (406:6): Variable 'ABY' never used +[Hint] (406:6): Variable 'ABY' never used +compiled[Hint] (60:3): Variable 'ASOCK' never used +[Hint] (60:3): Variable 'ASOCK' never used +executed... +exec[Hint] (401:7): Variable 'AINPUTBUFFER' never used +exec[Hint] (401:7): Variable 'BUFFER' never used +exec[Hint] (402:6): Variable 'L' never used +exec[Hint] (402:6): Variable 'H' never used +exec[Hint] (403:6): Variable 'PBUFFER' never used +exec[Hint] (405:6): Variable 'STATUP' never used +exec[Hint] (406:6): Variable 'ABY' never used +exec[Hint] (60:3): Variable 'ASOCK' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:03 +Internet Version NOT checked! +479001600 +475687486.472776 +6 +5.16666666666667 +4.33333333333333 +3.5 +2.66666666666667 +1.83333333333333 +CopyFileTo_08 Function success2 +206 +8OPJIITKU&W32T +Exception: Falscher Parameter. +2 +dig it: +FO0E0#IN +Thu, 01 Sep 2022 12:32:06 +Thu, 01 Sep 2022 12:32:06 +01.09.2022 12:32:06 +01.09.2022 12:32:06 +WDUOBPIOZ +Courier New +376397168923880 +376397168923880 +Script examples/745_crypto_memory_RFC1123_newmX.txt finished: 01.09.2022 12:32:06 > +Script examples/745_crypto_memory_RFC1123_newmX.txt performs: 2.542 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/749_helloWebServer3_tempsensor4.txt +examples/749_helloWebServer3_tempsensor4.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 0 +executed... +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:07 +Internet Version NOT checked! +Logfile: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\arduino_temp36log7.txt +Hello Temp/Web server start at: 192.168.1.52 +01.09.2022 12:32:11 C¦: ¦ > +01.09.2022 12:32:13 C¦: ¦ > +01.09.2022 12:32:15 C¦: ¦ > +01.09.2022 12:32:17 C¦: ¦ > +SocketServer stop: 12:32:18 + +Script examples/749_helloWebServer3_tempsensor4.txt finished: 01.09.2022 12:32:21 > +Script examples/749_helloWebServer3_tempsensor4.txt performs: 14.688 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/750_RSA_Toolproof4.txt +examples/750_RSA_Toolproof4.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 3 +compiled[Hint] (32:3): Variable 'I' never used +[Hint] (32:3): Variable 'I' never used +compiled[Hint] (226:4): Variable 'NEWHEX' never used +[Hint] (226:4): Variable 'NEWHEX' never used +compiled[Hint] (227:4): Variable 'BIGINT' never used +[Hint] (227:4): Variable 'BIGINT' never used +executed... +exec[Hint] (32:3): Variable 'I' never used +exec[Hint] (226:4): Variable 'NEWHEX' never used +exec[Hint] (227:4): Variable 'BIGINT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:22 +Internet Version NOT checked! +38.5318394449896 +5 +1.15792089237316E77 +1.65688200808088E77 +48.1028671255315 +1.15792089237299E77 +5.75 +514.898854707541 +154.127357779958 +308.254715559917 +155 +309 +308 +308 +ec3629309fe9a5008031bbaac9463d4a6374de9d +ec3629309fe9a5008031bbaac9463d4a6374de9d +48 +1.47179542864413E173 +9 +145906768007583323230186939349070635292401872375357164399581871019873438799005358938369571402670149802121818086292467422828157022922076746906543401224889672472407926969987100581290103199317858753663710862357656510507883714297115637342788911463535102712032765166518411726859837988672111837205085526346618740053 + +35052111338673026690212423937053328511880760811579981620642802346685810623109850235943049080973386241113784040794704193978215378499765413083646438784740952306932534945195080183861574225226218879827232453912820596886440377536082465681750074417459151485407445862511023472235560823053497791518928820272257787786 +decrypt: 1976620216402300889624482718775150 +decrypt: 1976620216402300889624482718775150 +decrypt MOD: 54 +decrypt RSA: 54 +35052111338673026690212423937053328511880760811579981620642802346685810623109850235943049080973386241113784040794704193978215378499765413083646438784740952306932534945195080183861574225226218879827232453912820596886440377536082465681750074417459151485407445862511023472235560823053497791518928820272257787786 +decrypt RSA: 1976620216402300889624482718775150 +1379 +1115 +1115 +1379 +1115 +1115 +GenerateKeys: 0.103 s +Pri.Mod: +2A805541C85EEB62D79300B3F48C88B21D5FC786C8123E017BCC2527D74853ED +Pri.Exp: +0C24AAA514AD67D319056DEA45DF027BB75BD5814CAAB6739E8FAD064F7B8F77 +Pub.Mod: +2A805541C85EEB62D79300B3F48C88B21D5FC786C8123E017BCC2527D74853ED +Pub.Exp: +00000007 +EncryptStr: 0 ms +DecryptStr: 0.006 ms + +Script examples/750_RSA_Toolproof4.txt finished: 01.09.2022 12:32:26 > +Script examples/750_RSA_Toolproof4.txt performs: 4.208 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/752_BitmapHistogram.txt +examples/752_BitmapHistogram.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 8 +compiled[Hint] (128:5): Variable 'K' never used +[Hint] (128:5): Variable 'K' never used +compiled[Hint] (130:5): Variable 'HARRY3' never used +[Hint] (130:5): Variable 'HARRY3' never used +compiled[Hint] (131:5): Variable 'HARRY2' never used +[Hint] (131:5): Variable 'HARRY2' never used +compiled[Hint] (172:3): Variable 'C' never used +[Hint] (172:3): Variable 'C' never used +compiled[Hint] (34:5): Variable 'OPEN1' never used +[Hint] (34:5): Variable 'OPEN1' never used +compiled[Hint] (38:5): Variable 'SAVEASJPEG1' never used +[Hint] (38:5): Variable 'SAVEASJPEG1' never used +compiled[Hint] (39:5): Variable 'BITMAP1' never used +[Hint] (39:5): Variable 'BITMAP1' never used +compiled[Hint] (700:8): Variable 'ATEX' never used +[Hint] (700:8): Variable 'ATEX' never used +executed... +exec[Hint] (128:5): Variable 'K' never used +exec[Hint] (130:5): Variable 'HARRY3' never used +exec[Hint] (131:5): Variable 'HARRY2' never used +exec[Hint] (172:3): Variable 'C' never used +exec[Hint] (34:5): Variable 'OPEN1' never used +exec[Hint] (38:5): Variable 'SAVEASJPEG1' never used +exec[Hint] (39:5): Variable 'BITMAP1' never used +exec[Hint] (700:8): Variable 'ATEX' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:27 +Internet Version NOT checked! + +Script examples/752_BitmapHistogram.txt finished: 01.09.2022 12:32:31 > +Script examples/752_BitmapHistogram.txt performs: 3.66 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/752_BitmapHistogram2.txt +examples/752_BitmapHistogram2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 8 +compiled[Hint] (142:5): Variable 'K' never used +[Hint] (142:5): Variable 'K' never used +compiled[Hint] (144:5): Variable 'HARRY3' never used +[Hint] (144:5): Variable 'HARRY3' never used +compiled[Hint] (145:5): Variable 'HARRY2' never used +[Hint] (145:5): Variable 'HARRY2' never used +compiled[Hint] (184:3): Variable 'C' never used +[Hint] (184:3): Variable 'C' never used +compiled[Hint] (34:5): Variable 'OPEN1' never used +[Hint] (34:5): Variable 'OPEN1' never used +compiled[Hint] (38:5): Variable 'SAVEASJPEG1' never used +[Hint] (38:5): Variable 'SAVEASJPEG1' never used +compiled[Hint] (39:5): Variable 'BITMAP1' never used +[Hint] (39:5): Variable 'BITMAP1' never used +compiled[Hint] (701:8): Variable 'ATEX' never used +[Hint] (701:8): Variable 'ATEX' never used +executed... +exec[Hint] (142:5): Variable 'K' never used +exec[Hint] (144:5): Variable 'HARRY3' never used +exec[Hint] (145:5): Variable 'HARRY2' never used +exec[Hint] (184:3): Variable 'C' never used +exec[Hint] (34:5): Variable 'OPEN1' never used +exec[Hint] (38:5): Variable 'SAVEASJPEG1' never used +exec[Hint] (39:5): Variable 'BITMAP1' never used +exec[Hint] (701:8): Variable 'ATEX' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:32 +Internet Version NOT checked! + +Script examples/752_BitmapHistogram2.txt finished: 01.09.2022 12:32:34 > +Script examples/752_BitmapHistogram2.txt performs: 2.524 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/766_wmi_GetAntiVirusProduct2.txt +examples/766_wmi_GetAntiVirusProduct2.txt +Version maXbox4 is: 4.7.6.10 +nit compiled +mXShell: [Error] (28:7): Duplicate identifier 'SC_MANAGER_ALL_ACCESS' +[Error] (28:7): Duplicate identifier 'SC_MANAGER_ALL_ACCESS' +Script examples/766_wmi_GetAntiVirusProduct2.txt finished: 01.09.2022 12:32:37 > +Script examples/766_wmi_GetAntiVirusProduct2.txt performs: 2.236 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>xt +Der Befehl "xt" ist entweder falsch geschrieben oder +konnte nicht gefunden werden. + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/778_advapi32_dll_SHA256.txt +examples/778_advapi32_dll_SHA256.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 5 +compiled[Hint] (124:5): Variable 'APPLICATIONEVENTS1' never used +[Hint] (124:5): Variable 'APPLICATIONEVENTS1' never used +compiled[Hint] (126:5): Variable 'AHA' never used +[Hint] (126:5): Variable 'AHA' never used +compiled[Hint] (136:5): Variable 'BHASH' never used +[Hint] (136:5): Variable 'BHASH' never used +compiled[Hint] (411:5): Variable 'VTEXT' never used +[Hint] (411:5): Variable 'VTEXT' never used +compiled[Hint] (412:5): Variable 'VSHA256' never used +[Hint] (412:5): Variable 'VSHA256' never used + this is stdout + +Start with maXbox4 Console Output -----------------------> + +2 is prime +3 is prime +5 is prime +7 is prime +11 is prime +13 is prime +17 is prime +19 is prime +23 is prime +29 is prime +31 is prime +37 is prime +41 is prime +43 is prime +47 is prime +-----end----- + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/780_ppk_xmltransform_provider2.txt +examples/780_ppk_xmltransform_provider2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 15 +compiled[Hint] (194:5): Variable 'NODES' never used +[Hint] (194:5): Variable 'NODES' never used +compiled[Hint] (194:5): Variable 'CHILDNODES' never used +[Hint] (194:5): Variable 'CHILDNODES' never used +compiled[Hint] (194:5): Variable 'NODE' never used +[Hint] (194:5): Variable 'NODE' never used +compiled[Hint] (195:3): Variable 'AT' never used +[Hint] (195:3): Variable 'AT' never used +compiled[Hint] (334:5): Variable 'CDS2' never used +[Hint] (334:5): Variable 'CDS2' never used +compiled[Hint] (335:3): Variable 'FIELDDEF' never used +[Hint] (335:3): Variable 'FIELDDEF' never used +compiled[Hint] (337:3): Variable 'I' never used +[Hint] (337:3): Variable 'I' never used +compiled[Hint] (338:3): Variable 'ANESTEDDATASET' never used +[Hint] (338:3): Variable 'ANESTEDDATASET' never used +compiled[Hint] (339:3): Variable 'ADSF' never used +[Hint] (339:3): Variable 'ADSF' never used +compiled[Hint] (340:3): Variable 'CUSTOMERADDRESSREF' never used +[Hint] (340:3): Variable 'CUSTOMERADDRESSREF' never used +compiled[Hint] (341:3): Variable 'XMLTRANSFORM' never used +[Hint] (341:3): Variable 'XMLTRANSFORM' never used +compiled[Hint] (343:3): Variable 'EXP' never used +[Hint] (343:3): Variable 'EXP' never used +compiled[Hint] (344:7): Variable 'FIELD' never used +[Hint] (344:7): Variable 'FIELD' never used +compiled[Hint] (345:7): Variable 'IVERFIELD' never used +[Hint] (345:7): Variable 'IVERFIELD' never used +compiled[Hint] (97:7): Variable 'TXML' never used +[Hint] (97:7): Variable 'TXML' never used +executed... +exec[Hint] (194:5): Variable 'NODES' never used +exec[Hint] (194:5): Variable 'CHILDNODES' never used +exec[Hint] (194:5): Variable 'NODE' never used +exec[Hint] (195:3): Variable 'AT' never used +exec[Hint] (334:5): Variable 'CDS2' never used +exec[Hint] (335:3): Variable 'FIELDDEF' never used +exec[Hint] (337:3): Variable 'I' never used +exec[Hint] (338:3): Variable 'ANESTEDDATASET' never used +exec[Hint] (339:3): Variable 'ADSF' never used +exec[Hint] (340:3): Variable 'CUSTOMERADDRESSREF' never used +exec[Hint] (341:3): Variable 'XMLTRANSFORM' never used +exec[Hint] (343:3): Variable 'EXP' never used +exec[Hint] (344:7): Variable 'FIELD' never used +exec[Hint] (345:7): Variable 'IVERFIELD' never used +exec[Hint] (97:7): Variable 'TXML' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:57 +Internet Version NOT checked! +1032 success +var data size: 16 +people: John Smith123 Main Street Sometown NY12345Jane Doe456 Scenic View Blvd RichtownCT23456 +Hello maXbox +FALSE +childnodes: 1 +assigned, childnodes1:TRUE + +Script examples/780_ppk_xmltransform_provider2.txt finished: 01.09.2022 12:32:59 > +Script examples/780_ppk_xmltransform_provider2.txt performs: 2.177 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/781_ProxyUtils2performance.txt +examples/781_ProxyUtils2performance.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 2 +compiled[Hint] (307:3): Variable 'IDOC' never used +[Hint] (307:3): Variable 'IDOC' never used +compiled[Hint] (308:3): Variable 'INODE' never used +[Hint] (308:3): Variable 'INODE' never used +executed... +exec[Hint] (307:3): Variable 'IDOC' never used +exec[Hint] (308:3): Variable 'INODE' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:32:59 +Internet Version NOT checked! + +..\maXbox4\examples\558_hirestimer2test2.txt +..\maXbox4\examples\ +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\ +..\maXbox4\examples\ +Testing. Is 3*4<3+4? Do you like "A & B" +Testing. Is 3*4<3+4? Do you like "A & B" +Testing. Is 3*4<3+4? Do you like "A & B" +267893793 +21014535 +3623081 +0 +???? +?¤????¶§?????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¦ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»¦¦¦¦¦ÁÂÀ©¦¦++¢¥++--+-+ãÃ++--¦-+¤ðÐÊËÈiÍÎÏ++¦_¦Ì¯ÓßÔÒõÕµþÞÚÛÙýݯ´­±=¾¶§÷¸°¨·¹³²¦  +Tasklist opened ..\maXbox4\examples\558_hirestimer2test2.txt + +Script examples/781_ProxyUtils2performance.txt finished: 01.09.2022 12:36:04 > +Script examples/781_ProxyUtils2performance.txt performs: 184.689 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/782_XML_DOM_ADO_API_REST_demo2.txt +examples/782_XML_DOM_ADO_API_REST_demo2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 25 +compiled[Hint] (227:3): Variable 'INODE' never used +[Hint] (227:3): Variable 'INODE' never used +compiled[Hint] (228:3): Variable 'NODES' never used +[Hint] (228:3): Variable 'NODES' never used +compiled[Hint] (236:10): Variable 'Result' never used +[Hint] (236:10): Variable 'Result' never used +compiled[Hint] (287:5): Variable 'NODES' never used +[Hint] (287:5): Variable 'NODES' never used +compiled[Hint] (287:5): Variable 'CHILDNODES' never used +[Hint] (287:5): Variable 'CHILDNODES' never used +compiled[Hint] (287:5): Variable 'NODE' never used +[Hint] (287:5): Variable 'NODE' never used +compiled[Hint] (288:3): Variable 'AT' never used +[Hint] (288:3): Variable 'AT' never used +compiled[Hint] (513:5): Variable 'CDS2' never used +[Hint] (513:5): Variable 'CDS2' never used +compiled[Hint] (514:3): Variable 'FIELDDEF' never used +[Hint] (514:3): Variable 'FIELDDEF' never used +compiled[Hint] (516:3): Variable 'I' never used +[Hint] (516:3): Variable 'I' never used +compiled[Hint] (517:3): Variable 'ANESTEDDATASET' never used +[Hint] (517:3): Variable 'ANESTEDDATASET' never used +compiled[Hint] (518:3): Variable 'ADSF' never used +[Hint] (518:3): Variable 'ADSF' never used +compiled[Hint] (519:3): Variable 'CUSTOMERADDRESSREF' never used +[Hint] (519:3): Variable 'CUSTOMERADDRESSREF' never used +compiled[Hint] (520:3): Variable 'XMLTRANSFORM' never used +[Hint] (520:3): Variable 'XMLTRANSFORM' never used +compiled[Hint] (522:3): Variable 'EXP' never used +[Hint] (522:3): Variable 'EXP' never used +compiled[Hint] (523:7): Variable 'FIELD' never used +[Hint] (523:7): Variable 'FIELD' never used +compiled[Hint] (524:7): Variable 'IVERFIELD' never used +[Hint] (524:7): Variable 'IVERFIELD' never used +compiled[Hint] (658:5): Variable 'ASYN' never used +[Hint] (658:5): Variable 'ASYN' never used +compiled[Hint] (659:5): Variable 'DL' never used +[Hint] (659:5): Variable 'DL' never used +compiled[Hint] (750:3): Variable 'LBOOKMARK' never used +[Hint] (750:3): Variable 'LBOOKMARK' never used +compiled[Hint] (782:3): Variable 'NODEDET' never used +[Hint] (782:3): Variable 'NODEDET' never used +compiled[Hint] (785:3): Variable 'URL' never used +[Hint] (785:3): Variable 'URL' never used +compiled[Hint] (822:3): Variable 'NODES_SE' never used +[Hint] (822:3): Variable 'NODES_SE' never used +compiled[Hint] (823:3): Variable 'J' never used +[Hint] (823:3): Variable 'J' never used +compiled[Hint] (112:7): Variable 'TXML' never used +[Hint] (112:7): Variable 'TXML' never used +Exception: Element does not contain a single text node. Fault : Element does not contain a single text node. +Date/time : 01.09.2022 12:36:10 +Stack dump +---------- +00E3736E +00E3992A +00E399AF +00E39C03 +011BA3A7 +00173737 +00174975 +001660B1 +0017714C +0016DD00 +0016EA96 +00005935 +0016DE4C +0016DE84 +0017E976 +017611BB +000B8AD7 +000B872F +00004CAC +000B8705 +0015CB95 +000C275D + at 44.2770 +Script examples/782_XML_DOM_ADO_API_REST_demo2.txt finished: 01.09.2022 12:36:10 > +Script examples/782_XML_DOM_ADO_API_REST_demo2.txt performs: 1.951 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/789_totient_primes_tester_463functions.txt +examples/789_totient_primes_tester_463functions.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 7 +compiled[Hint] (314:5): Variable 'SHA' never used +[Hint] (314:5): Variable 'SHA' never used +compiled[Hint] (475:4): Variable 'SAPI_SPVOICE' never used +[Hint] (475:4): Variable 'SAPI_SPVOICE' never used +compiled[Hint] (476:4): Variable 'ADICT' never used +[Hint] (476:4): Variable 'ADICT' never used +compiled[Hint] (477:4): Variable 'ADC' never used +[Hint] (477:4): Variable 'ADC' never used +compiled[Hint] (478:4): Variable 'AOBJ' never used +[Hint] (478:4): Variable 'AOBJ' never used +compiled[Hint] (479:4): Variable 'ASTRMAP' never used +[Hint] (479:4): Variable 'ASTRMAP' never used +compiled[Hint] (487:4): Variable 'AWEB' never used +[Hint] (487:4): Variable 'AWEB' never used +executed... +exec[Hint] (314:5): Variable 'SHA' never used +exec[Hint] (475:4): Variable 'SAPI_SPVOICE' never used +exec[Hint] (476:4): Variable 'ADICT' never used +exec[Hint] (477:4): Variable 'ADC' never used +exec[Hint] (478:4): Variable 'AOBJ' never used +exec[Hint] (479:4): Variable 'ASTRMAP' never used +exec[Hint] (487:4): Variable 'AWEB' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:11 +Internet Version NOT checked! +machine name: BREITSCH-BOX +user name is: breitsch +the substrings to relocate and replace with relocate substring +12 + +1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 12 10 22 8 20 +number n Totient(n) isprime: +1 1 FALSE +2 1 TRUE +3 2 TRUE +4 2 FALSE +5 4 TRUE +6 2 FALSE +7 6 TRUE +8 4 FALSE +9 6 FALSE +10 4 FALSE +11 10 TRUE +12 4 FALSE +13 12 TRUE +14 6 FALSE +15 8 FALSE +16 8 FALSE +17 16 TRUE +18 6 FALSE +19 18 TRUE +20 8 FALSE +21 12 FALSE +22 10 FALSE +23 22 TRUE +24 8 FALSE +25 20 FALSE +Limit: primecount: +100 25 +1000 168 +10000 1229 +47610 +64 +2076328550 +9414 +EC6AEB78 4BDF2DEC 91834378 EF4633BB E698CC0D 0EDDAD9E 6488C7FC AFAC7728 +?¦¡×dêó»¼w(´F3+µÿ¦ +EC6AEB784BDF2DEC91834378EF4633BBE698CC0D0EDDAD9E6488C7FCAFAC7728 +¢¨¦$¦Ê?Á?:+S®#ÛQJÅ +BDF9B124B2D21AB51B3AC553A9237808EA514A8F +Script examples/789_totient_primes_tester_463functions.txt finished: 01.09.2022 12:36:19 > +Script examples/789_totient_primes_tester_463functions.txt performs: 8.65 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/875_filehistounit2app_forensic2.txt +examples/875_filehistounit2app_forensic2.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 23 +compiled[Hint] (414:6): Variable 'RECTFORTEXT' never used +[Hint] (414:6): Variable 'RECTFORTEXT' never used +compiled[Hint] (577:4): Variable 'TEXTRECT' never used +[Hint] (577:4): Variable 'TEXTRECT' never used +compiled[Hint] (14:5): Variable 'MAINMENU1' never used +[Hint] (14:5): Variable 'MAINMENU1' never used +compiled[Hint] (15:5): Variable 'EXIT1' never used +[Hint] (15:5): Variable 'EXIT1' never used +compiled[Hint] (16:5): Variable 'OPEN1' never used +[Hint] (16:5): Variable 'OPEN1' never used +compiled[Hint] (17:5): Variable 'N2' never used +[Hint] (17:5): Variable 'N2' never used +compiled[Hint] (18:5): Variable 'EXIT2' never used +[Hint] (18:5): Variable 'EXIT2' never used +compiled[Hint] (19:5): Variable 'HELP1' never used +[Hint] (19:5): Variable 'HELP1' never used +compiled[Hint] (21:5): Variable 'PANEL1' never used +[Hint] (21:5): Variable 'PANEL1' never used +compiled[Hint] (23:5): Variable 'LABEL1' never used +[Hint] (23:5): Variable 'LABEL1' never used +compiled[Hint] (24:5): Variable 'LABEL2' never used +[Hint] (24:5): Variable 'LABEL2' never used +compiled[Hint] (25:5): Variable 'LABEL3' never used +[Hint] (25:5): Variable 'LABEL3' never used +compiled[Hint] (29:5): Variable 'IMAGELIST1' never used +[Hint] (29:5): Variable 'IMAGELIST1' never used +compiled[Hint] (31:5): Variable 'SAVEASBMP2' never used +[Hint] (31:5): Variable 'SAVEASBMP2' never used +compiled[Hint] (32:5): Variable 'N1' never used +[Hint] (32:5): Variable 'N1' never used +compiled[Hint] (34:5): Variable 'CONTENTS1' never used +[Hint] (34:5): Variable 'CONTENTS1' never used +compiled[Hint] (35:5): Variable 'INDEX1' never used +[Hint] (35:5): Variable 'INDEX1' never used +compiled[Hint] (36:5): Variable 'N3' never used +[Hint] (36:5): Variable 'N3' never used +compiled[Hint] (37:5): Variable 'HISTORY1' never used +[Hint] (37:5): Variable 'HISTORY1' never used +compiled[Hint] (38:5): Variable 'MYHOMEPAGE1' never used +[Hint] (38:5): Variable 'MYHOMEPAGE1' never used +compiled[Hint] (39:5): Variable 'N4' never used +[Hint] (39:5): Variable 'N4' never used +compiled[Hint] (40:5): Variable 'ABOUT1' never used +[Hint] (40:5): Variable 'ABOUT1' never used +compiled[Hint] (648:6): Variable 'ABT' never used +[Hint] (648:6): Variable 'ABT' never used +executed... +exec[Hint] (414:6): Variable 'RECTFORTEXT' never used +exec[Hint] (577:4): Variable 'TEXTRECT' never used +exec[Hint] (14:5): Variable 'MAINMENU1' never used +exec[Hint] (15:5): Variable 'EXIT1' never used +exec[Hint] (16:5): Variable 'OPEN1' never used +exec[Hint] (17:5): Variable 'N2' never used +exec[Hint] (18:5): Variable 'EXIT2' never used +exec[Hint] (19:5): Variable 'HELP1' never used +exec[Hint] (21:5): Variable 'PANEL1' never used +exec[Hint] (23:5): Variable 'LABEL1' never used +exec[Hint] (24:5): Variable 'LABEL2' never used +exec[Hint] (25:5): Variable 'LABEL3' never used +exec[Hint] (29:5): Variable 'IMAGELIST1' never used +exec[Hint] (31:5): Variable 'SAVEASBMP2' never used +exec[Hint] (32:5): Variable 'N1' never used +exec[Hint] (34:5): Variable 'CONTENTS1' never used +exec[Hint] (35:5): Variable 'INDEX1' never used +exec[Hint] (36:5): Variable 'N3' never used +exec[Hint] (37:5): Variable 'HISTORY1' never used +exec[Hint] (38:5): Variable 'MYHOMEPAGE1' never used +exec[Hint] (39:5): Variable 'N4' never used +exec[Hint] (40:5): Variable 'ABOUT1' never used +exec[Hint] (648:6): Variable 'ABT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:20 +Internet Version NOT checked! +{*************************************************************** +file size: 30226 + 4.1E10 % + 105 + 8.2E10 % 111 + 1.2E11 % 32 + 1.6E11 % 13 + 2E11 % 122 + 2.5E11 % 110 + 2.9E11 % 104 + 3E11 % 47 + 3E11 % 47 +totals 43.2501 +30226 +621 digits; 1059 numbers; 19689 letters; (16560 lower and 3129 upper); 3467 punctuation; 2124 separators; 379 symbols; 6449 whitespaces +Summe=10 +Script examples/875_filehistounit2app_forensic2.txt finished: 01.09.2022 12:36:29 > +Script examples/875_filehistounit2app_forensic2.txt performs: 8.393 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/942_gaussen_data_science3.txt +examples/942_gaussen_data_science3.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 4 +compiled[Hint] (824:10): Variable 'Result' never used +[Hint] (824:10): Variable 'Result' never used +compiled[Hint] (23:7): Variable 'AQUERY' never used +[Hint] (23:7): Variable 'AQUERY' never used +compiled[Hint] (2469:5): Variable 'RNDPIC' never used +[Hint] (2469:5): Variable 'RNDPIC' never used +compiled[Hint] (2469:27): Variable 'ABT' never used +[Hint] (2469:27): Variable 'ABT' never used +executed... +exec[Hint] (824:10): Variable 'Result' never used +exec[Hint] (23:7): Variable 'AQUERY' never used +exec[Hint] (2469:5): Variable 'RNDPIC' never used +exec[Hint] (2469:27): Variable 'ABT' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:30 +Internet Version NOT checked! +Runs 5-10 random pictures on a canvas get from a web service +1.15572734979092 +3. Get Task Process Priority Info: +PriorityLevelID of maXbox: 8 +PriorityLevelID of maXbox: 8 +PriorityLevelID of maXbox: 8 +PriorityLevelID of maXbox: 8 +PriorityLevelID of maXbox: 8 +PriorityLevelID of maXbox: 8 +Der Vorgang wurde erfolgreich beendet + +Script examples/942_gaussen_data_science3.txt finished: 01.09.2022 12:36:33 > +Script examples/942_gaussen_data_science3.txt performs: 3.418 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/950_saint_source23.txt +examples/950_saint_source23.txt +Version maXbox4 is: 4.7.6.10 +nit compiled +mXShell: [Error] (43:3): Duplicate identifier 'TPythonVersionProp' +[Error] (43:3): Duplicate identifier 'TPythonVersionProp' +Script examples/950_saint_source23.txt finished: 01.09.2022 12:36:36 > +Script examples/950_saint_source23.txt performs: 2.01 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/weatherapp47.txt +examples/weatherapp47.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 20 +compiled[Hint] (925:5): Variable 'ASYN' never used +[Hint] (925:5): Variable 'ASYN' never used +compiled[Hint] (1128:7): Variable 'ABITMAP' never used +[Hint] (1128:7): Variable 'ABITMAP' never used +compiled[Hint] (1129:5): Variable 'ZOOMVAL' never used +[Hint] (1129:5): Variable 'ZOOMVAL' never used +compiled[Hint] (1:12): Variable 'Result' never used +[Hint] (1:12): Variable 'Result' never used +compiled[Hint] (1314:5): Variable 'TMPS' never used +[Hint] (1314:5): Variable 'TMPS' never used +compiled[Hint] (121:5): Variable 'MAINMENU1' never used +[Hint] (121:5): Variable 'MAINMENU1' never used +compiled[Hint] (122:5): Variable 'DATEI1' never used +[Hint] (122:5): Variable 'DATEI1' never used +compiled[Hint] (125:5): Variable 'TBTNGENERATOR' never used +[Hint] (125:5): Variable 'TBTNGENERATOR' never used +compiled[Hint] (126:5): Variable 'GENERATOR' never used +[Hint] (126:5): Variable 'GENERATOR' never used +compiled[Hint] (129:5): Variable 'SPLITTER1' never used +[Hint] (129:5): Variable 'SPLITTER1' never used +compiled[Hint] (131:5): Variable 'IMAGELIST4' never used +[Hint] (131:5): Variable 'IMAGELIST4' never used +compiled[Hint] (132:5): Variable 'IMAGELIST5' never used +[Hint] (132:5): Variable 'IMAGELIST5' never used +compiled[Hint] (133:5): Variable 'FRACTALS' never used +[Hint] (133:5): Variable 'FRACTALS' never used +compiled[Hint] (134:5): Variable 'OPTIONS' never used +[Hint] (134:5): Variable 'OPTIONS' never used +compiled[Hint] (143:5): Variable 'WS_URL' never used +[Hint] (143:5): Variable 'WS_URL' never used +compiled[Hint] (145:5): Variable 'MYWS' never used +[Hint] (145:5): Variable 'MYWS' never used +compiled[Hint] (148:6): Variable 'LISTITEM2' never used +[Hint] (148:6): Variable 'LISTITEM2' never used +compiled[Hint] (158:5): Variable 'ASOCK' never used +[Hint] (158:5): Variable 'ASOCK' never used +compiled[Hint] (794:3): Variable 'FOLDRECT' never used +[Hint] (794:3): Variable 'FOLDRECT' never used +compiled[Hint] (795:3): Variable 'FIRSTTIME' never used +[Hint] (795:3): Variable 'FIRSTTIME' never used +Exception: '' is not a valid floating point value. Fault : '' is not a valid floating point value. +Date/time : 01.09.2022 12:36:39 +Stack dump +---------- +0000D6CA +00012F1F +00005935 +00173FF1 +0017366D +001744FC +00178EC1 +00178F37 +0016EA96 +00005935 +0016DE4C +0016DE84 +0017E976 +017611BB +000B8AD7 +000B872F +00004CAC +000B8705 +0015CB95 +000C275D + at 243.664 +Script examples/weatherapp47.txt finished: 01.09.2022 12:36:39 > +Script examples/weatherapp47.txt performs: 2.601 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/weatherapp471.txt +examples/weatherapp471.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 20 +compiled[Hint] (951:5): Variable 'ASYN' never used +[Hint] (951:5): Variable 'ASYN' never used +compiled[Hint] (1154:7): Variable 'ABITMAP' never used +[Hint] (1154:7): Variable 'ABITMAP' never used +compiled[Hint] (1155:5): Variable 'ZOOMVAL' never used +[Hint] (1155:5): Variable 'ZOOMVAL' never used +compiled[Hint] (1:12): Variable 'Result' never used +[Hint] (1:12): Variable 'Result' never used +compiled[Hint] (1324:5): Variable 'TMPS' never used +[Hint] (1324:5): Variable 'TMPS' never used +compiled[Hint] (120:5): Variable 'MAINMENU1' never used +[Hint] (120:5): Variable 'MAINMENU1' never used +compiled[Hint] (121:5): Variable 'DATEI1' never used +[Hint] (121:5): Variable 'DATEI1' never used +compiled[Hint] (124:5): Variable 'TBTNGENERATOR' never used +[Hint] (124:5): Variable 'TBTNGENERATOR' never used +compiled[Hint] (125:5): Variable 'GENERATOR' never used +[Hint] (125:5): Variable 'GENERATOR' never used +compiled[Hint] (128:5): Variable 'SPLITTER1' never used +[Hint] (128:5): Variable 'SPLITTER1' never used +compiled[Hint] (130:5): Variable 'IMAGELIST4' never used +[Hint] (130:5): Variable 'IMAGELIST4' never used +compiled[Hint] (131:5): Variable 'IMAGELIST5' never used +[Hint] (131:5): Variable 'IMAGELIST5' never used +compiled[Hint] (132:5): Variable 'FRACTALS' never used +[Hint] (132:5): Variable 'FRACTALS' never used +compiled[Hint] (133:5): Variable 'OPTIONS' never used +[Hint] (133:5): Variable 'OPTIONS' never used +compiled[Hint] (142:5): Variable 'WS_URL' never used +[Hint] (142:5): Variable 'WS_URL' never used +compiled[Hint] (144:5): Variable 'MYWS' never used +[Hint] (144:5): Variable 'MYWS' never used +compiled[Hint] (147:6): Variable 'LISTITEM2' never used +[Hint] (147:6): Variable 'LISTITEM2' never used +compiled[Hint] (157:5): Variable 'ASOCK' never used +[Hint] (157:5): Variable 'ASOCK' never used +compiled[Hint] (854:3): Variable 'FOLDRECT' never used +[Hint] (854:3): Variable 'FOLDRECT' never used +compiled[Hint] (855:3): Variable 'FIRSTTIME' never used +[Hint] (855:3): Variable 'FIRSTTIME' never used +executed... +exec[Hint] (951:5): Variable 'ASYN' never used +exec[Hint] (1154:7): Variable 'ABITMAP' never used +exec[Hint] (1155:5): Variable 'ZOOMVAL' never used +exec[Hint] (1:12): Variable 'Result' never used +exec[Hint] (1324:5): Variable 'TMPS' never used +exec[Hint] (120:5): Variable 'MAINMENU1' never used +exec[Hint] (121:5): Variable 'DATEI1' never used +exec[Hint] (124:5): Variable 'TBTNGENERATOR' never used +exec[Hint] (125:5): Variable 'GENERATOR' never used +exec[Hint] (128:5): Variable 'SPLITTER1' never used +exec[Hint] (130:5): Variable 'IMAGELIST4' never used +exec[Hint] (131:5): Variable 'IMAGELIST5' never used +exec[Hint] (132:5): Variable 'FRACTALS' never used +exec[Hint] (133:5): Variable 'OPTIONS' never used +exec[Hint] (142:5): Variable 'WS_URL' never used +exec[Hint] (144:5): Variable 'MYWS' never used +exec[Hint] (147:6): Variable 'LISTITEM2' never used +exec[Hint] (157:5): Variable 'ASOCK' never used +exec[Hint] (854:3): Variable 'FOLDRECT' never used +exec[Hint] (855:3): Variable 'FIRSTTIME' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:40 +Internet Version NOT checked! +imagelist *.dat has been downloaded at: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\ +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Coord of : 67.8557 20.2251 +new test GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Weather Id:803 is Clouds in: Kiruna at 5.51¦ of 1029 pressure with 70% humid +GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Coord of : 45.6486 13.78 +new test GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Weather Id:803 is Clouds in: Trieste at 23.24¦ of 1011 pressure with 51% humid +GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Coord of : 50.9333 6.95 +new test GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Weather Id:800 is Clear in: Cologne at 23.65¦ of 1020 pressure with 43% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Coord of : 46.6247 14.3053 +new test GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Weather Id:803 is Clouds in: Klagenfurt at 19.58¦ of 1018 pressure with 64% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Coord of : 48.8534 2.3488 +new test GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Weather Id:800 is Clear in: Paris at 24.47¦ of 1016 pressure with 59% humid +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +bern sunsettest: GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +1662007773 +bern sunrise: 01.09.2022 04:49:33 +bern sunset: 01.09.2022 18:11:28 +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Coord of : 59.3326 18.0649 +new test GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Weather Id:802 is Clouds in: Stockholm at 14.1¦ of 1022 pressure with 72% humid +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Coord of : 23.133 -82.383 +new test GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Weather Id:803 is Clouds in: Havana at 23.24¦ of 1014 pressure with 94% humid +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Coord of : 50.8504 4.3488 +new test GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Weather Id:800 is Clear in: Brussels at 24.63¦ of 1020 pressure with 42% humid +decimalseparator: . +UserSpaceAvail: 290425856 TotalSpaceAvail: 290425856 DiskSize: 498938876 +TCustomWinSocket host: +TCustomWinSocket port: 0 +756 +k÷ln time: 29.10.2015 13:59:50 +havana time: 29.10.2015 13:33:06 +Sunriseset table of Bern, CH +12:36 +sunrise of 01.09.2022 : 04:46 sunSet: 18:11 +sunrise of 02.09.2022 : 04:47 sunSet: 18:09 +sunrise of 04.09.2022 : 04:50 sunSet: 18:05 +sunrise of 07.09.2022 : 04:54 sunSet: 17:59 +sunrise of 11.09.2022 : 04:59 sunSet: 17:51 +sunrise of 16.09.2022 : 05:05 sunSet: 17:41 +sunrise of 22.09.2022 : 05:13 sunSet: 17:29 +sunrise of 29.09.2022 : 05:23 sunSet: 17:15 +sunrise of 07.10.2022 : 05:33 sunSet: 16:59 +sunrise of 16.10.2022 : 05:46 sunSet: 16:42 +sunrise of 26.10.2022 : 06:00 sunSet: 16:24 +sunrise of 06.11.2022 : 06:16 sunSet: 16:07 +sunrise of 18.11.2022 : 06:34 sunSet: 15:52 +sunrise of 01.12.2022 : 06:51 sunSet: 15:42 +sunrise of 15.12.2022 : 07:06 sunSet: 15:40 +sunrise of 30.12.2022 : 07:14 sunSet: 15:47 +sunrise of 15.01.2023 : 07:11 sunSet: 16:04 +sunrise of 01.02.2023 : 06:55 sunSet: 16:29 +sunrise of 19.02.2023 : 06:29 sunSet: 16:56 +sunrise of 10.03.2023 : 05:54 sunSet: 17:24 +sunrise of 30.03.2023 : 05:15 sunSet: 17:53 +sunrise of 20.04.2023 : 04:35 sunSet: 18:21 +sunrise of 12.05.2023 : 03:59 sunSet: 18:51 +sunrise of 04.06.2023 : 03:37 sunSet: 19:17 +sunrise of 28.06.2023 : 03:35 sunSet: 19:27 +sunrise of 23.07.2023 : 03:55 sunSet: 19:14 +IP Weather Local City Name: Bern +IP Weather Local Country Name: CH +aeo name convert: Bern +GetRealIP2_string: { + "ip": "46.127.119.188", + "hostname": "46-127-119-188.dynamic.hispeed.ch", + "city": "Bern", + "region": "Bern", + "country": "CH", + "loc": "46.9481,7.4474", + "org": "AS6830 Liberty Global B.V.", + "postal": "3000", + "timezone": "Europe/Zurich", + "readme": "https://ipinfo.io/missingauth" +} +Weather Report date: Thu, 1 Sep 2022 12:36:44 +0200 +Local Weather Sensor: Bern CH +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +Script examples/weatherapp471.txt finished: 01.09.2022 12:36:46 > +Script examples/weatherapp471.txt performs: 5.796 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/weatherapp474.txt +examples/weatherapp474.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 31 +compiled[Hint] (1008:5): Variable 'ASYN' never used +[Hint] (1008:5): Variable 'ASYN' never used +compiled[Hint] (1233:7): Variable 'ABITMAP' never used +[Hint] (1233:7): Variable 'ABITMAP' never used +compiled[Hint] (1234:5): Variable 'ZOOMVAL' never used +[Hint] (1234:5): Variable 'ZOOMVAL' never used +compiled[Hint] (1:12): Variable 'Result' never used +[Hint] (1:12): Variable 'Result' never used +compiled[Hint] (1365:4): Variable 'HT' never used +[Hint] (1365:4): Variable 'HT' never used +compiled[Hint] (1451:5): Variable 'TMPS' never used +[Hint] (1451:5): Variable 'TMPS' never used +compiled[Hint] (1553:32): Variable 'SCALE' never used +[Hint] (1553:32): Variable 'SCALE' never used +compiled[Hint] (1554:3): Variable 'YMIN2' never used +[Hint] (1554:3): Variable 'YMIN2' never used +compiled[Hint] (1555:3): Variable 'X' never used +[Hint] (1555:3): Variable 'X' never used +compiled[Hint] (1555:16): Variable 'LB' never used +[Hint] (1555:16): Variable 'LB' never used +compiled[Hint] (1555:16): Variable 'UB' never used +[Hint] (1555:16): Variable 'UB' never used +compiled[Hint] (1555:34): Variable 'ASCALE' never used +[Hint] (1555:34): Variable 'ASCALE' never used +compiled[Hint] (1555:55): Variable 'XMIN' never used +[Hint] (1555:55): Variable 'XMIN' never used +compiled[Hint] (1555:55): Variable 'XMAX' never used +[Hint] (1555:55): Variable 'XMAX' never used +compiled[Hint] (1555:55): Variable 'XSTEP' never used +[Hint] (1555:55): Variable 'XSTEP' never used +compiled[Hint] (2318:8): Variable 'ASR' never used +[Hint] (2318:8): Variable 'ASR' never used +compiled[Hint] (126:5): Variable 'MAINMENU1' never used +[Hint] (126:5): Variable 'MAINMENU1' never used +compiled[Hint] (127:5): Variable 'DATEI1' never used +[Hint] (127:5): Variable 'DATEI1' never used +compiled[Hint] (130:5): Variable 'TBTNGENERATOR' never used +[Hint] (130:5): Variable 'TBTNGENERATOR' never used +compiled[Hint] (131:5): Variable 'GENERATOR' never used +[Hint] (131:5): Variable 'GENERATOR' never used +compiled[Hint] (134:5): Variable 'SPLITTER1' never used +[Hint] (134:5): Variable 'SPLITTER1' never used +compiled[Hint] (136:5): Variable 'IMAGELIST4' never used +[Hint] (136:5): Variable 'IMAGELIST4' never used +compiled[Hint] (137:5): Variable 'IMAGELIST5' never used +[Hint] (137:5): Variable 'IMAGELIST5' never used +compiled[Hint] (138:5): Variable 'FRACTALS' never used +[Hint] (138:5): Variable 'FRACTALS' never used +compiled[Hint] (139:5): Variable 'OPTIONS' never used +[Hint] (139:5): Variable 'OPTIONS' never used +compiled[Hint] (148:5): Variable 'WS_URL' never used +[Hint] (148:5): Variable 'WS_URL' never used +compiled[Hint] (150:5): Variable 'MYWS' never used +[Hint] (150:5): Variable 'MYWS' never used +compiled[Hint] (153:6): Variable 'LISTITEM2' never used +[Hint] (153:6): Variable 'LISTITEM2' never used +compiled[Hint] (163:5): Variable 'ASOCK' never used +[Hint] (163:5): Variable 'ASOCK' never used +compiled[Hint] (911:3): Variable 'FOLDRECT' never used +[Hint] (911:3): Variable 'FOLDRECT' never used +compiled[Hint] (912:3): Variable 'FIRSTTIME' never used +[Hint] (912:3): Variable 'FIRSTTIME' never used +executed... +exec[Hint] (1008:5): Variable 'ASYN' never used +exec[Hint] (1233:7): Variable 'ABITMAP' never used +exec[Hint] (1234:5): Variable 'ZOOMVAL' never used +exec[Hint] (1:12): Variable 'Result' never used +exec[Hint] (1365:4): Variable 'HT' never used +exec[Hint] (1451:5): Variable 'TMPS' never used +exec[Hint] (1553:32): Variable 'SCALE' never used +exec[Hint] (1554:3): Variable 'YMIN2' never used +exec[Hint] (1555:3): Variable 'X' never used +exec[Hint] (1555:16): Variable 'LB' never used +exec[Hint] (1555:16): Variable 'UB' never used +exec[Hint] (1555:34): Variable 'ASCALE' never used +exec[Hint] (1555:55): Variable 'XMIN' never used +exec[Hint] (1555:55): Variable 'XMAX' never used +exec[Hint] (1555:55): Variable 'XSTEP' never used +exec[Hint] (2318:8): Variable 'ASR' never used +exec[Hint] (126:5): Variable 'MAINMENU1' never used +exec[Hint] (127:5): Variable 'DATEI1' never used +exec[Hint] (130:5): Variable 'TBTNGENERATOR' never used +exec[Hint] (131:5): Variable 'GENERATOR' never used +exec[Hint] (134:5): Variable 'SPLITTER1' never used +exec[Hint] (136:5): Variable 'IMAGELIST4' never used +exec[Hint] (137:5): Variable 'IMAGELIST5' never used +exec[Hint] (138:5): Variable 'FRACTALS' never used +exec[Hint] (139:5): Variable 'OPTIONS' never used +exec[Hint] (148:5): Variable 'WS_URL' never used +exec[Hint] (150:5): Variable 'MYWS' never used +exec[Hint] (153:6): Variable 'LISTITEM2' never used +exec[Hint] (163:5): Variable 'ASOCK' never used +exec[Hint] (911:3): Variable 'FOLDRECT' never used +exec[Hint] (912:3): Variable 'FIRSTTIME' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:46 +Internet Version NOT checked! +imagelist *.dat has been downloaded at: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\ +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Coord of : 67.8557 20.2251 +new test GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Weather Id:803 is Clouds in: Kiruna at 5.51¦ of 1029 pressure with 70% humid +GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Coord of : 45.6486 13.78 +new test GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Weather Id:803 is Clouds in: Trieste at 23.24¦ of 1011 pressure with 51% humid +GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Coord of : 50.9333 6.95 +new test GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Weather Id:800 is Clear in: Cologne at 23.65¦ of 1020 pressure with 43% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Coord of : 46.6247 14.3053 +new test GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Weather Id:803 is Clouds in: Klagenfurt at 19.58¦ of 1018 pressure with 64% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Coord of : 48.8534 2.3488 +new test GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Weather Id:800 is Clear in: Paris at 24.47¦ of 1016 pressure with 59% humid +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +bern sunsettest: GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +1662007773 +bern sunrise: 01.09.2022 04:49:33 +bern sunset: 01.09.2022 18:11:28 +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Coord of : 59.3326 18.0649 +new test GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Weather Id:802 is Clouds in: Stockholm at 14.1¦ of 1022 pressure with 72% humid +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Coord of : 23.133 -82.383 +new test GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Weather Id:803 is Clouds in: Havana at 23.24¦ of 1014 pressure with 94% humid +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Coord of : 50.8504 4.3488 +new test GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Weather Id:800 is Clear in: Brussels at 24.63¦ of 1020 pressure with 42% humid +decimalseparator: . +UserSpaceAvail: 290425456 TotalSpaceAvail: 290425456 DiskSize: 498938876 +TCustomWinSocket host: +TCustomWinSocket port: 0 +756 +k÷ln time: 29.10.2015 13:59:50 +havana time: 29.10.2015 13:33:06 +Sunriseset table of Bern, CH +12:36 +sunrise of 01.09.2022 : 04:46 sunSet: 18:11 +sunrise of 02.09.2022 : 04:47 sunSet: 18:09 +sunrise of 04.09.2022 : 04:50 sunSet: 18:05 +sunrise of 07.09.2022 : 04:54 sunSet: 17:59 +sunrise of 11.09.2022 : 04:59 sunSet: 17:51 +sunrise of 16.09.2022 : 05:05 sunSet: 17:41 +sunrise of 22.09.2022 : 05:13 sunSet: 17:29 +sunrise of 29.09.2022 : 05:23 sunSet: 17:15 +sunrise of 07.10.2022 : 05:33 sunSet: 16:59 +sunrise of 16.10.2022 : 05:46 sunSet: 16:42 +sunrise of 26.10.2022 : 06:00 sunSet: 16:24 +sunrise of 06.11.2022 : 06:16 sunSet: 16:07 +sunrise of 18.11.2022 : 06:34 sunSet: 15:52 +sunrise of 01.12.2022 : 06:51 sunSet: 15:42 +sunrise of 15.12.2022 : 07:06 sunSet: 15:40 +sunrise of 30.12.2022 : 07:14 sunSet: 15:47 +sunrise of 15.01.2023 : 07:11 sunSet: 16:04 +sunrise of 01.02.2023 : 06:55 sunSet: 16:29 +sunrise of 19.02.2023 : 06:29 sunSet: 16:56 +sunrise of 10.03.2023 : 05:54 sunSet: 17:24 +sunrise of 30.03.2023 : 05:15 sunSet: 17:53 +sunrise of 20.04.2023 : 04:35 sunSet: 18:21 +sunrise of 12.05.2023 : 03:59 sunSet: 18:51 +sunrise of 04.06.2023 : 03:37 sunSet: 19:17 +sunrise of 28.06.2023 : 03:35 sunSet: 19:27 +sunrise of 23.07.2023 : 03:55 sunSet: 19:14 +IP Weather Local City Name: Bern +IP Weather Local Country Name: CH +aeo name convert: Bern +GetRealIP2_string: { + "ip": "46.127.119.188", + "hostname": "46-127-119-188.dynamic.hispeed.ch", + "city": "Bern", + "region": "Bern", + "country": "CH", + "loc": "46.9481,7.4474", + "org": "AS6830 Liberty Global B.V.", + "postal": "3000", + "timezone": "Europe/Zurich", + "readme": "https://ipinfo.io/missingauth" +} +Weather Report date: Thu, 1 Sep 2022 12:36:51 +0200 +Local Weather Sensor: Bern CH +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +Script examples/weatherapp474.txt finished: 01.09.2022 12:36:52 > +Script examples/weatherapp474.txt performs: 5.943 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>maxbox4.exe -c examples/weatherapp475.txt +examples/weatherapp475.txt +Version maXbox4 is: 4.7.6.10 +compiled... +XCompiler Message Count: 31 +compiled[Hint] (1020:5): Variable 'ASYN' never used +[Hint] (1020:5): Variable 'ASYN' never used +compiled[Hint] (1245:7): Variable 'ABITMAP' never used +[Hint] (1245:7): Variable 'ABITMAP' never used +compiled[Hint] (1246:5): Variable 'ZOOMVAL' never used +[Hint] (1246:5): Variable 'ZOOMVAL' never used +compiled[Hint] (1:12): Variable 'Result' never used +[Hint] (1:12): Variable 'Result' never used +compiled[Hint] (1377:4): Variable 'HT' never used +[Hint] (1377:4): Variable 'HT' never used +compiled[Hint] (1463:5): Variable 'TMPS' never used +[Hint] (1463:5): Variable 'TMPS' never used +compiled[Hint] (1565:32): Variable 'SCALE' never used +[Hint] (1565:32): Variable 'SCALE' never used +compiled[Hint] (1566:3): Variable 'YMIN2' never used +[Hint] (1566:3): Variable 'YMIN2' never used +compiled[Hint] (1567:3): Variable 'X' never used +[Hint] (1567:3): Variable 'X' never used +compiled[Hint] (1567:16): Variable 'LB' never used +[Hint] (1567:16): Variable 'LB' never used +compiled[Hint] (1567:16): Variable 'UB' never used +[Hint] (1567:16): Variable 'UB' never used +compiled[Hint] (1567:34): Variable 'ASCALE' never used +[Hint] (1567:34): Variable 'ASCALE' never used +compiled[Hint] (1567:55): Variable 'XMIN' never used +[Hint] (1567:55): Variable 'XMIN' never used +compiled[Hint] (1567:55): Variable 'XMAX' never used +[Hint] (1567:55): Variable 'XMAX' never used +compiled[Hint] (1567:55): Variable 'XSTEP' never used +[Hint] (1567:55): Variable 'XSTEP' never used +compiled[Hint] (2337:8): Variable 'ASR' never used +[Hint] (2337:8): Variable 'ASR' never used +compiled[Hint] (126:5): Variable 'MAINMENU1' never used +[Hint] (126:5): Variable 'MAINMENU1' never used +compiled[Hint] (127:5): Variable 'DATEI1' never used +[Hint] (127:5): Variable 'DATEI1' never used +compiled[Hint] (130:5): Variable 'TBTNGENERATOR' never used +[Hint] (130:5): Variable 'TBTNGENERATOR' never used +compiled[Hint] (131:5): Variable 'GENERATOR' never used +[Hint] (131:5): Variable 'GENERATOR' never used +compiled[Hint] (134:5): Variable 'SPLITTER1' never used +[Hint] (134:5): Variable 'SPLITTER1' never used +compiled[Hint] (136:5): Variable 'IMAGELIST4' never used +[Hint] (136:5): Variable 'IMAGELIST4' never used +compiled[Hint] (137:5): Variable 'IMAGELIST5' never used +[Hint] (137:5): Variable 'IMAGELIST5' never used +compiled[Hint] (138:5): Variable 'FRACTALS' never used +[Hint] (138:5): Variable 'FRACTALS' never used +compiled[Hint] (139:5): Variable 'OPTIONS' never used +[Hint] (139:5): Variable 'OPTIONS' never used +compiled[Hint] (148:5): Variable 'WS_URL' never used +[Hint] (148:5): Variable 'WS_URL' never used +compiled[Hint] (150:5): Variable 'MYWS' never used +[Hint] (150:5): Variable 'MYWS' never used +compiled[Hint] (153:6): Variable 'LISTITEM2' never used +[Hint] (153:6): Variable 'LISTITEM2' never used +compiled[Hint] (163:5): Variable 'ASOCK' never used +[Hint] (163:5): Variable 'ASOCK' never used +compiled[Hint] (923:3): Variable 'FOLDRECT' never used +[Hint] (923:3): Variable 'FOLDRECT' never used +compiled[Hint] (924:3): Variable 'FIRSTTIME' never used +[Hint] (924:3): Variable 'FIRSTTIME' never used +executed... +exec[Hint] (1020:5): Variable 'ASYN' never used +exec[Hint] (1245:7): Variable 'ABITMAP' never used +exec[Hint] (1246:5): Variable 'ZOOMVAL' never used +exec[Hint] (1:12): Variable 'Result' never used +exec[Hint] (1377:4): Variable 'HT' never used +exec[Hint] (1463:5): Variable 'TMPS' never used +exec[Hint] (1565:32): Variable 'SCALE' never used +exec[Hint] (1566:3): Variable 'YMIN2' never used +exec[Hint] (1567:3): Variable 'X' never used +exec[Hint] (1567:16): Variable 'LB' never used +exec[Hint] (1567:16): Variable 'UB' never used +exec[Hint] (1567:34): Variable 'ASCALE' never used +exec[Hint] (1567:55): Variable 'XMIN' never used +exec[Hint] (1567:55): Variable 'XMAX' never used +exec[Hint] (1567:55): Variable 'XSTEP' never used +exec[Hint] (2337:8): Variable 'ASR' never used +exec[Hint] (126:5): Variable 'MAINMENU1' never used +exec[Hint] (127:5): Variable 'DATEI1' never used +exec[Hint] (130:5): Variable 'TBTNGENERATOR' never used +exec[Hint] (131:5): Variable 'GENERATOR' never used +exec[Hint] (134:5): Variable 'SPLITTER1' never used +exec[Hint] (136:5): Variable 'IMAGELIST4' never used +exec[Hint] (137:5): Variable 'IMAGELIST5' never used +exec[Hint] (138:5): Variable 'FRACTALS' never used +exec[Hint] (139:5): Variable 'OPTIONS' never used +exec[Hint] (148:5): Variable 'WS_URL' never used +exec[Hint] (150:5): Variable 'MYWS' never used +exec[Hint] (153:6): Variable 'LISTITEM2' never used +exec[Hint] (163:5): Variable 'ASOCK' never used +exec[Hint] (923:3): Variable 'FOLDRECT' never used +exec[Hint] (924:3): Variable 'FIRSTTIME' never used +Welcode Coder: memo1 is editor - memo2 is output +..\maXbox4\examples\558_hirestimer2test2.txt File loaded +DataExecutionPrevention DEP active .ini: 12:36:53 +Internet Version NOT checked! +imagelist *.dat has been downloaded at: C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4\ +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Coord of : 67.8557 20.2251 +new test GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +Weather Id:803 is Clouds in: Kiruna at 5.51¦ of 1029 pressure with 70% humid +GEO_Weather_Report2: {"coord":{"lon":20.2251,"lat":67.8557},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":5.51,"feels_like":3.05,"temp_min":5.51,"temp_max":5.51,"pressure":1029,"humidity":70},"visibility":10000,"wind":{"speed":3.09,"deg":60},"clouds":{"all":75},"dt":1662028599,"sys":{"type":1,"id":1771,"country":"SE","sunrise":1662001532,"sunset":1662055996},"timezone":7200,"id":605155,"name":"Kiruna","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Coord of : 45.6486 13.78 +new test GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +Weather Id:803 is Clouds in: Trieste at 23.24¦ of 1011 pressure with 51% humid +GEO_Weather_Report2: {"coord":{"lon":13.78,"lat":45.6486},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":23.24,"feels_like":22.95,"temp_min":20.92,"temp_max":24.65,"pressure":1011,"humidity":51},"visibility":10000,"wind":{"speed":8.23,"deg":40},"clouds":{"all":75},"dt":1662028602,"sys":{"type":2,"id":2011703,"country":"IT","sunrise":1662006356,"sunset":1662054266},"timezone":7200,"id":3165185,"name":"Trieste","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Coord of : 50.9333 6.95 +new test GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +Weather Id:800 is Clear in: Cologne at 23.65¦ of 1020 pressure with 43% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Coord of : 46.6247 14.3053 +new test GEO_Weather_Report2: {"coord":{"lon":14.3053,"lat":46.6247},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":19.58,"feels_like":19.26,"temp_min":14.91,"temp_max":20.67,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":1.54,"deg":0},"clouds":{"all":75},"dt":1662028603,"sys":{"type":1,"id":6875,"country":"AT","sunrise":1662006152,"sunset":1662054217},"timezone":7200,"id":2774326,"name":"Klagenfurt","cod":200} +Weather Id:803 is Clouds in: Klagenfurt at 19.58¦ of 1018 pressure with 64% humid +GEO_Weather_Report2: {"coord":{"lon":6.95,"lat":50.9333},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":23.65,"feels_like":23.19,"temp_min":21.83,"temp_max":25.81,"pressure":1020,"humidity":43},"visibility":10000,"wind":{"speed":5.14,"deg":130},"clouds":{"all":0},"dt":1662028603,"sys":{"type":2,"id":2005976,"country":"DE","sunrise":1662007537,"sunset":1662056362},"timezone":7200,"id":2886242,"name":"Cologne","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Coord of : 48.8534 2.3488 +new test GEO_Weather_Report2: {"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.47,"feels_like":24.51,"temp_min":23.41,"temp_max":26.04,"pressure":1016,"humidity":59},"visibility":10000,"wind":{"speed":3.6,"deg":70},"clouds":{"all":0},"dt":1662028512,"sys":{"type":2,"id":2041230,"country":"FR","sunrise":1662008835,"sunset":1662057272},"timezone":7200,"id":2988507,"name":"Paris","cod":200} +Weather Id:800 is Clear in: Paris at 24.47¦ of 1016 pressure with 59% humid +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +bern sunsettest: GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028336,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +1662007773 +bern sunrise: 01.09.2022 04:49:33 +bern sunset: 01.09.2022 18:11:28 +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Coord of : 59.3326 18.0649 +new test GEO_Weather_Report2: {"coord":{"lon":18.0649,"lat":59.3326},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":14.1,"feels_like":13.45,"temp_min":13,"temp_max":15.48,"pressure":1022,"humidity":72},"visibility":10000,"wind":{"speed":4.63,"deg":340},"clouds":{"all":40},"dt":1662028545,"sys":{"type":1,"id":1788,"country":"SE","sunrise":1662003848,"sunset":1662054717},"timezone":7200,"id":2673730,"name":"Stockholm","cod":200} +Weather Id:802 is Clouds in: Stockholm at 14.1¦ of 1022 pressure with 72% humid +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Coord of : 23.133 -82.383 +new test GEO_Weather_Report2: {"coord":{"lon":-82.383,"lat":23.133},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":23.24,"feels_like":24.07,"temp_min":23.07,"temp_max":23.24,"pressure":1014,"humidity":94},"visibility":9000,"wind":{"speed":1.03,"deg":40},"clouds":{"all":75},"dt":1662028450,"sys":{"type":1,"id":7236,"country":"CU","sunrise":1662030717,"sunset":1662076053},"timezone":-14400,"id":3553478,"name":"Havana","cod":200} +Weather Id:803 is Clouds in: Havana at 23.24¦ of 1014 pressure with 94% humid +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Coord of : 50.8504 4.3488 +new test GEO_Weather_Report2: {"coord":{"lon":4.3488,"lat":50.8504},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":24.63,"feels_like":24.25,"temp_min":22.68,"temp_max":26,"pressure":1020,"humidity":42},"visibility":10000,"wind":{"speed":4.63,"deg":100},"clouds":{"all":0},"dt":1662028443,"sys":{"type":2,"id":2005742,"country":"BE","sunrise":1662008170,"sunset":1662056977},"timezone":7200,"id":2800866,"name":"Brussels","cod":200} +Weather Id:800 is Clear in: Brussels at 24.63¦ of 1020 pressure with 42% humid +decimalseparator: . +UserSpaceAvail: 290425244 TotalSpaceAvail: 290425244 DiskSize: 498938876 +TCustomWinSocket host: +TCustomWinSocket port: 0 +756 +k÷ln time: 29.10.2015 13:59:50 +havana time: 29.10.2015 13:33:06 +Sunriseset table of Bern, CH +12:36 +sunrise of 01.09.2022 : 04:46 sunSet: 18:11 +sunrise of 02.09.2022 : 04:47 sunSet: 18:09 +sunrise of 04.09.2022 : 04:50 sunSet: 18:05 +sunrise of 07.09.2022 : 04:54 sunSet: 17:59 +sunrise of 11.09.2022 : 04:59 sunSet: 17:51 +sunrise of 16.09.2022 : 05:05 sunSet: 17:41 +sunrise of 22.09.2022 : 05:13 sunSet: 17:29 +sunrise of 29.09.2022 : 05:23 sunSet: 17:15 +sunrise of 07.10.2022 : 05:33 sunSet: 16:59 +sunrise of 16.10.2022 : 05:46 sunSet: 16:42 +sunrise of 26.10.2022 : 06:00 sunSet: 16:24 +sunrise of 06.11.2022 : 06:16 sunSet: 16:07 +sunrise of 18.11.2022 : 06:34 sunSet: 15:52 +sunrise of 01.12.2022 : 06:51 sunSet: 15:42 +sunrise of 15.12.2022 : 07:06 sunSet: 15:40 +sunrise of 30.12.2022 : 07:14 sunSet: 15:47 +sunrise of 15.01.2023 : 07:11 sunSet: 16:04 +sunrise of 01.02.2023 : 06:55 sunSet: 16:29 +sunrise of 19.02.2023 : 06:29 sunSet: 16:56 +sunrise of 10.03.2023 : 05:54 sunSet: 17:24 +sunrise of 30.03.2023 : 05:15 sunSet: 17:53 +sunrise of 20.04.2023 : 04:35 sunSet: 18:21 +sunrise of 12.05.2023 : 03:59 sunSet: 18:51 +sunrise of 04.06.2023 : 03:37 sunSet: 19:17 +sunrise of 28.06.2023 : 03:35 sunSet: 19:27 +sunrise of 23.07.2023 : 03:55 sunSet: 19:14 +IP Weather Local City Name: Bern +IP Weather Local Country Name: CH +aeo name convert: Bern +GetRealIP2_string: { + "ip": "46.127.119.188", + "hostname": "46-127-119-188.dynamic.hispeed.ch", + "city": "Bern", + "region": "Bern", + "country": "CH", + "loc": "46.9481,7.4474", + "org": "AS6830 Liberty Global B.V.", + "postal": "3000", + "timezone": "Europe/Zurich", + "readme": "https://ipinfo.io/missingauth" +} +Weather Report date: Thu, 1 Sep 2022 12:36:57 +0200 +Local Weather Sensor: Bern CH +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +api2point GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Coord of : 46.9481 7.4474 +new test GEO_Weather_Report2: {"coord":{"lon":7.4474,"lat":46.9481},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"stations","main":{"temp":20.19,"feels_like":19.94,"temp_min":16.5,"temp_max":23.21,"pressure":1018,"humidity":64},"visibility":10000,"wind":{"speed":3.6,"deg":290},"clouds":{"all":75},"dt":1662028325,"sys":{"type":1,"id":6937,"country":"CH","sunrise":1662007773,"sunset":1662055888},"timezone":7200,"id":2661552,"name":"Bern","cod":200} +Weather Id:803 is Clouds in: Bern at 20.19¦ of 1018 pressure with 64% humid +This Number: 1 is this ASCII ? +This Number: 2 is this ASCII ? +This Number: 3 is this ASCII ? +This Number: 4 is this ASCII ? +This Number: 5 is this ASCII ? +This Number: 6 is this ASCII ? +This Number: 7 is this ASCII +This Number: 8 is this ASCII +This Number: 9 is this ASCII +This Number: 10 is this ASCII + +This Number: 11 is this ASCII ? +This Number: 12 is this ASCII ? +This Number: 13 is this ASCII +This Number: 14 is this ASCII ? +This Number: 15 is this ASCII ¤ +This Number: 16 is this ASCII ? +This Number: 17 is this ASCII ? +This Number: 18 is this ASCII ? +This Number: 19 is this ASCII ? +This Number: 20 is this ASCII ¶ +This Number: 21 is this ASCII § +This Number: 22 is this ASCII ? +This Number: 23 is this ASCII ? +This Number: 24 is this ASCII ? +This Number: 25 is this ASCII ? +This Number: 26 is this ASCII ? +This Number: 27 is this ASCII ? +This Number: 28 is this ASCII ? +This Number: 29 is this ASCII ? +This Number: 30 is this ASCII ? +This Number: 31 is this ASCII ? +This Number: 32 is this ASCII +This Number: 33 is this ASCII ! +This Number: 34 is this ASCII " +This Number: 35 is this ASCII # +This Number: 36 is this ASCII $ +This Number: 37 is this ASCII % +This Number: 38 is this ASCII & +This Number: 39 is this ASCII ' +This Number: 40 is this ASCII ( +This Number: 41 is this ASCII ) +This Number: 42 is this ASCII * +This Number: 43 is this ASCII + +This Number: 44 is this ASCII , +This Number: 45 is this ASCII - +This Number: 46 is this ASCII . +This Number: 47 is this ASCII / +This Number: 48 is this ASCII 0 +This Number: 49 is this ASCII 1 +This Number: 50 is this ASCII 2 +This Number: 51 is this ASCII 3 +This Number: 52 is this ASCII 4 +This Number: 53 is this ASCII 5 +This Number: 54 is this ASCII 6 +This Number: 55 is this ASCII 7 +This Number: 56 is this ASCII 8 +This Number: 57 is this ASCII 9 +This Number: 58 is this ASCII : +This Number: 59 is this ASCII ; +This Number: 60 is this ASCII < +This Number: 61 is this ASCII = +This Number: 62 is this ASCII > +This Number: 63 is this ASCII ? +This Number: 64 is this ASCII @ +This Number: 65 is this ASCII A +This Number: 66 is this ASCII B +This Number: 67 is this ASCII C +This Number: 68 is this ASCII D +This Number: 69 is this ASCII E +This Number: 70 is this ASCII F +This Number: 71 is this ASCII G +This Number: 72 is this ASCII H +This Number: 73 is this ASCII I +This Number: 74 is this ASCII J +This Number: 75 is this ASCII K +This Number: 76 is this ASCII L +This Number: 77 is this ASCII M +This Number: 78 is this ASCII N +This Number: 79 is this ASCII O +This Number: 80 is this ASCII P +This Number: 81 is this ASCII Q +This Number: 82 is this ASCII R +This Number: 83 is this ASCII S +This Number: 84 is this ASCII T +This Number: 85 is this ASCII U +This Number: 86 is this ASCII V +This Number: 87 is this ASCII W +This Number: 88 is this ASCII X +This Number: 89 is this ASCII Y +This Number: 90 is this ASCII Z +This Number: 91 is this ASCII [ +This Number: 92 is this ASCII \ +This Number: 93 is this ASCII ] +This Number: 94 is this ASCII ^ +This Number: 95 is this ASCII _ +This Number: 96 is this ASCII ` +This Number: 97 is this ASCII a +This Number: 98 is this ASCII b +This Number: 99 is this ASCII c +This Number: 100 is this ASCII d +This Number: 101 is this ASCII e +This Number: 102 is this ASCII f +This Number: 103 is this ASCII g +This Number: 104 is this ASCII h +This Number: 105 is this ASCII i +This Number: 106 is this ASCII j +This Number: 107 is this ASCII k +This Number: 108 is this ASCII l +This Number: 109 is this ASCII m +This Number: 110 is this ASCII n +This Number: 111 is this ASCII o +This Number: 112 is this ASCII p +This Number: 113 is this ASCII q +This Number: 114 is this ASCII r +This Number: 115 is this ASCII s +This Number: 116 is this ASCII t +This Number: 117 is this ASCII u +This Number: 118 is this ASCII v +This Number: 119 is this ASCII w +This Number: 120 is this ASCII x +This Number: 121 is this ASCII y +This Number: 122 is this ASCII z +This Number: 123 is this ASCII { +This Number: 124 is this ASCII | +This Number: 125 is this ASCII } +This Number: 126 is this ASCII ~ +This Number: 127 is this ASCII ¦ +This Number: 128 is this ASCII Ç +This Number: 129 is this ASCII ü +This Number: 130 is this ASCII é +This Number: 131 is this ASCII â +This Number: 132 is this ASCII ä +This Number: 133 is this ASCII à +This Number: 134 is this ASCII å +This Number: 135 is this ASCII ç +This Number: 136 is this ASCII ê +This Number: 137 is this ASCII ë +This Number: 138 is this ASCII è +This Number: 139 is this ASCII ï +This Number: 140 is this ASCII î +This Number: 141 is this ASCII ì +This Number: 142 is this ASCII Ä +This Number: 143 is this ASCII Å +This Number: 144 is this ASCII É +This Number: 145 is this ASCII æ +This Number: 146 is this ASCII Æ +This Number: 147 is this ASCII ô +This Number: 148 is this ASCII ö +This Number: 149 is this ASCII ò +This Number: 150 is this ASCII û +This Number: 151 is this ASCII ù +This Number: 152 is this ASCII ÿ +This Number: 153 is this ASCII Ö +This Number: 154 is this ASCII Ü +This Number: 155 is this ASCII ø +This Number: 156 is this ASCII £ +This Number: 157 is this ASCII Ø +This Number: 158 is this ASCII × +This Number: 159 is this ASCII ƒ +This Number: 160 is this ASCII á +This Number: 161 is this ASCII í +This Number: 162 is this ASCII ó +This Number: 163 is this ASCII ú +This Number: 164 is this ASCII ñ +This Number: 165 is this ASCII Ñ +This Number: 166 is this ASCII ª +This Number: 167 is this ASCII º +This Number: 168 is this ASCII ¿ +This Number: 169 is this ASCII ® +This Number: 170 is this ASCII ¬ +This Number: 171 is this ASCII ½ +This Number: 172 is this ASCII ¼ +This Number: 173 is this ASCII ¡ +This Number: 174 is this ASCII « +This Number: 175 is this ASCII » +This Number: 176 is this ASCII ¦ +This Number: 177 is this ASCII ¦ +This Number: 178 is this ASCII ¦ +This Number: 179 is this ASCII ¦ +This Number: 180 is this ASCII ¦ +This Number: 181 is this ASCII Á +This Number: 182 is this ASCII  +This Number: 183 is this ASCII À +This Number: 184 is this ASCII © +This Number: 185 is this ASCII ¦ +This Number: 186 is this ASCII ¦ +This Number: 187 is this ASCII + +This Number: 188 is this ASCII + +This Number: 189 is this ASCII ¢ +This Number: 190 is this ASCII ¥ +This Number: 191 is this ASCII + +This Number: 192 is this ASCII + +This Number: 193 is this ASCII - +This Number: 194 is this ASCII - +This Number: 195 is this ASCII + +This Number: 196 is this ASCII - +This Number: 197 is this ASCII + +This Number: 198 is this ASCII ã +This Number: 199 is this ASCII à +This Number: 200 is this ASCII + +This Number: 201 is this ASCII + +This Number: 202 is this ASCII - +This Number: 203 is this ASCII - +This Number: 204 is this ASCII ¦ +This Number: 205 is this ASCII - +This Number: 206 is this ASCII + +This Number: 207 is this ASCII ¤ +This Number: 208 is this ASCII ð +This Number: 209 is this ASCII Ð +This Number: 210 is this ASCII Ê +This Number: 211 is this ASCII Ë +This Number: 212 is this ASCII È +This Number: 213 is this ASCII i +This Number: 214 is this ASCII Í +This Number: 215 is this ASCII Î +This Number: 216 is this ASCII Ï +This Number: 217 is this ASCII + +This Number: 218 is this ASCII + +This Number: 219 is this ASCII ¦ +This Number: 220 is this ASCII _ +This Number: 221 is this ASCII ¦ +This Number: 222 is this ASCII Ì +This Number: 223 is this ASCII ¯ +This Number: 224 is this ASCII Ó +This Number: 225 is this ASCII ß +This Number: 226 is this ASCII Ô +This Number: 227 is this ASCII Ò +This Number: 228 is this ASCII õ +This Number: 229 is this ASCII Õ +This Number: 230 is this ASCII µ +This Number: 231 is this ASCII þ +This Number: 232 is this ASCII Þ +This Number: 233 is this ASCII Ú +This Number: 234 is this ASCII Û +This Number: 235 is this ASCII Ù +This Number: 236 is this ASCII ý +This Number: 237 is this ASCII Ý +This Number: 238 is this ASCII ¯ +This Number: 239 is this ASCII ´ +This Number: 240 is this ASCII ­ +This Number: 241 is this ASCII ± +This Number: 242 is this ASCII = +This Number: 243 is this ASCII ¾ +This Number: 244 is this ASCII ¶ +This Number: 245 is this ASCII § +This Number: 246 is this ASCII ÷ +This Number: 247 is this ASCII ¸ +This Number: 248 is this ASCII ° +This Number: 249 is this ASCII ¨ +This Number: 250 is this ASCII · +This Number: 251 is this ASCII ¹ +This Number: 252 is this ASCII ³ +This Number: 253 is this ASCII ² +This Number: 254 is this ASCII ¦ +This Number: 255 is this ASCII   +Script examples/weatherapp475.txt finished: 01.09.2022 12:36:59 > +Script examples/weatherapp475.txt performs: 5.884 s. >> + >>> + +C:\Program Files\Streaming\IBZ2021\Module2_3\EKON25\maxbox47590VI\maxbox4>PAUSE +Drücken Sie eine beliebige Taste . . . \ No newline at end of file diff --git a/Tests/gini_split.py b/Tests/gini_split.py new file mode 100644 index 00000000..92ae3b5f --- /dev/null +++ b/Tests/gini_split.py @@ -0,0 +1,25 @@ +# Example of calculating Gini index + +# Calculate the Gini index for a split dataset +def gini_index(groups, classes): + # count all samples at split point + n_instances = float(sum([len(group) for group in groups])) + # sum weighted Gini index for each group + gini = 0.0 + for group in groups: + size = float(len(group)) + # avoid divide by zero + if size == 0: + continue + score = 0.0 + # score the group based on the score for each class + for class_val in classes: + p = [row[-1] for row in group].count(class_val) / size + score += p * p + # weight the group score by its relative size + gini += (1.0 - score) * (size / n_instances) + return gini + +# test Gini values +print(gini_index([[[1, 1], [1, 0]], [[1, 1], [1, 0]]], [0, 1])) +print(gini_index([[[1, 0], [1, 0]], [[1, 1], [1, 1]]], [0, 1])) diff --git a/Tests/ibztermine2022.pdf b/Tests/ibztermine2022.pdf new file mode 100644 index 00000000..ba55b203 Binary files /dev/null and b/Tests/ibztermine2022.pdf differ diff --git a/Tests/uPSI_ALHttpClient2.pas b/Tests/uPSI_ALHttpClient2.pas new file mode 100644 index 00000000..237bb3c0 --- /dev/null +++ b/Tests/uPSI_ALHttpClient2.pas @@ -0,0 +1,1412 @@ +unit uPSI_ALHttpClient2; +{ +This file has been generated by UnitParser v0.7, written by M. Knight +and updated by NP. v/d Spek and George Birbilis. +Source Code from Carlo Kok has been used to implement various sections of +UnitParser. Components of ROPS are used in the construction of UnitParser, +code implementing the class wrapper is taken from Carlo Kok's conv utility + +} +interface + + + +uses + SysUtils + ,Classes + ,uPSComponent + ,uPSRuntime + ,uPSCompiler + ; + +type +(*----------------------------------------------------------------------------*) + TPSImport_ALHttpClient2 = class(TPSPlugin) + public + procedure CompileImport1(CompExec: TPSScript); override; + procedure ExecImport1(CompExec: TPSScript; const ri: TPSRuntimeClassImporter); override; + end; + + +{ compile-time registration functions } +procedure SIRegister_TALHTTPClient(CL: TPSPascalCompiler); +procedure SIRegister_TALHTTPClientProxyParams(CL: TPSPascalCompiler); +procedure SIRegister_EALHTTPClientException(CL: TPSPascalCompiler); +procedure SIRegister_TALHTTPResponseHeader(CL: TPSPascalCompiler); +procedure SIRegister_TALHTTPCookieCollection(CL: TPSPascalCompiler); +procedure SIRegister_TALHTTPCookie(CL: TPSPascalCompiler); +procedure SIRegister_TALHTTPRequestHeader(CL: TPSPascalCompiler); +procedure SIRegister_ALHttpClient2(CL: TPSPascalCompiler); + +{ run-time registration functions } +procedure RIRegister_ALHttpClient2_Routines(S: TPSExec); +procedure RIRegister_TALHTTPClient(CL: TPSRuntimeClassImporter); +procedure RIRegister_TALHTTPClientProxyParams(CL: TPSRuntimeClassImporter); +procedure RIRegister_EALHTTPClientException(CL: TPSRuntimeClassImporter); +procedure RIRegister_TALHTTPResponseHeader(CL: TPSRuntimeClassImporter); +procedure RIRegister_TALHTTPCookieCollection(CL: TPSRuntimeClassImporter); +procedure RIRegister_TALHTTPCookie(CL: TPSRuntimeClassImporter); +procedure RIRegister_TALHTTPRequestHeader(CL: TPSRuntimeClassImporter); +procedure RIRegister_ALHttpClient2(CL: TPSRuntimeClassImporter); + +procedure Register; + +implementation + + +uses + Wininet + ,ALStringList + ,ALMultiPartParser + ,ALHttpClient2 + ; + + +procedure Register; +begin + RegisterComponents('Pascal Script', [TPSImport_ALHttpClient2]); +end; + +(* === compile-time registration functions === *) +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPClient(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TObject', 'TALHTTPClient') do + with CL.AddClassN(CL.FindClass('TObject'),'TALHTTPClient') do + begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Get( const aUrl : AnsiString; const aRequestFields : TALStrings; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArr' + + 'ay; const aEncodeRequestFields : Boolean);'); + RegisterMethod('Procedure Get1( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function Get2( const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Function Get3( const aUrl : AnsiString; const aRequestFields : TALStrings; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean) : AnsiString;'); + RegisterMethod('Procedure Post( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Procedure Post1( const aUrl : AnsiString; const aPostDataStream : TStream; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArr' + + 'ay);'); + RegisterMethod('Function Post2( const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Function Post3( const aUrl : AnsiString; const aPostDataStream : TStream; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Procedure PostUrlEncoded( const aUrl : AnsiString; const aRequestFields : TALStrings; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALN' + + 'ameValueArray; const aEncodeRequestFields : Boolean);'); + RegisterMethod('Function PostUrlEncoded1( const aUrl : AnsiString; const aRequestFields : TALStrings; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean) : AnsiString;'); + RegisterMethod('Procedure PostMultipartFormData( const aUrl : AnsiString; const aRequestFields : TALStrings; const aRequestFiles : TALMultiPartFormDataContents; const aResponseContent : TStream; const aResponseHeader' + + ' : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function PostMultiPartFormData1( const aUrl : AnsiString; const aRequestFields : TALStrings; const aRequestFiles : TALMultiPartFormDataContents; const ARequestHeaderValues : TALNameValueArray) : AnsiS' + + 'tring;'); + RegisterMethod('Procedure Head( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function Head1( const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Procedure Trace( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function trace1( const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Procedure Put( const aUrl : AnsiString; const aPutDataStream : TStream; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray)' + + ';'); + RegisterMethod('Function Put1( const aURL : Ansistring; const aPutDataStream : TStream; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Procedure Delete( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function Delete1( const aURL : Ansistring; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterMethod('Procedure Options( const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray);'); + RegisterMethod('Function Options1( const aURL : Ansistring; const ARequestHeaderValues : TALNameValueArray) : AnsiString;'); + RegisterProperty('ConnectTimeout', 'Integer', iptrw); + RegisterProperty('SendTimeout', 'Integer', iptrw); + RegisterProperty('ReceiveTimeout', 'Integer', iptrw); + RegisterProperty('UploadBufferSize', 'cardinal', iptrw); + RegisterProperty('ProxyParams', 'TALHTTPClientProxyParams', iptr); + RegisterProperty('RequestHeader', 'TALHTTPRequestHeader', iptr); + RegisterProperty('ProtocolVersion', 'TALHTTPProtocolVersion', iptrw); + RegisterProperty('UserName', 'AnsiString', iptrw); + RegisterProperty('Password', 'AnsiString', iptrw); + RegisterProperty('OnUploadProgress', 'TALHTTPClientUploadProgressEvent', iptrw); + RegisterProperty('OnDownloadProgress', 'TALHTTPClientDownloadProgressEvent', iptrw); + RegisterProperty('OnRedirect', 'TAlHTTPClientRedirectEvent', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPClientProxyParams(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'Tobject', 'TALHTTPClientProxyParams') do + with CL.AddClassN(CL.FindClass('Tobject'),'TALHTTPClientProxyParams') do + begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Clear'); + RegisterProperty('ProxyBypass', 'AnsiString', iptrw); + RegisterProperty('ProxyServer', 'AnsiString', iptrw); + RegisterProperty('ProxyPort', 'integer', iptrw); + RegisterProperty('ProxyUserName', 'AnsiString', iptrw); + RegisterProperty('ProxyPassword', 'AnsiString', iptrw); + RegisterProperty('OnChange', 'TALHTTPPropertyChangeEvent', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_EALHTTPClientException(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'Exception', 'EALHTTPClientException') do + with CL.AddClassN(CL.FindClass('Exception'),'EALHTTPClientException') do + begin + RegisterMethod('Constructor Create( const Msg : AnsiString; SCode : Integer)'); + RegisterMethod('Constructor CreateFmt( const Msg : AnsiString; const Args : array of const; SCode : Integer)'); + RegisterProperty('StatusCode', 'Integer', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPResponseHeader(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TObject', 'TALHTTPResponseHeader') do + with CL.AddClassN(CL.FindClass('TObject'),'TALHTTPResponseHeader') do + begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Clear'); + RegisterProperty('AcceptRanges', 'AnsiString', iptr); + RegisterProperty('Age', 'AnsiString', iptr); + RegisterProperty('Allow', 'AnsiString', iptr); + RegisterProperty('CacheControl', 'AnsiString', iptr); + RegisterProperty('Connection', 'AnsiString', iptr); + RegisterProperty('ContentEncoding', 'AnsiString', iptr); + RegisterProperty('ContentLanguage', 'AnsiString', iptr); + RegisterProperty('ContentLength', 'AnsiString', iptr); + RegisterProperty('ContentLocation', 'AnsiString', iptr); + RegisterProperty('ContentMD5', 'AnsiString', iptr); + RegisterProperty('ContentRange', 'AnsiString', iptr); + RegisterProperty('ContentType', 'AnsiString', iptr); + RegisterProperty('Date', 'AnsiString', iptr); + RegisterProperty('ETag', 'AnsiString', iptr); + RegisterProperty('Expires', 'AnsiString', iptr); + RegisterProperty('LastModified', 'AnsiString', iptr); + RegisterProperty('Location', 'AnsiString', iptr); + RegisterProperty('Pragma', 'AnsiString', iptr); + RegisterProperty('ProxyAuthenticate', 'AnsiString', iptr); + RegisterProperty('RetryAfter', 'AnsiString', iptr); + RegisterProperty('Server', 'AnsiString', iptr); + RegisterProperty('Trailer', 'AnsiString', iptr); + RegisterProperty('TransferEncoding', 'AnsiString', iptr); + RegisterProperty('Upgrade', 'AnsiString', iptr); + RegisterProperty('Vary', 'AnsiString', iptr); + RegisterProperty('Via', 'AnsiString', iptr); + RegisterProperty('Warning', 'AnsiString', iptr); + RegisterProperty('WWWAuthenticate', 'AnsiString', iptr); + RegisterProperty('CustomHeaders', 'TALStrings', iptr); + RegisterProperty('Cookies', 'TALHTTPCookieCollection', iptr); + RegisterProperty('StatusCode', 'AnsiString', iptr); + RegisterProperty('HttpProtocolVersion', 'AnsiString', iptr); + RegisterProperty('ReasonPhrase', 'AnsiString', iptr); + RegisterProperty('RawHeaderText', 'AnsiString', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPCookieCollection(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TCollection', 'TALHTTPCookieCollection') do + with CL.AddClassN(CL.FindClass('TCollection'),'TALHTTPCookieCollection') do + begin + RegisterMethod('Function Add : TALHTTPCookie;'); + RegisterMethod('Function Add1( const Name : AnsiString; const Value : AnsiString; const Path : AnsiString; const Domain : AnsiString; const Expires : int64; const SameSite : AnsiString; const Secure : Boolean; const ' + + 'HttpOnly : Boolean) : TALHTTPCookie;'); + RegisterProperty('Items', 'TALHTTPCookie Integer', iptrw); + SetDefaultPropery('Items'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPCookie(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TCollectionItem', 'TALHTTPCookie') do + with CL.AddClassN(CL.FindClass('TCollectionItem'),'TALHTTPCookie') do + begin + RegisterMethod('Constructor Create( Collection : TCollection)'); + RegisterMethod('Procedure AssignTo( Dest : TPersistent)'); + RegisterProperty('Name', 'AnsiString', iptrw); + RegisterProperty('Value', 'AnsiString', iptrw); + RegisterProperty('Path', 'AnsiString', iptrw); + RegisterProperty('Domain', 'AnsiString', iptrw); + RegisterProperty('Expires', 'TDateTime', iptrw); + RegisterProperty('SameSite', 'AnsiString', iptrw); + RegisterProperty('Secure', 'Boolean', iptrw); + RegisterProperty('HttpOnly', 'Boolean', iptrw); + RegisterProperty('HeaderValue', 'AnsiString', iptrw); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_TALHTTPRequestHeader(CL: TPSPascalCompiler); +begin + //with RegClassS(CL,'TObject', 'TALHTTPRequestHeader') do + with CL.AddClassN(CL.FindClass('TObject'),'TALHTTPRequestHeader') do + begin + RegisterMethod('Constructor Create'); + RegisterMethod('Procedure Clear'); + RegisterMethod('Procedure setHeaderValue( const aName : ansiString; const aValue : ansiString)'); + RegisterProperty('RawHeaderText', 'AnsiString', iptrw); + RegisterProperty('Accept', 'AnsiString', iptrw); + RegisterProperty('AcceptCharSet', 'AnsiString', iptrw); + RegisterProperty('AcceptEncoding', 'AnsiString', iptrw); + RegisterProperty('AcceptLanguage', 'AnsiString', iptrw); + RegisterProperty('Allow', 'AnsiString', iptrw); + RegisterProperty('Authorization', 'AnsiString', iptrw); + RegisterProperty('CacheControl', 'AnsiString', iptrw); + RegisterProperty('Connection', 'AnsiString', iptrw); + RegisterProperty('ContentEncoding', 'AnsiString', iptrw); + RegisterProperty('ContentLanguage', 'AnsiString', iptrw); + RegisterProperty('ContentLength', 'AnsiString', iptrw); + RegisterProperty('ContentLocation', 'AnsiString', iptrw); + RegisterProperty('ContentMD5', 'AnsiString', iptrw); + RegisterProperty('ContentRange', 'AnsiString', iptrw); + RegisterProperty('ContentType', 'AnsiString', iptrw); + RegisterProperty('Date', 'AnsiString', iptrw); + RegisterProperty('Expect', 'AnsiString', iptrw); + RegisterProperty('Expires', 'AnsiString', iptrw); + RegisterProperty('From', 'AnsiString', iptrw); + RegisterProperty('Host', 'AnsiString', iptrw); + RegisterProperty('IfMatch', 'AnsiString', iptrw); + RegisterProperty('IfModifiedSince', 'AnsiString', iptrw); + RegisterProperty('IfNoneMatch', 'AnsiString', iptrw); + RegisterProperty('IfRange', 'AnsiString', iptrw); + RegisterProperty('IfUnmodifiedSince', 'AnsiString', iptrw); + RegisterProperty('LastModified', 'AnsiString', iptrw); + RegisterProperty('MaxForwards', 'AnsiString', iptrw); + RegisterProperty('Pragma', 'AnsiString', iptrw); + RegisterProperty('ProxyAuthorization', 'AnsiString', iptrw); + RegisterProperty('Range', 'AnsiString', iptrw); + RegisterProperty('Referer', 'AnsiString', iptrw); + RegisterProperty('TE', 'AnsiString', iptrw); + RegisterProperty('Trailer', 'AnsiString', iptrw); + RegisterProperty('TransferEncoding', 'AnsiString', iptrw); + RegisterProperty('Upgrade', 'AnsiString', iptrw); + RegisterProperty('UserAgent', 'AnsiString', iptrw); + RegisterProperty('Via', 'AnsiString', iptrw); + RegisterProperty('Warning', 'AnsiString', iptrw); + RegisterProperty('CustomHeaders', 'TALStrings', iptr); + RegisterProperty('Cookies', 'TALStrings', iptr); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure SIRegister_ALHttpClient2(CL: TPSPascalCompiler); +begin + CL.AddTypeS('TALHTTPPropertyChangeEvent', 'Procedure ( sender : Tobject; cons' + +'t PropertyIndex : Integer)'); + CL.AddTypeS('TALHTTPProtocolVersion', '( HTTPpv_1_0, HTTPpv_1_1 )'); + CL.AddTypeS('TALHTTPMethod', '( HTTPmt_Get, HTTPmt_Post, HTTPmt_Head, HTTPmt_' + +'Trace, HTTPmt_Put, HTTPmt_Delete, HTTPmt_Options )'); + SIRegister_TALHTTPRequestHeader(CL); + CL.AddTypeS('TALNameValuePair', 'record Name : ansistring; Value : ansistring' + +'; end'); + CL.AddTypeS('TALNameValueArray', 'array of TALNameValuePair'); + SIRegister_TALHTTPCookie(CL); + SIRegister_TALHTTPCookieCollection(CL); + SIRegister_TALHTTPResponseHeader(CL); + SIRegister_EALHTTPClientException(CL); + SIRegister_TALHTTPClientProxyParams(CL); + CL.AddTypeS('TAlHTTPClientRedirectEvent', 'Procedure ( sender : Tobject; cons' + +'t NewURL : AnsiString)'); + CL.AddTypeS('TALHTTPClientUploadProgressEvent', 'Procedure ( sender : Tobject' + +'; Sent : Integer; Total : Integer)'); + CL.AddTypeS('TALHTTPClientDownloadProgressEvent', 'Procedure ( sender : Tobje' + +'ct; Read : Integer; Total : Integer)'); + SIRegister_TALHTTPClient(CL); + CL.AddDelphiFunction('Procedure ALHTTPEncodeParamNameValues( const ParamValues : TALStrings)'); + CL.AddDelphiFunction('Procedure ALExtractHTTPFields( Separators, WhiteSpace, Quotes : TSysCharSet; Content : PAnsiChar; Strings : TALStrings; StripQuotes : Boolean)'); + CL.AddDelphiFunction('Function AlRemoveShemeFromUrl( const aUrl : AnsiString) : ansiString'); + CL.AddDelphiFunction('Function AlExtractShemeFromUrl( const aUrl : AnsiString) : TInternetScheme'); + CL.AddDelphiFunction('Function AlExtractHostNameFromUrl( const aUrl : AnsiString) : AnsiString'); + CL.AddDelphiFunction('Function AlExtractDomainNameFromUrl( const aUrl : AnsiString) : AnsiString'); + CL.AddDelphiFunction('Function AlExtractUrlPathFromUrl( const aUrl : AnsiString) : AnsiString'); + CL.AddDelphiFunction('Function AlInternetCrackUrl( const aUrl : AnsiString; var SchemeName, HostName, UserName, Password, UrlPath, ExtraInfo : AnsiString; var PortNumber : integer) : Boolean;'); + CL.AddDelphiFunction('Function AlInternetCrackUrl1( const aUrl : AnsiString; var SchemeName, HostName, UserName, Password, UrlPath, Anchor : AnsiString; const Query : TALStrings; var PortNumber : integer) : Boolean;'); + CL.AddDelphiFunction('Function AlInternetCrackUrl2( var Url : AnsiString; var Anchor : AnsiString; const Query : TALStrings) : Boolean;'); + CL.AddDelphiFunction('Function AlRemoveAnchorFromUrl( aUrl : AnsiString; var aAnchor : AnsiString) : AnsiString;'); + CL.AddDelphiFunction('Function AlRemoveAnchorFromUrl1( const aUrl : AnsiString) : AnsiString;'); + CL.AddDelphiFunction('Function AlCombineUrl( const RelativeUrl, BaseUrl : AnsiString) : AnsiString;'); + CL.AddDelphiFunction('Function AlCombineUrl1( const RelativeUrl, BaseUrl, Anchor : AnsiString; const Query : TALStrings) : AnsiString;'); + CL.AddDelphiFunction('Function ALGmtDateTimeToRfc822Str( const aValue : TDateTime) : AnsiString'); + CL.AddDelphiFunction('Function ALDateTimeToRfc822Str( const aValue : TDateTime) : AnsiString'); + CL.AddDelphiFunction('Function ALTryRfc822StrToGMTDateTime( const S : AnsiString; out Value : TDateTime) : Boolean'); + CL.AddDelphiFunction('Function ALRfc822StrToGMTDateTime( const s : AnsiString) : TDateTime'); + CL.AddDelphiFunction('Function ALTryIPV4StrToNumeric( const aIPv4Str : AnsiString; var aIPv4Num : Cardinal) : Boolean'); + CL.AddDelphiFunction('Function ALIPV4StrToNumeric( const aIPv4 : AnsiString) : Cardinal'); + CL.AddDelphiFunction('Function ALNumericToIPv4Str( const aIPv4 : Cardinal) : ansiString'); + CL.AddDelphiFunction('Function ALIPv4EndOfRange( const aStartIPv4 : Cardinal; aMaskLength : integer) : Cardinal'); + CL.AddDelphiFunction('Function ALZeroIpV6 : TALIPv6Binary'); + CL.AddDelphiFunction('Function ALIsValidIPv6BinaryStr( const aIPV6BinaryStr : ansiString) : boolean'); + CL.AddDelphiFunction('Function ALTryIPV6StrToBinary( aIPv6Str : ansiString; var aIPv6Bin : TALIPv6Binary) : Boolean'); + CL.AddDelphiFunction('Function ALIPV6StrTobinary( const aIPv6 : AnsiString) : TALIPv6Binary'); + CL.AddDelphiFunction('Function ALBinaryToIPv6Str( const aIPv6 : TALIPv6Binary) : ansiString'); + CL.AddDelphiFunction('Function ALBinaryStrToIPv6Binary( const aIPV6BinaryStr : ansiString) : TALIPv6Binary'); + CL.AddDelphiFunction('Function ALBinaryStrToIPv6Str( const aIPV6BinaryStr : ansiString) : ansiString'); + CL.AddDelphiFunction('Function ALIPv6EndOfRange( const aStartIPv6 : TALIPv6Binary; aMaskLength : integer) : TALIPv6Binary'); + CL.AddDelphiFunction('Procedure ALIPv6SplitParts( const aIPv6 : TALIPv6Binary; var aLowestPart : UInt64; var aHigestPart : UInt64)'); + CL.AddConstantN('cALHTTPCLient_MsgInvalidURL','String').SetString( 'Invalid url ''%s'' - only supports ''http'' and ''https'' schemes'); + CL.AddConstantN('cALHTTPCLient_MsgInvalidHTTPRequest','String').SetString( 'Invalid HTTP Request: Length is 0'); + CL.AddConstantN('cALHTTPCLient_MsgEmptyURL','String').SetString( 'Empty URL'); +end; + +(* === run-time registration functions === *) +(*----------------------------------------------------------------------------*) +Function AlCombineUrl1_P( const RelativeUrl, BaseUrl, Anchor : AnsiString; const Query : TALStrings) : AnsiString; +Begin Result := ALHttpClient2.AlCombineUrl(RelativeUrl, BaseUrl, Anchor, Query); END; + +(*----------------------------------------------------------------------------*) +Function AlCombineUrl_P( const RelativeUrl, BaseUrl : AnsiString) : AnsiString; +Begin Result := ALHttpClient2.AlCombineUrl(RelativeUrl, BaseUrl); END; + +(*----------------------------------------------------------------------------*) +Function AlRemoveAnchorFromUrl1_P( const aUrl : AnsiString) : AnsiString; +Begin Result := ALHttpClient2.AlRemoveAnchorFromUrl(aUrl); END; + +(*----------------------------------------------------------------------------*) +Function AlRemoveAnchorFromUrl_P( aUrl : AnsiString; var aAnchor : AnsiString) : AnsiString; +Begin Result := ALHttpClient2.AlRemoveAnchorFromUrl(aUrl, aAnchor); END; + +(*----------------------------------------------------------------------------*) +Function AlInternetCrackUrl2_P( var Url : AnsiString; var Anchor : AnsiString; const Query : TALStrings) : Boolean; +Begin Result := ALHttpClient2.AlInternetCrackUrl(Url, Anchor, Query); END; + +(*----------------------------------------------------------------------------*) +Function AlInternetCrackUrl1_P( const aUrl : AnsiString; var SchemeName, HostName, UserName, Password, UrlPath, Anchor : AnsiString; const Query : TALStrings; var PortNumber : integer) : Boolean; +Begin Result := ALHttpClient2.AlInternetCrackUrl(aUrl, SchemeName, HostName, UserName, Password, UrlPath, Anchor, Query, PortNumber); END; + +(*----------------------------------------------------------------------------*) +Function AlInternetCrackUrl_P( const aUrl : AnsiString; var SchemeName, HostName, UserName, Password, UrlPath, ExtraInfo : AnsiString; var PortNumber : integer) : Boolean; +Begin Result := ALHttpClient2.AlInternetCrackUrl(aUrl, SchemeName, HostName, UserName, Password, UrlPath, ExtraInfo, PortNumber); END; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnRedirect_W(Self: TALHTTPClient; const T: TAlHTTPClientRedirectEvent); +begin Self.OnRedirect := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnRedirect_R(Self: TALHTTPClient; var T: TAlHTTPClientRedirectEvent); +begin T := Self.OnRedirect; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnDownloadProgress_W(Self: TALHTTPClient; const T: TALHTTPClientDownloadProgressEvent); +begin Self.OnDownloadProgress := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnDownloadProgress_R(Self: TALHTTPClient; var T: TALHTTPClientDownloadProgressEvent); +begin T := Self.OnDownloadProgress; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnUploadProgress_W(Self: TALHTTPClient; const T: TALHTTPClientUploadProgressEvent); +begin Self.OnUploadProgress := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientOnUploadProgress_R(Self: TALHTTPClient; var T: TALHTTPClientUploadProgressEvent); +begin T := Self.OnUploadProgress; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientPassword_W(Self: TALHTTPClient; const T: AnsiString); +begin Self.Password := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientPassword_R(Self: TALHTTPClient; var T: AnsiString); +begin T := Self.Password; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientUserName_W(Self: TALHTTPClient; const T: AnsiString); +begin Self.UserName := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientUserName_R(Self: TALHTTPClient; var T: AnsiString); +begin T := Self.UserName; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProtocolVersion_W(Self: TALHTTPClient; const T: TALHTTPProtocolVersion); +begin Self.ProtocolVersion := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProtocolVersion_R(Self: TALHTTPClient; var T: TALHTTPProtocolVersion); +begin T := Self.ProtocolVersion; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientRequestHeader_R(Self: TALHTTPClient; var T: TALHTTPRequestHeader); +begin T := Self.RequestHeader; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParams_R(Self: TALHTTPClient; var T: TALHTTPClientProxyParams); +begin T := Self.ProxyParams; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientUploadBufferSize_W(Self: TALHTTPClient; const T: cardinal); +begin Self.UploadBufferSize := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientUploadBufferSize_R(Self: TALHTTPClient; var T: cardinal); +begin T := Self.UploadBufferSize; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientReceiveTimeout_W(Self: TALHTTPClient; const T: Integer); +begin Self.ReceiveTimeout := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientReceiveTimeout_R(Self: TALHTTPClient; var T: Integer); +begin T := Self.ReceiveTimeout; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientSendTimeout_W(Self: TALHTTPClient; const T: Integer); +begin Self.SendTimeout := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientSendTimeout_R(Self: TALHTTPClient; var T: Integer); +begin T := Self.SendTimeout; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientConnectTimeout_W(Self: TALHTTPClient; const T: Integer); +begin Self.ConnectTimeout := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientConnectTimeout_R(Self: TALHTTPClient; var T: Integer); +begin T := Self.ConnectTimeout; end; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientOptions1_P(Self: TALHTTPClient; const aURL : Ansistring; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Options(aURL, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientOptions_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Options(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientDelete1_P(Self: TALHTTPClient; const aURL : Ansistring; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Delete(aURL, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientDelete_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Delete(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientPut1_P(Self: TALHTTPClient; const aURL : Ansistring; const aPutDataStream : TStream; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Put(aURL, aPutDataStream, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientPut_P(Self: TALHTTPClient; const aUrl : AnsiString; const aPutDataStream : TStream; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Put(aUrl, aPutDataStream, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClienttrace1_P(Self: TALHTTPClient; const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.trace(aUrl, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientTrace_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Trace(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientHead1_P(Self: TALHTTPClient; const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Head(aUrl, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientHead_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Head(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientPostMultiPartFormData1_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const aRequestFiles : TALMultiPartFormDataContents; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.PostMultiPartFormData(aUrl, aRequestFields, aRequestFiles, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientPostMultipartFormData_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const aRequestFiles : TALMultiPartFormDataContents; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.PostMultipartFormData(aUrl, aRequestFields, aRequestFiles, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientPostUrlEncoded1_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean) : AnsiString; +Begin Result := Self.PostUrlEncoded(aUrl, aRequestFields, ARequestHeaderValues, aEncodeRequestFields); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientPostUrlEncoded_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean); +Begin Self.PostUrlEncoded(aUrl, aRequestFields, aResponseContent, aResponseHeader, ARequestHeaderValues, aEncodeRequestFields); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientPost3_P(Self: TALHTTPClient; const aUrl : AnsiString; const aPostDataStream : TStream; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Post(aUrl, aPostDataStream, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientPost2_P(Self: TALHTTPClient; const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Post(aUrl, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientPost1_P(Self: TALHTTPClient; const aUrl : AnsiString; const aPostDataStream : TStream; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Post(aUrl, aPostDataStream, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientPost_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Post(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientGet3_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean) : AnsiString; +Begin Result := Self.Get(aUrl, aRequestFields, ARequestHeaderValues, aEncodeRequestFields); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPClientGet2_P(Self: TALHTTPClient; const aUrl : AnsiString; const ARequestHeaderValues : TALNameValueArray) : AnsiString; +Begin Result := Self.Get(aUrl, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientGet1_P(Self: TALHTTPClient; const aUrl : AnsiString; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray); +Begin Self.Get(aUrl, aResponseContent, aResponseHeader, ARequestHeaderValues); END; + +(*----------------------------------------------------------------------------*) +Procedure TALHTTPClientGet_P(Self: TALHTTPClient; const aUrl : AnsiString; const aRequestFields : TALStrings; const aResponseContent : TStream; const aResponseHeader : TALHTTPResponseHeader; const ARequestHeaderValues : TALNameValueArray; const aEncodeRequestFields : Boolean); +Begin Self.Get(aUrl, aRequestFields, aResponseContent, aResponseHeader, ARequestHeaderValues, aEncodeRequestFields); END; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsOnChange_W(Self: TALHTTPClientProxyParams; const T: TALHTTPPropertyChangeEvent); +begin Self.OnChange := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsOnChange_R(Self: TALHTTPClientProxyParams; var T: TALHTTPPropertyChangeEvent); +begin T := Self.OnChange; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyPassword_W(Self: TALHTTPClientProxyParams; const T: AnsiString); +begin Self.ProxyPassword := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyPassword_R(Self: TALHTTPClientProxyParams; var T: AnsiString); +begin T := Self.ProxyPassword; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyUserName_W(Self: TALHTTPClientProxyParams; const T: AnsiString); +begin Self.ProxyUserName := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyUserName_R(Self: TALHTTPClientProxyParams; var T: AnsiString); +begin T := Self.ProxyUserName; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyPort_W(Self: TALHTTPClientProxyParams; const T: integer); +begin Self.ProxyPort := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyPort_R(Self: TALHTTPClientProxyParams; var T: integer); +begin T := Self.ProxyPort; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyServer_W(Self: TALHTTPClientProxyParams; const T: AnsiString); +begin Self.ProxyServer := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyServer_R(Self: TALHTTPClientProxyParams; var T: AnsiString); +begin T := Self.ProxyServer; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyBypass_W(Self: TALHTTPClientProxyParams; const T: AnsiString); +begin Self.ProxyBypass := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPClientProxyParamsProxyBypass_R(Self: TALHTTPClientProxyParams; var T: AnsiString); +begin T := Self.ProxyBypass; end; + +(*----------------------------------------------------------------------------*) +procedure EALHTTPClientExceptionStatusCode_W(Self: EALHTTPClientException; const T: Integer); +begin Self.StatusCode := T; end; + +(*----------------------------------------------------------------------------*) +procedure EALHTTPClientExceptionStatusCode_R(Self: EALHTTPClientException; var T: Integer); +begin T := Self.StatusCode; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderRawHeaderText_W(Self: TALHTTPResponseHeader; const T: AnsiString); +begin Self.RawHeaderText := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderRawHeaderText_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.RawHeaderText; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderReasonPhrase_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ReasonPhrase; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderHttpProtocolVersion_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.HttpProtocolVersion; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderStatusCode_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.StatusCode; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderCookies_R(Self: TALHTTPResponseHeader; var T: TALHTTPCookieCollection); +begin T := Self.Cookies; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderCustomHeaders_R(Self: TALHTTPResponseHeader; var T: TALStrings); +begin T := Self.CustomHeaders; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderWWWAuthenticate_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.WWWAuthenticate; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderWarning_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Warning; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderVia_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Via; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderVary_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Vary; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderUpgrade_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Upgrade; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderTransferEncoding_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.TransferEncoding; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderTrailer_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Trailer; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderServer_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Server; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderRetryAfter_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.RetryAfter; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderProxyAuthenticate_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ProxyAuthenticate; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderPragma_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Pragma; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderLocation_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Location; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderLastModified_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.LastModified; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderExpires_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Expires; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderETag_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ETag; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderDate_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Date; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentType_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentType; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentRange_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentRange; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentMD5_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentMD5; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentLocation_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentLocation; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentLength_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentLength; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentLanguage_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentLanguage; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderContentEncoding_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.ContentEncoding; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderConnection_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Connection; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderCacheControl_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.CacheControl; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderAllow_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Allow; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderAge_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.Age; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPResponseHeaderAcceptRanges_R(Self: TALHTTPResponseHeader; var T: AnsiString); +begin T := Self.AcceptRanges; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieCollectionItems_W(Self: TALHTTPCookieCollection; const T: TALHTTPCookie; const t1: Integer); +begin Self.Items[t1] := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieCollectionItems_R(Self: TALHTTPCookieCollection; var T: TALHTTPCookie; const t1: Integer); +begin T := Self.Items[t1]; end; + +(*----------------------------------------------------------------------------*) +Function TALHTTPCookieCollectionAdd1_P(Self: TALHTTPCookieCollection; const Name : AnsiString; const Value : AnsiString; const Path : AnsiString; const Domain : AnsiString; const Expires : int64; const SameSite : AnsiString; const Secure : Boolean; const HttpOnly : Boolean) : TALHTTPCookie; +Begin Result := Self.Add(Name, Value, Path, Domain, Expires, SameSite, Secure, HttpOnly); END; + +(*----------------------------------------------------------------------------*) +Function TALHTTPCookieCollectionAdd_P(Self: TALHTTPCookieCollection) : TALHTTPCookie; +Begin Result := Self.Add; END; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieHeaderValue_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.HeaderValue := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieHeaderValue_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.HeaderValue; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieHttpOnly_W(Self: TALHTTPCookie; const T: Boolean); +begin Self.HttpOnly := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieHttpOnly_R(Self: TALHTTPCookie; var T: Boolean); +begin T := Self.HttpOnly; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieSecure_W(Self: TALHTTPCookie; const T: Boolean); +begin Self.Secure := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieSecure_R(Self: TALHTTPCookie; var T: Boolean); +begin T := Self.Secure; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieSameSite_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.SameSite := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieSameSite_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.SameSite; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieExpires_W(Self: TALHTTPCookie; const T: TDateTime); +begin Self.Expires := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieExpires_R(Self: TALHTTPCookie; var T: TDateTime); +begin T := Self.Expires; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieDomain_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.Domain := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieDomain_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.Domain; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookiePath_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.Path := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookiePath_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.Path; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieValue_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.Value := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieValue_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.Value; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieName_W(Self: TALHTTPCookie; const T: AnsiString); +begin Self.Name := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPCookieName_R(Self: TALHTTPCookie; var T: AnsiString); +begin T := Self.Name; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderCookies_R(Self: TALHTTPRequestHeader; var T: TALStrings); +begin T := Self.Cookies; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderCustomHeaders_R(Self: TALHTTPRequestHeader; var T: TALStrings); +begin T := Self.CustomHeaders; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderWarning_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Warning := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderWarning_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Warning; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderVia_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Via := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderVia_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Via; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderUserAgent_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.UserAgent := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderUserAgent_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.UserAgent; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderUpgrade_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Upgrade := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderUpgrade_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Upgrade; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTransferEncoding_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.TransferEncoding := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTransferEncoding_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.TransferEncoding; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTrailer_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Trailer := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTrailer_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Trailer; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTE_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.TE := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderTE_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.TE; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderReferer_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Referer := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderReferer_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Referer; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderRange_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Range := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderRange_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Range; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderProxyAuthorization_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ProxyAuthorization := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderProxyAuthorization_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ProxyAuthorization; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderPragma_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Pragma := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderPragma_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Pragma; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderMaxForwards_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.MaxForwards := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderMaxForwards_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.MaxForwards; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderLastModified_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.LastModified := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderLastModified_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.LastModified; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfUnmodifiedSince_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.IfUnmodifiedSince := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfUnmodifiedSince_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.IfUnmodifiedSince; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfRange_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.IfRange := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfRange_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.IfRange; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfNoneMatch_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.IfNoneMatch := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfNoneMatch_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.IfNoneMatch; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfModifiedSince_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.IfModifiedSince := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfModifiedSince_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.IfModifiedSince; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfMatch_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.IfMatch := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderIfMatch_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.IfMatch; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderHost_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Host := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderHost_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Host; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderFrom_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.From := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderFrom_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.From; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderExpires_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Expires := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderExpires_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Expires; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderExpect_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Expect := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderExpect_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Expect; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderDate_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Date := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderDate_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Date; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentType_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentType := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentType_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentType; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentRange_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentRange := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentRange_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentRange; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentMD5_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentMD5 := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentMD5_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentMD5; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLocation_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentLocation := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLocation_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentLocation; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLength_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentLength := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLength_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentLength; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLanguage_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentLanguage := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentLanguage_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentLanguage; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentEncoding_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.ContentEncoding := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderContentEncoding_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.ContentEncoding; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderConnection_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Connection := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderConnection_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Connection; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderCacheControl_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.CacheControl := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderCacheControl_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.CacheControl; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAuthorization_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Authorization := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAuthorization_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Authorization; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAllow_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Allow := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAllow_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Allow; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptLanguage_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.AcceptLanguage := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptLanguage_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.AcceptLanguage; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptEncoding_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.AcceptEncoding := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptEncoding_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.AcceptEncoding; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptCharSet_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.AcceptCharSet := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAcceptCharSet_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.AcceptCharSet; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAccept_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.Accept := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderAccept_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.Accept; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderRawHeaderText_W(Self: TALHTTPRequestHeader; const T: AnsiString); +begin Self.RawHeaderText := T; end; + +(*----------------------------------------------------------------------------*) +procedure TALHTTPRequestHeaderRawHeaderText_R(Self: TALHTTPRequestHeader; var T: AnsiString); +begin T := Self.RawHeaderText; end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_ALHttpClient2_Routines(S: TPSExec); +begin + S.RegisterDelphiFunction(@ALHTTPEncodeParamNameValues, 'ALHTTPEncodeParamNameValues', cdRegister); + S.RegisterDelphiFunction(@ALExtractHTTPFields, 'ALExtractHTTPFields', cdRegister); + S.RegisterDelphiFunction(@AlRemoveShemeFromUrl, 'AlRemoveShemeFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlExtractShemeFromUrl, 'AlExtractShemeFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlExtractHostNameFromUrl, 'AlExtractHostNameFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlExtractDomainNameFromUrl, 'AlExtractDomainNameFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlExtractUrlPathFromUrl, 'AlExtractUrlPathFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlInternetCrackUrl, 'AlInternetCrackUrl', cdRegister); + S.RegisterDelphiFunction(@AlInternetCrackUrl1, 'AlInternetCrackUrl1', cdRegister); + S.RegisterDelphiFunction(@AlInternetCrackUrl2, 'AlInternetCrackUrl2', cdRegister); + S.RegisterDelphiFunction(@AlRemoveAnchorFromUrl, 'AlRemoveAnchorFromUrl', cdRegister); + S.RegisterDelphiFunction(@AlRemoveAnchorFromUrl1, 'AlRemoveAnchorFromUrl1', cdRegister); + S.RegisterDelphiFunction(@AlCombineUrl, 'AlCombineUrl', cdRegister); + S.RegisterDelphiFunction(@AlCombineUrl1, 'AlCombineUrl1', cdRegister); + S.RegisterDelphiFunction(@ALGmtDateTimeToRfc822Str, 'ALGmtDateTimeToRfc822Str', cdRegister); + S.RegisterDelphiFunction(@ALDateTimeToRfc822Str, 'ALDateTimeToRfc822Str', cdRegister); + S.RegisterDelphiFunction(@ALTryRfc822StrToGMTDateTime, 'ALTryRfc822StrToGMTDateTime', cdRegister); + S.RegisterDelphiFunction(@ALRfc822StrToGMTDateTime, 'ALRfc822StrToGMTDateTime', cdRegister); + S.RegisterDelphiFunction(@ALTryIPV4StrToNumeric, 'ALTryIPV4StrToNumeric', cdRegister); + S.RegisterDelphiFunction(@ALIPV4StrToNumeric, 'ALIPV4StrToNumeric', cdRegister); + S.RegisterDelphiFunction(@ALNumericToIPv4Str, 'ALNumericToIPv4Str', cdRegister); + S.RegisterDelphiFunction(@ALIPv4EndOfRange, 'ALIPv4EndOfRange', cdRegister); + S.RegisterDelphiFunction(@ALZeroIpV6, 'ALZeroIpV6', cdRegister); + S.RegisterDelphiFunction(@ALIsValidIPv6BinaryStr, 'ALIsValidIPv6BinaryStr', cdRegister); + S.RegisterDelphiFunction(@ALTryIPV6StrToBinary, 'ALTryIPV6StrToBinary', cdRegister); + S.RegisterDelphiFunction(@ALIPV6StrTobinary, 'ALIPV6StrTobinary', cdRegister); + S.RegisterDelphiFunction(@ALBinaryToIPv6Str, 'ALBinaryToIPv6Str', cdRegister); + S.RegisterDelphiFunction(@ALBinaryStrToIPv6Binary, 'ALBinaryStrToIPv6Binary', cdRegister); + S.RegisterDelphiFunction(@ALBinaryStrToIPv6Str, 'ALBinaryStrToIPv6Str', cdRegister); + S.RegisterDelphiFunction(@ALIPv6EndOfRange, 'ALIPv6EndOfRange', cdRegister); + S.RegisterDelphiFunction(@ALIPv6SplitParts, 'ALIPv6SplitParts', cdRegister); +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPClient(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPClient) do + begin + RegisterConstructor(@TALHTTPClient.Create, 'Create'); + RegisterMethod(@TALHTTPClientGet_P, 'Get'); + RegisterMethod(@TALHTTPClientGet1_P, 'Get1'); + RegisterMethod(@TALHTTPClientGet2_P, 'Get2'); + RegisterMethod(@TALHTTPClientGet3_P, 'Get3'); + RegisterMethod(@TALHTTPClientPost_P, 'Post'); + RegisterMethod(@TALHTTPClientPost1_P, 'Post1'); + RegisterMethod(@TALHTTPClientPost2_P, 'Post2'); + RegisterMethod(@TALHTTPClientPost3_P, 'Post3'); + RegisterMethod(@TALHTTPClientPostUrlEncoded_P, 'PostUrlEncoded'); + RegisterMethod(@TALHTTPClientPostUrlEncoded1_P, 'PostUrlEncoded1'); + RegisterMethod(@TALHTTPClientPostMultipartFormData_P, 'PostMultipartFormData'); + RegisterMethod(@TALHTTPClientPostMultiPartFormData1_P, 'PostMultiPartFormData1'); + RegisterMethod(@TALHTTPClientHead_P, 'Head'); + RegisterMethod(@TALHTTPClientHead1_P, 'Head1'); + RegisterMethod(@TALHTTPClientTrace_P, 'Trace'); + RegisterMethod(@TALHTTPClienttrace1_P, 'trace1'); + RegisterMethod(@TALHTTPClientPut_P, 'Put'); + RegisterMethod(@TALHTTPClientPut1_P, 'Put1'); + RegisterMethod(@TALHTTPClientDelete_P, 'Delete'); + RegisterMethod(@TALHTTPClientDelete1_P, 'Delete1'); + RegisterMethod(@TALHTTPClientOptions_P, 'Options'); + RegisterMethod(@TALHTTPClientOptions1_P, 'Options1'); + RegisterPropertyHelper(@TALHTTPClientConnectTimeout_R,@TALHTTPClientConnectTimeout_W,'ConnectTimeout'); + RegisterPropertyHelper(@TALHTTPClientSendTimeout_R,@TALHTTPClientSendTimeout_W,'SendTimeout'); + RegisterPropertyHelper(@TALHTTPClientReceiveTimeout_R,@TALHTTPClientReceiveTimeout_W,'ReceiveTimeout'); + RegisterPropertyHelper(@TALHTTPClientUploadBufferSize_R,@TALHTTPClientUploadBufferSize_W,'UploadBufferSize'); + RegisterPropertyHelper(@TALHTTPClientProxyParams_R,nil,'ProxyParams'); + RegisterPropertyHelper(@TALHTTPClientRequestHeader_R,nil,'RequestHeader'); + RegisterPropertyHelper(@TALHTTPClientProtocolVersion_R,@TALHTTPClientProtocolVersion_W,'ProtocolVersion'); + RegisterPropertyHelper(@TALHTTPClientUserName_R,@TALHTTPClientUserName_W,'UserName'); + RegisterPropertyHelper(@TALHTTPClientPassword_R,@TALHTTPClientPassword_W,'Password'); + RegisterPropertyHelper(@TALHTTPClientOnUploadProgress_R,@TALHTTPClientOnUploadProgress_W,'OnUploadProgress'); + RegisterPropertyHelper(@TALHTTPClientOnDownloadProgress_R,@TALHTTPClientOnDownloadProgress_W,'OnDownloadProgress'); + RegisterPropertyHelper(@TALHTTPClientOnRedirect_R,@TALHTTPClientOnRedirect_W,'OnRedirect'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPClientProxyParams(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPClientProxyParams) do + begin + RegisterConstructor(@TALHTTPClientProxyParams.Create, 'Create'); + RegisterMethod(@TALHTTPClientProxyParams.Clear, 'Clear'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsProxyBypass_R,@TALHTTPClientProxyParamsProxyBypass_W,'ProxyBypass'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsProxyServer_R,@TALHTTPClientProxyParamsProxyServer_W,'ProxyServer'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsProxyPort_R,@TALHTTPClientProxyParamsProxyPort_W,'ProxyPort'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsProxyUserName_R,@TALHTTPClientProxyParamsProxyUserName_W,'ProxyUserName'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsProxyPassword_R,@TALHTTPClientProxyParamsProxyPassword_W,'ProxyPassword'); + RegisterPropertyHelper(@TALHTTPClientProxyParamsOnChange_R,@TALHTTPClientProxyParamsOnChange_W,'OnChange'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_EALHTTPClientException(CL: TPSRuntimeClassImporter); +begin + with CL.Add(EALHTTPClientException) do + begin + RegisterConstructor(@EALHTTPClientException.Create, 'Create'); + RegisterConstructor(@EALHTTPClientException.CreateFmt, 'CreateFmt'); + RegisterPropertyHelper(@EALHTTPClientExceptionStatusCode_R,@EALHTTPClientExceptionStatusCode_W,'StatusCode'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPResponseHeader(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPResponseHeader) do + begin + RegisterConstructor(@TALHTTPResponseHeader.Create, 'Create'); + RegisterMethod(@TALHTTPResponseHeader.Clear, 'Clear'); + RegisterPropertyHelper(@TALHTTPResponseHeaderAcceptRanges_R,nil,'AcceptRanges'); + RegisterPropertyHelper(@TALHTTPResponseHeaderAge_R,nil,'Age'); + RegisterPropertyHelper(@TALHTTPResponseHeaderAllow_R,nil,'Allow'); + RegisterPropertyHelper(@TALHTTPResponseHeaderCacheControl_R,nil,'CacheControl'); + RegisterPropertyHelper(@TALHTTPResponseHeaderConnection_R,nil,'Connection'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentEncoding_R,nil,'ContentEncoding'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentLanguage_R,nil,'ContentLanguage'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentLength_R,nil,'ContentLength'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentLocation_R,nil,'ContentLocation'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentMD5_R,nil,'ContentMD5'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentRange_R,nil,'ContentRange'); + RegisterPropertyHelper(@TALHTTPResponseHeaderContentType_R,nil,'ContentType'); + RegisterPropertyHelper(@TALHTTPResponseHeaderDate_R,nil,'Date'); + RegisterPropertyHelper(@TALHTTPResponseHeaderETag_R,nil,'ETag'); + RegisterPropertyHelper(@TALHTTPResponseHeaderExpires_R,nil,'Expires'); + RegisterPropertyHelper(@TALHTTPResponseHeaderLastModified_R,nil,'LastModified'); + RegisterPropertyHelper(@TALHTTPResponseHeaderLocation_R,nil,'Location'); + RegisterPropertyHelper(@TALHTTPResponseHeaderPragma_R,nil,'Pragma'); + RegisterPropertyHelper(@TALHTTPResponseHeaderProxyAuthenticate_R,nil,'ProxyAuthenticate'); + RegisterPropertyHelper(@TALHTTPResponseHeaderRetryAfter_R,nil,'RetryAfter'); + RegisterPropertyHelper(@TALHTTPResponseHeaderServer_R,nil,'Server'); + RegisterPropertyHelper(@TALHTTPResponseHeaderTrailer_R,nil,'Trailer'); + RegisterPropertyHelper(@TALHTTPResponseHeaderTransferEncoding_R,nil,'TransferEncoding'); + RegisterPropertyHelper(@TALHTTPResponseHeaderUpgrade_R,nil,'Upgrade'); + RegisterPropertyHelper(@TALHTTPResponseHeaderVary_R,nil,'Vary'); + RegisterPropertyHelper(@TALHTTPResponseHeaderVia_R,nil,'Via'); + RegisterPropertyHelper(@TALHTTPResponseHeaderWarning_R,nil,'Warning'); + RegisterPropertyHelper(@TALHTTPResponseHeaderWWWAuthenticate_R,nil,'WWWAuthenticate'); + RegisterPropertyHelper(@TALHTTPResponseHeaderCustomHeaders_R,nil,'CustomHeaders'); + RegisterPropertyHelper(@TALHTTPResponseHeaderCookies_R,nil,'Cookies'); + RegisterPropertyHelper(@TALHTTPResponseHeaderStatusCode_R,nil,'StatusCode'); + RegisterPropertyHelper(@TALHTTPResponseHeaderHttpProtocolVersion_R,nil,'HttpProtocolVersion'); + RegisterPropertyHelper(@TALHTTPResponseHeaderReasonPhrase_R,nil,'ReasonPhrase'); + RegisterPropertyHelper(@TALHTTPResponseHeaderRawHeaderText_R,@TALHTTPResponseHeaderRawHeaderText_W,'RawHeaderText'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPCookieCollection(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPCookieCollection) do + begin + RegisterMethod(@TALHTTPCookieCollectionAdd_P, 'Add'); + RegisterMethod(@TALHTTPCookieCollectionAdd1_P, 'Add1'); + RegisterPropertyHelper(@TALHTTPCookieCollectionItems_R,@TALHTTPCookieCollectionItems_W,'Items'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPCookie(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPCookie) do + begin + RegisterConstructor(@TALHTTPCookie.Create, 'Create'); + RegisterMethod(@TALHTTPCookie.AssignTo, 'AssignTo'); + RegisterPropertyHelper(@TALHTTPCookieName_R,@TALHTTPCookieName_W,'Name'); + RegisterPropertyHelper(@TALHTTPCookieValue_R,@TALHTTPCookieValue_W,'Value'); + RegisterPropertyHelper(@TALHTTPCookiePath_R,@TALHTTPCookiePath_W,'Path'); + RegisterPropertyHelper(@TALHTTPCookieDomain_R,@TALHTTPCookieDomain_W,'Domain'); + RegisterPropertyHelper(@TALHTTPCookieExpires_R,@TALHTTPCookieExpires_W,'Expires'); + RegisterPropertyHelper(@TALHTTPCookieSameSite_R,@TALHTTPCookieSameSite_W,'SameSite'); + RegisterPropertyHelper(@TALHTTPCookieSecure_R,@TALHTTPCookieSecure_W,'Secure'); + RegisterPropertyHelper(@TALHTTPCookieHttpOnly_R,@TALHTTPCookieHttpOnly_W,'HttpOnly'); + RegisterPropertyHelper(@TALHTTPCookieHeaderValue_R,@TALHTTPCookieHeaderValue_W,'HeaderValue'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_TALHTTPRequestHeader(CL: TPSRuntimeClassImporter); +begin + with CL.Add(TALHTTPRequestHeader) do + begin + RegisterConstructor(@TALHTTPRequestHeader.Create, 'Create'); + RegisterMethod(@TALHTTPRequestHeader.Clear, 'Clear'); + RegisterMethod(@TALHTTPRequestHeader.setHeaderValue, 'setHeaderValue'); + RegisterPropertyHelper(@TALHTTPRequestHeaderRawHeaderText_R,@TALHTTPRequestHeaderRawHeaderText_W,'RawHeaderText'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAccept_R,@TALHTTPRequestHeaderAccept_W,'Accept'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAcceptCharSet_R,@TALHTTPRequestHeaderAcceptCharSet_W,'AcceptCharSet'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAcceptEncoding_R,@TALHTTPRequestHeaderAcceptEncoding_W,'AcceptEncoding'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAcceptLanguage_R,@TALHTTPRequestHeaderAcceptLanguage_W,'AcceptLanguage'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAllow_R,@TALHTTPRequestHeaderAllow_W,'Allow'); + RegisterPropertyHelper(@TALHTTPRequestHeaderAuthorization_R,@TALHTTPRequestHeaderAuthorization_W,'Authorization'); + RegisterPropertyHelper(@TALHTTPRequestHeaderCacheControl_R,@TALHTTPRequestHeaderCacheControl_W,'CacheControl'); + RegisterPropertyHelper(@TALHTTPRequestHeaderConnection_R,@TALHTTPRequestHeaderConnection_W,'Connection'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentEncoding_R,@TALHTTPRequestHeaderContentEncoding_W,'ContentEncoding'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentLanguage_R,@TALHTTPRequestHeaderContentLanguage_W,'ContentLanguage'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentLength_R,@TALHTTPRequestHeaderContentLength_W,'ContentLength'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentLocation_R,@TALHTTPRequestHeaderContentLocation_W,'ContentLocation'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentMD5_R,@TALHTTPRequestHeaderContentMD5_W,'ContentMD5'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentRange_R,@TALHTTPRequestHeaderContentRange_W,'ContentRange'); + RegisterPropertyHelper(@TALHTTPRequestHeaderContentType_R,@TALHTTPRequestHeaderContentType_W,'ContentType'); + RegisterPropertyHelper(@TALHTTPRequestHeaderDate_R,@TALHTTPRequestHeaderDate_W,'Date'); + RegisterPropertyHelper(@TALHTTPRequestHeaderExpect_R,@TALHTTPRequestHeaderExpect_W,'Expect'); + RegisterPropertyHelper(@TALHTTPRequestHeaderExpires_R,@TALHTTPRequestHeaderExpires_W,'Expires'); + RegisterPropertyHelper(@TALHTTPRequestHeaderFrom_R,@TALHTTPRequestHeaderFrom_W,'From'); + RegisterPropertyHelper(@TALHTTPRequestHeaderHost_R,@TALHTTPRequestHeaderHost_W,'Host'); + RegisterPropertyHelper(@TALHTTPRequestHeaderIfMatch_R,@TALHTTPRequestHeaderIfMatch_W,'IfMatch'); + RegisterPropertyHelper(@TALHTTPRequestHeaderIfModifiedSince_R,@TALHTTPRequestHeaderIfModifiedSince_W,'IfModifiedSince'); + RegisterPropertyHelper(@TALHTTPRequestHeaderIfNoneMatch_R,@TALHTTPRequestHeaderIfNoneMatch_W,'IfNoneMatch'); + RegisterPropertyHelper(@TALHTTPRequestHeaderIfRange_R,@TALHTTPRequestHeaderIfRange_W,'IfRange'); + RegisterPropertyHelper(@TALHTTPRequestHeaderIfUnmodifiedSince_R,@TALHTTPRequestHeaderIfUnmodifiedSince_W,'IfUnmodifiedSince'); + RegisterPropertyHelper(@TALHTTPRequestHeaderLastModified_R,@TALHTTPRequestHeaderLastModified_W,'LastModified'); + RegisterPropertyHelper(@TALHTTPRequestHeaderMaxForwards_R,@TALHTTPRequestHeaderMaxForwards_W,'MaxForwards'); + RegisterPropertyHelper(@TALHTTPRequestHeaderPragma_R,@TALHTTPRequestHeaderPragma_W,'Pragma'); + RegisterPropertyHelper(@TALHTTPRequestHeaderProxyAuthorization_R,@TALHTTPRequestHeaderProxyAuthorization_W,'ProxyAuthorization'); + RegisterPropertyHelper(@TALHTTPRequestHeaderRange_R,@TALHTTPRequestHeaderRange_W,'Range'); + RegisterPropertyHelper(@TALHTTPRequestHeaderReferer_R,@TALHTTPRequestHeaderReferer_W,'Referer'); + RegisterPropertyHelper(@TALHTTPRequestHeaderTE_R,@TALHTTPRequestHeaderTE_W,'TE'); + RegisterPropertyHelper(@TALHTTPRequestHeaderTrailer_R,@TALHTTPRequestHeaderTrailer_W,'Trailer'); + RegisterPropertyHelper(@TALHTTPRequestHeaderTransferEncoding_R,@TALHTTPRequestHeaderTransferEncoding_W,'TransferEncoding'); + RegisterPropertyHelper(@TALHTTPRequestHeaderUpgrade_R,@TALHTTPRequestHeaderUpgrade_W,'Upgrade'); + RegisterPropertyHelper(@TALHTTPRequestHeaderUserAgent_R,@TALHTTPRequestHeaderUserAgent_W,'UserAgent'); + RegisterPropertyHelper(@TALHTTPRequestHeaderVia_R,@TALHTTPRequestHeaderVia_W,'Via'); + RegisterPropertyHelper(@TALHTTPRequestHeaderWarning_R,@TALHTTPRequestHeaderWarning_W,'Warning'); + RegisterPropertyHelper(@TALHTTPRequestHeaderCustomHeaders_R,nil,'CustomHeaders'); + RegisterPropertyHelper(@TALHTTPRequestHeaderCookies_R,nil,'Cookies'); + end; +end; + +(*----------------------------------------------------------------------------*) +procedure RIRegister_ALHttpClient2(CL: TPSRuntimeClassImporter); +begin + RIRegister_TALHTTPRequestHeader(CL); + RIRegister_TALHTTPCookie(CL); + RIRegister_TALHTTPCookieCollection(CL); + RIRegister_TALHTTPResponseHeader(CL); + RIRegister_EALHTTPClientException(CL); + RIRegister_TALHTTPClientProxyParams(CL); + RIRegister_TALHTTPClient(CL); +end; + + + +{ TPSImport_ALHttpClient2 } +(*----------------------------------------------------------------------------*) +procedure TPSImport_ALHttpClient2.CompileImport1(CompExec: TPSScript); +begin + SIRegister_ALHttpClient2(CompExec.Comp); +end; +(*----------------------------------------------------------------------------*) +procedure TPSImport_ALHttpClient2.ExecImport1(CompExec: TPSScript; const ri: TPSRuntimeClassImporter); +begin + RIRegister_ALHttpClient2(ri); + RIRegister_ALHttpClient2_Routines(CompExec.Exec); // comment it if no routines +end; +(*----------------------------------------------------------------------------*) + + +end. diff --git a/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.htm b/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.htm new file mode 100644 index 00000000..21ae4cc7 --- /dev/null +++ b/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.htm @@ -0,0 +1,366 @@ +Version:0.9 +StartHTML:0000000105 +EndHTML:0000076517 +StartFragment:0000001053 +EndFragment:0000076501 + + + + +mXScriptasHTML + + + + + +
    program VCL4Python_Py_AnalyticsDemo;
    +{
    + Most programmers are familiar with the inexactness of floating point 
    +                                   calculations in a binary processor. 
    + https://downloads.blaisepascal.eu/BlaisePascalMagazine_99_100_UK.pdf
    + 
    + https://github.com/maxkleiner/DelphiVCL4Python
    +}
    +
    +Const //PYHOME = 'C:\Users\max\AppData\Local\Programs\Python\Python36-32\';
    +PYHOME = 'C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\'; 
    +      
    + VCLHOME = 
    +  'r"C:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delphivcl\win64\delphivcl.pyd"';
    +
    + 
    +//{$I logo.p} 
    +PROCEDURE logo;
    +BEGIN
    + writeln('');
    + writeln('  .-------------------------------------------.');
    + writeln('  | The Clean Python Bank Society         |');
    + writeln('  | Task9                 1988-2022 M.K.     |');
    + writeln('  .-------------------------------------------.');
    + writeln('');
    +END; {procedure logo}
    +
    +const LoadPy_VCLClass =
    +
    +  'class MainForm(Form):                            '+LF+
    +  '                                                 '+LF+
    +  '  def __init__(self, owner):                     '+LF+
    +  '      self.Caption = "A VCL Form..."             '+LF+
    +  '      self.SetBounds(10, 10, 500, 400)           '+LF+
    +  '      self.Position = "poScreenCenter"           '+LF+
    +  '                                                 '+LF+
    +  '      self.lblHello = Label(self)                '+LF+
    +  '      self.lblHello.SetProps(Parent=self,        '+LF+
    +  '        Caption="Hello DelphiVCL maXbox4 Python")'+LF+
    +  '      self.lblHello.SetBounds(10, 10, 300, 24)   '+LF+
    +  '                                                 '+LF+
    +  '      self.OnClose = self.__on_form_close        '+LF+
    +  '                                                 '+LF+
    +  '                                                 '+LF+
    +  '  def __on_form_close(self, sender, action):     '+LF+
    +  '     action.Value = caFree                       ';
    +  
    + 
    + STARTMAIN =
    +  'def main():                               '+LF+
    +  '  Application.Initialize()                '+LF+
    +  '  Application.Title = "Hello Python"      '+LF+
    +  '  Main = MainForm(Application)            '+LF+
    +  '  Main.Show()                             '+LF+
    +  '  FreeConsole()                           '+LF+
    +  '  Application.Run()                       '+LF+
    +  '  Main.Destroy()                          ';
    +  
    +  
    + ANALYTICS='#from delphi_module import svg_image'+LF
    +    +'from io import StringIO'+LF
    +    +'import numpy as np'     +LF
    +    +'import pandas as pd'    +LF
    +    +'import matplotlib.pyplot as plt'+LF
    +    +'from sklearn.linear_model import BayesianRidge'+LF
    +    +'from sklearn.model_selection import RandomizedSearchCV, train_test_split'+LF
    +    +'from sklearn.preprocessing import PolynomialFeatures'+LF
    +    +'from sklearn.metrics import mean_squared_error, mean_absolute_error'+LF
    +    +'from sklearn.utils import parallel_backend'+LF
    +    +'parallel_backend('#39'threading'#39')'+LF
    +    +'import datetime'+LF
    +    +'import warnings'+LF
    +    +'warnings.filterwarnings("ignore")'+LF
    +    +''+LF
    +    +'confirmed_df = pd.read_csv('#39'https://raw.githubusercontent.com/CS'+
    +        'SEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_ti' +
    +        'me_series/time_series_covid19_confirmed_global.csv'#39')'+LF
    +    +''+LF
    +    +'parallel_backend('#39'threading'#39')'+LF
    +    +'cols = confirmed_df.keys()'+LF
    +    +'confirmed = confirmed_df.loc[:, cols[4]:cols[-1]]'+LF
    +    +'dates = confirmed.keys()'+LF
    +    +'world_cases = []'+LF
    +    +''+LF
    +    +'for i in dates:'+LF
    +    +'    confirmed_sum = confirmed[i].sum()'+LF
    +    +'    world_cases.append(confirmed_sum)'+LF
    +    +'# window size'+LF
    +    +'window = 7'+LF
    +    +''+LF
    +    +'days_since_1_22 = np.array([i for i in range(len(dates))]).reshape(-1, 1)'+LF
    +    +'world_cases = np.array(world_cases).reshape(-1, 1)'+LF
    +    +''+LF
    +    +'days_in_future = 10'+LF
    +    +'future_forcast = np.array([i for i in range(len(dates)+days_in_f' +
    +          'uture)]).reshape(-1, 1)' +LF
    +    +''+LF
    +    +'start = '#39'1/22/2020'#39+LF
    +    +'start_date = datetime.datetime.strptime(start, '#39'%m/%d/%Y'#39')'+LF
    +    +'future_forcast_dates = []' +LF
    +    +'for i in range(len(future_forcast)):'+LF
    +    +'  future_forcast_dates.append((start_date + datetime.timedelta' +
    +        '(days=i)).strftime('#39'%m/%d/%Y'#39'))'+LF
    +    +''+LF
    +    +'X_train_confirmed, X_test_confirmed, y_train_confirmed, y_test_c' +
    +        'onfirmed = train_test_split(days_since_1_22[50:], world_cases[50' +
    +        ':], test_size=0.05, shuffle=False)'+LF
    +    +''+LF
    +    +'# transform our data for polynomial regression'+LF
    +    +'bayesian_poly = PolynomialFeatures(degree=5)'+LF
    +    +'bayesian_poly_X_train_confirmed = bayesian_poly.fit_transform(X_' +
    +         'train_confirmed)'+LF
    +    +'bayesian_poly_X_test_confirmed = bayesian_poly.fit_transform(X_t' +
    +         'est_confirmed)'+LF
    +    +'bayesian_poly_future_forcast= bayesian_poly.fit_transform(future_forcast)'+LF
    +    +'' +LF
    +    +'# bayesian ridge polynomial regression'    +LF
    +    +'tol = [1e-6, 1e-5, 1e-4, 1e-3, 1e-2]'      +LF
    +    +'alpha_1 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]'  +LF
    +    +'alpha_2 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]'  +LF
    +    +'lambda_1 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF
    +    +'lambda_2 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF
    +    +'normalize = [True, False]'                 +LF
    +    +''                                          +LF
    +    +'bayesian_grid={'#39'tol'#39':tol,'#39'alpha_1'#39':alpha_1,'#39'alpha_2'#39':alp'+
    +    'ha_2, '#39'lambda_1'#39': lambda_1,'#39'lambda_2'#39' : lambda_2,'
    +    +'                  '#39'normalize'#39' : normalize}' +LF
    +    +''+LF
    +    +'bayesian = BayesianRidge(fit_intercept=True)' +LF
    +    +'bayesian_search = RandomizedSearchCV(bayesian, bayesian_grid, sc' +
    +        'oring='#39'neg_mean_squared_error'#39', cv=3, return_train_score=True, n'+
    +        '_jobs=-1, n_iter=40, verbose=1)'+LF
    +    +'bayesian_search.fit(bayesian_poly_X_train_confirmed, y_train_confirmed)'+LF
    +    +''+LF
    +    +'print(bayesian_search.best_params_)'+LF
    +    +''+LF
    +    +'bayesian_confirmed = bayesian_search.best_estimator_' +LF
    +    +  'test_bayesian_pred = bayesian_confirmed.predict(bayesian_poly_X_' +
    +       'test_confirmed)'+LF
    +    +'bayesian_pred = bayesian_confirmed.predict(bayesian_poly_future_forcast)'+LF
    +    +'print('#39'MAE:'#39',mean_absolute_error(test_bayesian_pred,y_test_confirmed))'+LF
    +    +'print('#39'MSE:'#39',mean_squared_error(test_bayesian_pred,y_test_confirmed))' +LF
    +    +'' +LF
    +    +'plt.plot(y_test_confirmed)'+LF
    +    +'plt.plot(test_bayesian_pred)'+LF
    +    +'plt.legend(['#39'Test Data'#39','#39'Bayesian Ridge Polynomial Predictions'#39'])'+LF
    +    +'' +LF
    +    +'figfile = StringIO()'+LF
    +    +'plt.savefig(figfile, format='#39'svg'#39')'+LF
    +    +'figdata_svg = figfile.getvalue()' +LF
    +    +'#svg_image.SvgText = figdata_svg'+LF
    +    +''+LF
    +    +'plt.show()';  
    +
    +
    +procedure pyBank_VCL4Python;
    +var eg: TPythonEngine; sw: TStopWatch;
    +begin
    +eg:= TPythonEngine.Create(Nil);
    +  try
    +    eg.pythonhome:= PYHOME;
    +    eg.loadDLL;
    +    println('test import '+GetPythonEngine.EvalStr('__import__("decimal").Decimal(0.1)'));
    +    println('test import '+eg.EvalStr('__import__("decimal").Decimal(0.1)')); 
    +    writeln('') 
    +    //println(eg.EvalStr('__import__("faker").Faker()')); 
    +    sw:= TStopWatch.Create();
    +    sw.Start;
    +    eg.execStr('import importlib.machinery, importlib.util');
    +    eg.execStr('from decimal import Decimal, getcontext');
    +    //eg.execStr('from delphivcl import *');
    +    //eg.execStr('import delphivcl, os');
    +    //eg.execStr('loader= importlib.machinery.ExtensionFileLoader("DelphiVCL",'+VCLHOME+')')
    +    //println('loader test>>> '+eg.evalStr('loader'));
    +    //eg.execStr(LoadPy_VCLClass);
    +    //eg.execStr(STARTMAIN);
    +    //eg.execStr('main()');
    +    eg.execStr(ANALYTICS);
    +    println(eg.evalStr(''#39'MAE:'#39',mean_absolute_error(test_bayesian_pred,y_test_confirmed)'));
    +    println(eg.evalStr(''#39'MSE:'#39',mean_squared_error(test_bayesian_pred, y_test_confirmed)'));
    +    
    +    //eg.execStr(pybankDEF)  
    +    //"Bank balance after 25 years = ", bank(25)
    +    // println('Bank balance after 25 years = '+
    +     //               eg.evalStr('bank(25)'));
    +    sw.Stop;
    +    //sw.ElapsedMilliseconds;
    +    writeln('Stop Analytics Tester1: '+sw.getValueStr)
    +  except
    +    eg.raiseError;
    +    writeln(ExceptionToString(ExceptionType, ExceptionParam));  
    +  finally
    +    eg.Free;
    +    sw.Free;
    +    sw:= Nil;
    +  end;
    +end;   
    +
    +Const UPPERLIMIT = 100;
    +var cnt,n, precision: NativeUint;
    +
    +begin //@main
    +  logo;
    +  pyBank_VCL4Python();
    +End.
    +
    +ref: test import 0.1000000000000000055511151231257827021181583404541015625
    +test import 0.1000000000000000055511151231257827021181583404541015625
    +
    +('MAE:', 40265042.8047044)
    +('MSE:', 1686906953419077.5)
    +Stop Analytics Tester1: 0:10:51.185
    +
    +
    +Exception: <class 'NameError'>: name 'svg_image' is not defined.
    +
    +     0.03993872967323020890367053
    +     0.03993872967323020890367053
    +PY   0.03993872967323021
    +
    +ref install python.exe -m pip install delphivcl
    +
    +Exception: <class 'ValueError'>: DelphiVCL module not found. Try to reinstall the delphivcl package or check for support compatibility.
    +
    +import sys
    +# the following is needed to use the newly allocated console!
    +sys.stdout = sys.stderr= open('CONOUT$', 'wt')
    + 
    +
    +C:\maXbox\works2021\maxbox4>cd C:\Users\Max\AppData\Local\Programs\Python\Python36-32
    +
    +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install
    + delphivcl
    +Collecting delphivcl
    +  Downloading https://files.pythonhosted.org/packages/15/6b/32729afd53807fe5b890
    +dbe309da2ea3575f49f7fe21d15532672fc94763/delphivcl-0.1.29-cp36-cp36m-win32.whl (
    +2.1MB)
    +    100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.1MB 539kB/s
    +Installing collected packages: delphivcl
    +Successfully installed delphivcl-0.1.29
    +You are using pip version 9.0.1, however version 21.3.1 is available.
    +You should consider upgrading via the 'python -m pip install --upgrade pip' command.
    +
    +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>
    +
    +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip uninsta
    +ll delphivcl
    +Uninstalling delphivcl-0.1.29:
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\installer
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\license.md
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\metadata
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\record
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\top_level.txt
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl-0.1.29.dist-info\wheel
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\__init__.py
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\__pycache__\__init__.cpython-36.pyc
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\__pycache__\__version__.cpython-36.pyc
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\__pycache__\moduledefs.cpython-36.pyc
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\__version__.py
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\moduledefs.py
    +  c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph
    +ivcl\win64\delphivcl.pyd
    +Proceed (y/n)? y
    +  Successfully uninstalled delphivcl-0.1.29
    +  
    +Error log:
    +  C:\Users\breitsch\Documents\Embarcadero\Studio\21.0\CatalogRepository\Delphi4PythonExporter-D104-1.2.1\Source;"C:\Program 
    +  Files\Streaming\maxbox4\python4delphi\Source";"C:\Program Files\Streaming\maxbox4\python4delphi\Source\vcl" -K00400000 
    +  -NBC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\21.0\hpp\Win32  Demo34.dpr   
    +[dcc32 Fatal Error] Demo34.dpr(7): F2048 Bad unit format: 'Unit1.dcu' - Expected version: 34.0, Windows Unicode(x86) Found version: 34.0, Windows Unicode(x64)
    +Failed
    +Elapsed time: 00:00:01.0
    +64bit build
    +
    +procedure TDynamicDll.DoOpenDll(const aDllName : string);
    +{$IFDEF MSWINDOWS}
    +const
    +  LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR = $00000100;
    +  LOAD_LIBRARY_DEFAULT_DIRS = $00001000;
    +Var
    +  ExceptMask: TFPUExceptionMask;
    +{$ENDIF}
    +begin
    +  if not IsHandleValid then
    +  begin
    +    FDllName := aDllName;
    +    {$IFDEF MSWINDOWS}
    +    ExceptMask := GetExceptionMask;
    +    try
    +      {$IFDEF FPC}
    +      FDLLHandle := LoadLibraryExA(PAnsiChar(AnsiString(GetDllPath+DllName)),
    +      {$ELSE}
    +      /// [dcc64 Error] PythonEngine.pas(2965): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar'
    +      FDLLHandle := LoadLibraryEx(PWidechar(GetDllPath+DllName),
    +      {$ENDIF}
    +        0, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR or LOAD_LIBRARY_DEFAULT_DIRS);
    +    finally
    +      SetExceptionMask(ExceptMask);
    +    end;
    +    {$ELSE}
    +    //Linux: need here RTLD_GLOBAL, so Python can do "import ctypes"
    +    FDLLHandle := THandle(dlopen(PAnsiChar(AnsiString(GetDllPath+DllName)),
    +      RTLD_LAZY+RTLD_GLOBAL));
    +    {$ENDIF}
    +  end;
    +end;
    +
    +function TMethodsContainer.AddMethod( AMethodName  : PAnsiChar;
    +                                      AMethod  : PyCFunction;
    +                                      ADocString : PAnsiChar ) : PPyMethodDef;
    +begin
    +  if FMethodCount = FAllocatedMethodCount then
    +    ReallocMethods;
    +  Result := Methods[ MethodCount ];
    +  Result^.ml_name  := AMethodName;
    +  Result^.ml_meth  := AMethod;
    +  Result^.ml_flags := METH_VARARGS;
    +  Result^.ml_doc   := ADocString;
    +  Inc( FMethodCount );
    +end;
    +
    +
    + \ No newline at end of file diff --git a/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.pas b/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.pas new file mode 100644 index 00000000..a86b6192 --- /dev/null +++ b/Tutorials/Webinar II/AnalyticsDemo/1096_P4D_AnalyticsDemo.pas @@ -0,0 +1,332 @@ +program VCL4Python_Py_AnalyticsDemo; +{ + Most programmers are familiar with the inexactness of floating point + calculations in a binary processor. + https://downloads.blaisepascal.eu/BlaisePascalMagazine_99_100_UK.pdf + + https://github.com/maxkleiner/DelphiVCL4Python +} + +Const //PYHOME = 'C:\Users\max\AppData\Local\Programs\Python\Python36-32\'; +PYHOME = 'C:\Users\breitsch\AppData\Local\Programs\Python\Python37-32\'; + + VCLHOME = + 'r"C:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delphivcl\win64\delphivcl.pyd"'; + + +//{$I logo.p} +PROCEDURE logo; +BEGIN + writeln(''); + writeln(' .-------------------------------------------.'); + writeln(' | The Clean Python Bank Society |'); + writeln(' | Task9 1988-2022 M.K. |'); + writeln(' .-------------------------------------------.'); + writeln(''); +END; {procedure logo} + +const LoadPy_VCLClass = + + 'class MainForm(Form): '+LF+ + ' '+LF+ + ' def __init__(self, owner): '+LF+ + ' self.Caption = "A VCL Form..." '+LF+ + ' self.SetBounds(10, 10, 500, 400) '+LF+ + ' self.Position = "poScreenCenter" '+LF+ + ' '+LF+ + ' self.lblHello = Label(self) '+LF+ + ' self.lblHello.SetProps(Parent=self, '+LF+ + ' Caption="Hello DelphiVCL maXbox4 Python")'+LF+ + ' self.lblHello.SetBounds(10, 10, 300, 24) '+LF+ + ' '+LF+ + ' self.OnClose = self.__on_form_close '+LF+ + ' '+LF+ + ' '+LF+ + ' def __on_form_close(self, sender, action): '+LF+ + ' action.Value = caFree '; + + + STARTMAIN = + 'def main(): '+LF+ + ' Application.Initialize() '+LF+ + ' Application.Title = "Hello Python" '+LF+ + ' Main = MainForm(Application) '+LF+ + ' Main.Show() '+LF+ + ' FreeConsole() '+LF+ + ' Application.Run() '+LF+ + ' Main.Destroy() '; + + + ANALYTICS='#from delphi_module import svg_image'+LF + +'from io import StringIO'+LF + +'import numpy as np' +LF + +'import pandas as pd' +LF + +'import matplotlib.pyplot as plt'+LF + +'from sklearn.linear_model import BayesianRidge'+LF + +'from sklearn.model_selection import RandomizedSearchCV, train_test_split'+LF + +'from sklearn.preprocessing import PolynomialFeatures'+LF + +'from sklearn.metrics import mean_squared_error, mean_absolute_error'+LF + +'from sklearn.utils import parallel_backend'+LF + +'parallel_backend('#39'threading'#39')'+LF + +'import datetime'+LF + +'import warnings'+LF + +'warnings.filterwarnings("ignore")'+LF + +''+LF + +'confirmed_df = pd.read_csv('#39'https://raw.githubusercontent.com/CS'+ + 'SEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_ti' + + 'me_series/time_series_covid19_confirmed_global.csv'#39')'+LF + +''+LF + +'parallel_backend('#39'threading'#39')'+LF + +'cols = confirmed_df.keys()'+LF + +'confirmed = confirmed_df.loc[:, cols[4]:cols[-1]]'+LF + +'dates = confirmed.keys()'+LF + +'world_cases = []'+LF + +''+LF + +'for i in dates:'+LF + +' confirmed_sum = confirmed[i].sum()'+LF + +' world_cases.append(confirmed_sum)'+LF + +'# window size'+LF + +'window = 7'+LF + +''+LF + +'days_since_1_22 = np.array([i for i in range(len(dates))]).reshape(-1, 1)'+LF + +'world_cases = np.array(world_cases).reshape(-1, 1)'+LF + +''+LF + +'days_in_future = 10'+LF + +'future_forcast = np.array([i for i in range(len(dates)+days_in_f' + + 'uture)]).reshape(-1, 1)' +LF + +''+LF + +'start = '#39'1/22/2020'#39+LF + +'start_date = datetime.datetime.strptime(start, '#39'%m/%d/%Y'#39')'+LF + +'future_forcast_dates = []' +LF + +'for i in range(len(future_forcast)):'+LF + +' future_forcast_dates.append((start_date + datetime.timedelta' + + '(days=i)).strftime('#39'%m/%d/%Y'#39'))'+LF + +''+LF + +'X_train_confirmed, X_test_confirmed, y_train_confirmed, y_test_c' + + 'onfirmed = train_test_split(days_since_1_22[50:], world_cases[50' + + ':], test_size=0.05, shuffle=False)'+LF + +''+LF + +'# transform our data for polynomial regression'+LF + +'bayesian_poly = PolynomialFeatures(degree=5)'+LF + +'bayesian_poly_X_train_confirmed = bayesian_poly.fit_transform(X_' + + 'train_confirmed)'+LF + +'bayesian_poly_X_test_confirmed = bayesian_poly.fit_transform(X_t' + + 'est_confirmed)'+LF + +'bayesian_poly_future_forcast= bayesian_poly.fit_transform(future_forcast)'+LF + +'' +LF + +'# bayesian ridge polynomial regression' +LF + +'tol = [1e-6, 1e-5, 1e-4, 1e-3, 1e-2]' +LF + +'alpha_1 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF + +'alpha_2 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF + +'lambda_1 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF + +'lambda_2 = [1e-7, 1e-6, 1e-5, 1e-4, 1e-3]' +LF + +'normalize = [True, False]' +LF + +'' +LF + +'bayesian_grid={'#39'tol'#39':tol,'#39'alpha_1'#39':alpha_1,'#39'alpha_2'#39':alp'+ + 'ha_2, '#39'lambda_1'#39': lambda_1,'#39'lambda_2'#39' : lambda_2,' + +' '#39'normalize'#39' : normalize}' +LF + +''+LF + +'bayesian = BayesianRidge(fit_intercept=True)' +LF + +'bayesian_search = RandomizedSearchCV(bayesian, bayesian_grid, sc' + + 'oring='#39'neg_mean_squared_error'#39', cv=3, return_train_score=True, n'+ + '_jobs=-1, n_iter=40, verbose=1)'+LF + +'bayesian_search.fit(bayesian_poly_X_train_confirmed, y_train_confirmed)'+LF + +''+LF + +'print(bayesian_search.best_params_)'+LF + +''+LF + +'bayesian_confirmed = bayesian_search.best_estimator_' +LF + + 'test_bayesian_pred = bayesian_confirmed.predict(bayesian_poly_X_' + + 'test_confirmed)'+LF + +'bayesian_pred = bayesian_confirmed.predict(bayesian_poly_future_forcast)'+LF + +'print('#39'MAE:'#39',mean_absolute_error(test_bayesian_pred,y_test_confirmed))'+LF + +'print('#39'MSE:'#39',mean_squared_error(test_bayesian_pred,y_test_confirmed))' +LF + +'' +LF + +'plt.plot(y_test_confirmed)'+LF + +'plt.plot(test_bayesian_pred)'+LF + +'plt.legend(['#39'Test Data'#39','#39'Bayesian Ridge Polynomial Predictions'#39'])'+LF + +'' +LF + +'figfile = StringIO()'+LF + +'plt.savefig(figfile, format='#39'svg'#39')'+LF + +'figdata_svg = figfile.getvalue()' +LF + +'#svg_image.SvgText = figdata_svg'+LF + +''+LF + +'plt.show()'; + + +procedure pyBank_VCL4Python; +var eg: TPythonEngine; sw: TStopWatch; +begin +eg:= TPythonEngine.Create(Nil); + try + eg.pythonhome:= PYHOME; + eg.loadDLL; + println('test import '+GetPythonEngine.EvalStr('__import__("decimal").Decimal(0.1)')); + println('test import '+eg.EvalStr('__import__("decimal").Decimal(0.1)')); + writeln('') + //println(eg.EvalStr('__import__("faker").Faker()')); + sw:= TStopWatch.Create(); + sw.Start; + eg.execStr('import importlib.machinery, importlib.util'); + eg.execStr('from decimal import Decimal, getcontext'); + //eg.execStr('from delphivcl import *'); + //eg.execStr('import delphivcl, os'); + //eg.execStr('loader= importlib.machinery.ExtensionFileLoader("DelphiVCL",'+VCLHOME+')') + //println('loader test>>> '+eg.evalStr('loader')); + //eg.execStr(LoadPy_VCLClass); + //eg.execStr(STARTMAIN); + //eg.execStr('main()'); + eg.execStr(ANALYTICS); + println(eg.evalStr(''#39'MAE:'#39',mean_absolute_error(test_bayesian_pred,y_test_confirmed)')); + println(eg.evalStr(''#39'MSE:'#39',mean_squared_error(test_bayesian_pred, y_test_confirmed)')); + + //eg.execStr(pybankDEF) + //"Bank balance after 25 years = ", bank(25) + // println('Bank balance after 25 years = '+ + // eg.evalStr('bank(25)')); + sw.Stop; + //sw.ElapsedMilliseconds; + writeln('Stop Analytics Tester1: '+sw.getValueStr) + except + eg.raiseError; + writeln(ExceptionToString(ExceptionType, ExceptionParam)); + finally + eg.Free; + sw.Free; + sw:= Nil; + end; +end; + +Const UPPERLIMIT = 100; +var cnt,n, precision: NativeUint; + +begin //@main + logo; + pyBank_VCL4Python(); +End. + +ref: test import 0.1000000000000000055511151231257827021181583404541015625 +test import 0.1000000000000000055511151231257827021181583404541015625 + +('MAE:', 40265042.8047044) +('MSE:', 1686906953419077.5) +Stop Analytics Tester1: 0:10:51.185 + + +Exception: : name 'svg_image' is not defined. + + 0.03993872967323020890367053 + 0.03993872967323020890367053 +PY 0.03993872967323021 + +ref install python.exe -m pip install delphivcl + +Exception: : DelphiVCL module not found. Try to reinstall the delphivcl package or check for support compatibility. + +import sys +# the following is needed to use the newly allocated console! +sys.stdout = sys.stderr= open('CONOUT$', 'wt') + + +C:\maXbox\works2021\maxbox4>cd C:\Users\Max\AppData\Local\Programs\Python\Python36-32 + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install + delphivcl +Collecting delphivcl + Downloading https://files.pythonhosted.org/packages/15/6b/32729afd53807fe5b890 +dbe309da2ea3575f49f7fe21d15532672fc94763/delphivcl-0.1.29-cp36-cp36m-win32.whl ( +2.1MB) + 100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.1MB 539kB/s +Installing collected packages: delphivcl +Successfully installed delphivcl-0.1.29 +You are using pip version 9.0.1, however version 21.3.1 is available. +You should consider upgrading via the 'python -m pip install --upgrade pip' command. + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32> + +C:\Users\Max\AppData\Local\Programs\Python\Python36-32>python.exe -m pip uninsta +ll delphivcl +Uninstalling delphivcl-0.1.29: + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\installer + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\license.md + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\metadata + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\record + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\top_level.txt + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl-0.1.29.dist-info\wheel + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__init__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__init__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\__version__.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__pycache__\moduledefs.cpython-36.pyc + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\__version__.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\moduledefs.py + c:\users\max\appdata\local\programs\python\python36-32\lib\site-packages\delph +ivcl\win64\delphivcl.pyd +Proceed (y/n)? y + Successfully uninstalled delphivcl-0.1.29 + +Error log: + C:\Users\breitsch\Documents\Embarcadero\Studio\21.0\CatalogRepository\Delphi4PythonExporter-D104-1.2.1\Source;"C:\Program + Files\Streaming\maxbox4\python4delphi\Source";"C:\Program Files\Streaming\maxbox4\python4delphi\Source\vcl" -K00400000 + -NBC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\21.0\hpp\Win32 Demo34.dpr +[dcc32 Fatal Error] Demo34.dpr(7): F2048 Bad unit format: 'Unit1.dcu' - Expected version: 34.0, Windows Unicode(x86) Found version: 34.0, Windows Unicode(x64) +Failed +Elapsed time: 00:00:01.0 +64bit build + +procedure TDynamicDll.DoOpenDll(const aDllName : string); +{$IFDEF MSWINDOWS} +const + LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR = $00000100; + LOAD_LIBRARY_DEFAULT_DIRS = $00001000; +Var + ExceptMask: TFPUExceptionMask; +{$ENDIF} +begin + if not IsHandleValid then + begin + FDllName := aDllName; + {$IFDEF MSWINDOWS} + ExceptMask := GetExceptionMask; + try + {$IFDEF FPC} + FDLLHandle := LoadLibraryExA(PAnsiChar(AnsiString(GetDllPath+DllName)), + {$ELSE} + /// [dcc64 Error] PythonEngine.pas(2965): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar' + FDLLHandle := LoadLibraryEx(PWidechar(GetDllPath+DllName), + {$ENDIF} + 0, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR or LOAD_LIBRARY_DEFAULT_DIRS); + finally + SetExceptionMask(ExceptMask); + end; + {$ELSE} + //Linux: need here RTLD_GLOBAL, so Python can do "import ctypes" + FDLLHandle := THandle(dlopen(PAnsiChar(AnsiString(GetDllPath+DllName)), + RTLD_LAZY+RTLD_GLOBAL)); + {$ENDIF} + end; +end; + +function TMethodsContainer.AddMethod( AMethodName : PAnsiChar; + AMethod : PyCFunction; + ADocString : PAnsiChar ) : PPyMethodDef; +begin + if FMethodCount = FAllocatedMethodCount then + ReallocMethods; + Result := Methods[ MethodCount ]; + Result^.ml_name := AMethodName; + Result^.ml_meth := AMethod; + Result^.ml_flags := METH_VARARGS; + Result^.ml_doc := ADocString; + Inc( FMethodCount ); +end; diff --git a/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics.png b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics.png new file mode 100644 index 00000000..d2737f79 Binary files /dev/null and b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics.png differ diff --git a/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics_script.png b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics_script.png new file mode 100644 index 00000000..9772062b Binary files /dev/null and b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_analytics_script.png differ diff --git a/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_exception.png b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_exception.png new file mode 100644 index 00000000..2f818f2b Binary files /dev/null and b/Tutorials/Webinar II/AnalyticsDemo/2022-11-11_exception.png differ diff --git a/Tutorials/Webinar II/AnalyticsDemo/AnalyticsDemo.dproj b/Tutorials/Webinar II/AnalyticsDemo/AnalyticsDemo.dproj index db0d9a61..3883c195 100644 --- a/Tutorials/Webinar II/AnalyticsDemo/AnalyticsDemo.dproj +++ b/Tutorials/Webinar II/AnalyticsDemo/AnalyticsDemo.dproj @@ -5,9 +5,9 @@ Debug VCL AnalyticsDemo.dpr - Win64 + Win32 {9AC7390B-64D2-47DD-8444-97F5B6123324} - 19.1 + 19.2 3 @@ -116,6 +116,10 @@
    Form1
    dfm + + Cfg_2 + Base + Base @@ -123,10 +127,6 @@ Cfg_1 Base - - Cfg_2 - Base - Delphi.Personality.12 diff --git a/maxbox_starter99.pdf b/maxbox_starter99.pdf new file mode 100644 index 00000000..7e332fd7 Binary files /dev/null and b/maxbox_starter99.pdf differ