' oxygen basic c++ translation, 28-04-2024, frank bruebach
'
' a) only "<<" and ">>" doesnt work (double quotation mark)
' b) and "namespace" doesnt know how to use, as function ?
' include <iostream>
' using namespace std;
int main {
const int myAge = 35;
'cout << "I am " << myAge <<
cout "I am "; '\n
cout myAge " years old ";
'cout str(myAge) " years old "; ' this line works too
return 0
}
' output 35 ' ok :-)
' changed oxygen.dll for it, see zip folder
'
' zstring example: reduces text with value -1
'
dim as zstring myzText = "I love Ironman"
dim i as long
for i = 0 to len(myzText) - 1
print "zero based try: " + myzText[i]
next
for i = 1 to len(myzText)
print "one based try: " + myzText[i]
next
print "fine"
' -- arrays -----
'
'-- 1)
'
pim a(20) as pro = {2,4,6,8,10,12,14,16,18,20}
a(20) = a(4) + a(6)
printy a(20) '20
'-- 2)
'
pim abc(100) as pro = {10,20,30,40,50,60,70,80,90,100}
pindex 0
printy abc[4] '50
pindex 1
printy abc[4] '40
pindex 2
printy abc[4] '30
'-- 3)
'
pim tbo(100) as pro
function abc(pro k,x)
k*=2
tbo[k]=x
end function
function abc(pro k) as pro
k*=2
return tbo[k]
end function
abc(5) = 2024
printy abc(5) ' 2024
' convert a freebasic type class constructor to halProment Basic
'
class MyHeroeType
bstring myString
method Constructor(string stParam)
myString = stParam
printy "construct"
end method
method destructor()
===================
'destroy bstrings
del mystring
printy "destruct!"
end method
method actmytype() as string
return mystring " "
end method
end class
new MyHeroeType sample("Superman")
Printy sample.actmytype
'-------------------------------------------- //
' freebasic code with cast
'
'' Type MyType
'' m_String As String
'' Declare Constructor(Byval sParam As String)
'' DECLARE OPERATOR CAST () BYREF AS STRING
'' End Type
'' Constructor MyType(Byval sParam As String)
'' m_String = sParam
'' End Constructor
'' OPERATOR MyType.CAST () BYREF AS STRING
'' OPERATOR = m_String
'' END OPERATOR
'' Dim sample As MyType = "enter man"
'' Print sample
'--------------------------------------- //
'-- halProment Basic / Powerbasic, 25-04-2024
'-- ArrayOverlay old powerbasic expl
type DynamicArrays
doubles as pro
singles as pro
longs as pro
end type
function PBMAIN () as long
static d AS DynamicArrays
static ds as pstring
static ss as pstring
static ls as pstring
'----------------------
'create space
ds=string(&h08000,chr(0))
ss=string(&h04000,chr(0))
ls=string(&h04000,chr(0))
'----------------------
'store pointers
d.doubles=strptr(ds)
d.singles=strptr(ss)
d.longs =strptr(ls)
'----------------------
'overlay
static double dn(&hfff) at d.doubles
static single ss(&hfff) at d.singles
static long ll(&hfff) at d.longs
dn(3000)=1234.5
'-----------------------
'redimensioning technique
ds+=string(&h02000,chr(0))
d.doubles=strptr(ds)
'-----------------------
printy dn(3000)
end function
pbmain() '1234.5
Page created in 0.109 seconds with 15 queries.