From 98f0e0eda50690bd01842c806bd13e3bc5af2966 Mon Sep 17 00:00:00 2001 From: Damjan Jovanovic Date: Tue, 15 Dec 2015 04:40:45 +0000 Subject: Resolves: #i19221# Print Tab(5); "Hello" does not work Implement the Tab() function in AOO Basic. Patch by: me (cherry picked from commit fa1315d25186643ea537972609c117e0c9bb1fbc) Change-Id: Ifa9843661ce3862347c6351a078ddb207169182a --- basic/source/inc/rtlproto.hxx | 1 + basic/source/runtime/methods.cxx | 15 +++++++++++++++ basic/source/runtime/stdobj.cxx | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'basic') diff --git a/basic/source/inc/rtlproto.hxx b/basic/source/inc/rtlproto.hxx index 7324e118550c..aceff7393dfe 100644 --- a/basic/source/inc/rtlproto.hxx +++ b/basic/source/inc/rtlproto.hxx @@ -199,6 +199,7 @@ extern RTLFUNC(StrComp); extern RTLFUNC(String); extern RTLFUNC(StrReverse); extern RTLFUNC(SYD); +extern RTLFUNC(Tab); extern RTLFUNC(Tan); extern RTLFUNC(UCase); extern RTLFUNC(Val); diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx index aad84105a293..fb0732903d4c 100644 --- a/basic/source/runtime/methods.cxx +++ b/basic/source/runtime/methods.cxx @@ -1725,6 +1725,21 @@ RTLFUNC(String) } } +RTLFUNC(Tab) +{ + (void)pBasic; + (void)bWrite; + + if ( rPar.Count() < 2 ) + StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT ); + else + { + OUStringBuffer aStr; + comphelper::string::padToLength(aStr, rPar.Get(1)->GetLong(), '\t'); + rPar.Get(0)->PutString(aStr.makeStringAndClear()); + } +} + RTLFUNC(Tan) { (void)pBasic; diff --git a/basic/source/runtime/stdobj.cxx b/basic/source/runtime/stdobj.cxx index b6d7d5d11ff8..db0275c37d55 100644 --- a/basic/source/runtime/stdobj.cxx +++ b/basic/source/runtime/stdobj.cxx @@ -603,7 +603,7 @@ static Methods aMethods[] = { { "Switch", SbxVARIANT, 2 | _FUNCTION, RTLNAME(Switch),0 }, { "Expression", SbxVARIANT, 0,nullptr,0 }, { "Value", SbxVARIANT, 0,nullptr,0 }, - +{ "Tab", SbxSTRING, 1 | _FUNCTION, RTLNAME(Tab),0 }, { "Tan", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Tan),0 }, { "number", SbxDOUBLE, 0,nullptr,0 }, { "Time", SbxVARIANT, _LFUNCTION,RTLNAME(Time),0 }, -- cgit