GSoC 2014 proposal - Implement VBScript built-in functions

Jacek Caban jacek at
Fri Mar 21 04:52:38 CDT 2014

Hi Shuaimeng,

On 03/20/14 12:33, 孟帅 wrote:
> Hi all!
> I'm Shuai Meng, a student from software school of Beihang University,
> China, GMT+08:00. I'm pursuing a master degree and now in grade one.
> You can call me shuaimeng, that's my nickname used in irc. Now I'm
> here to apply for GSoC to work for Wine. I'm familiar with C, and I
> can code with python as well. Besides, I know a little about html and
> vbscript. From May to August, I have plenty of free time.
> About one year ago I started my way to linux, it's not smooth for a
> person who had got used to windows then embrace linux. Soon I got a
> problem: QQ(the most popular IM software in China) doesn't support
> linux, but I really need it. Fortunately I knew wine through searching
> google, it helped me solve this problem.Since then I have become a
> wine user.
> In the past three months, I had focused on dlls/vbscript/global.c,
> searching MSDN for related documents[1]~[4]. Accordding those
> documents, I added more tests in dlls/vbscript/tests/api.vbs, then got
> some similar bugs and only reported one[5]. In order to fix them, I
> read wine source code in dlls/vbscript/global.c, again and again.
> Finally I finished a few draft patches[6] and I will send them to
> wine-patches later.
> As I have made so much effort in this module and gain a little
> experience, during GSoC this part will go on to occupy most of my
> attention. On the basis of difficulty to be implemented, I divide all
> the functions in dlls/vbscript/global.c into four groups as following:
> 1: Abs ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion
> IsArray IsDate IsNumeric IsObject Sgn TypeName VarType
> These are the easiest to implement, I will take about one week to
> finish the unimplemented.
> 2: FormatCurrency FormatDateTime FormatPercent Hour FormatNumber Join
> Minute Month Oct Rnd Second Space TimeValue Year
> The second group will occupy two weeks of the whole GSoC time. They
> are not as easy as the first group and there are more to be
> accomplished. Most of them are involved in time functions while a few
> is about strings.
> 3: Asc Ant Cos DateAdd DateDiff DatePart DateSerial Day Exp LBound Log
> Replace Sin Sqr String Tan TimeSerial UBound Weekday CBool CByte CCur
> CDate CDbl CInt CLng CSng CStr InStrRev Int Fix StrComp Timer
> These are more difficult. However a large part is conversion functions
> and they have been implemented or improved by me. You can find the
> details in attchment. Optimistically speaking, I need at least three
> weeks to complete all of them. When I finish that, this bug[7] will be
> fixed.
> 4: Array Date DateValue Escape Eval Filter GetLocale GetRef InputBox
> LoadPicture Now RGB SetLocale
> Split Time Unescape
> Here come the most difficult ones. I am not so sure whether I can fix
> or even understand them, but I will try my best. Maybe after I have
> finish the above three groups, I can gain a little confidence to face
> them. This group would cost me four weeks or even longer. If I have a
> good luck, maybe I can fix this bug[8].
> To be prudent, I'll spare at least one week to do a review on all my
> codes. Write a summary as a guidence for my work to be continued after
> GSoC.
> Though I have a rough plan now, as a greenhand to wine, I hava too
> much to learn and I badly need advice from all of you. I hope I can
> make a proper schedule after communicating with my mentor.
> Any comment or advice is greatly appreciated.
> Thank you!

I like the plan and schedule seems right, esp. about starting with
easier functions and move to harder ones as the project progresses.
Patches that you attached show that you already have an understanding of
the code involved (they will need some adjustments, but let's leave
that's for another thread). Make sure to submit application in GSoC
system. The deadline is today!


More information about the wine-devel mailing list