Announcement

Collapse
No announcement yet.

Displaying Character with Indices > 255 (&hFF)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Displaying Character with Indices > 255 (&hFF)

    It does not appear possible to display characters whose indices exceed 255 (&hFF)?

    I would like to be able to use Unicode (example: ♠ (&h2660)) characters in my programs. Is it possible to display Unicode characters in PowerBASIC? If so, How?

  • #2
    Short answer: No

    It is doable using the Unicode API (search source forum for "Unicode API"), but as PB's string handling and DDT functions are ANSI they cannot be used with Unicode, which makes things difficult if you need to work (scan, parse, etc) on the strings. You have to do everything the "SDK way".

    PS. The value does not actually "exceed 255": Unicode UTF16 uses two bytes for a character, wheras ASCII/ANSI is always 1-byte, 1-character. Unicode range is 0-65535, excluding some reservations. Note that this also rules out using ASCIIZ strings as they use 0 as a terminator.
    Last edited by Kev Peel; 11 May 2009, 02:14 PM.
    kgpsoftware.com | Slam DBMS | PrpT Control | Other Downloads | Contact Me

    Comment


    • #3
      Thanks Kev:

      I suspected that would be the answer.

      Comment


      • #4
        If you need a head start, here's a demo which uses Widechar windows and displays text thereon, including 'Unicode-only' characters.

        Directory List with Non-ASCII (Unicode) characters in file names 5-31-08

        MCM
        Michael Mattias
        Tal Systems Inc. (retired)
        Racine WI USA
        [email protected]
        http://www.talsystems.com

        Comment


        • #5
          Is it possible to display Unicode characters in PowerBASIC? If so, How?
          Other than by creating your own font containing those characters that you wish to display?
          (http://www.powerbasic.com/support/pb...ad.php?t=39817)

          RichEdit controls can be used to display Unicode charactures in DDT dialogs.

          Kev once posted routines for creating UNICODE format controls in a DDT Dialog box..
          http://www.powerbasic.com/support/pb...d.php?p=171895
          Rgds, Dave

          Comment


          • #6
            JFF, I played around with Kev's code. Pretty cool. Just press an Arrow. The left arrows change the MSB (but doesn't roll over). The Right arrows change the LSB and do roll over.

            Pretty cool nonetheless.

            (Code deleted - See msg further down.)

            ==============================================
            Short is the joy that guilty pleasure brings.
            Euripides
            ==============================================
            Last edited by Gösta H. Lovgren-2; 14 May 2009, 12:24 PM. Reason: Corrected bad upload
            It's a pretty day. I hope you enjoy it.

            Gösta

            JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
            LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

            Comment


            • #7
              Code:
              hLib = LoadLibrary("USER32.DLL")
                If hLib Then
                   hFunc = GetProcAddress(hLib, "CreateWindowExW")
                   If hFunc Then
                      hInstance = GetModuleHandle(ByVal %Null)
                      ! pushad
                      ! push 0
                      ! push hInstance
                      ! push nID
                      ! push hParent
                      ! push h
                      ! push w
                      ! push y
                      ! push x
                      ! push dwStyle
                      plpWindowName = StrPtr(suTitle)
                      ! push plpWindowName
                      plpClassName = StrPtr(suClass)
                      ! push plpClassName
                      ! push dwStyleEx
                      ! Call hFunc
                      ! mov hCtl, eax
                      ! popad
                   End If
              Wouldn't a DECLARE and a simple call be a little more understandable?

              Code:
              DECLARE FUNCTION CreateWindowExW LIB "USER32.DLL" ALIAS "CreateWindowExW" _
              (BYVAL dwExStyle AS DWORD, BYVAL lpClassName AS DWORD, _
                  BYVAL lpWindowName AS DWORD, BYVAL dwStyle AS DWORD, _
                  BYVAL x AS LONG, BYVAL y AS LONG, _
                  BYVAL nWidth AS LONG, BYVAL nHeight AS LONG, _
                  BYVAL hWndParent AS DWORD, BYVAL hMenu AS DWORD, _
                  BYVAL hInstance AS DWORD, lpParam AS ANY) AS DWORD
              ...
              
                     hWnd (i)     = CreateWindowExW ( %NULL, STRPTR(swClass), STRPTR(swTitle), _
                                       dwStyle, X, Y, Cx, Cy, hParent, %NULL, hInst, BYVAL %NULL)
                     ......
              MCM
              Michael Mattias
              Tal Systems Inc. (retired)
              Racine WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                Just updated the code above. Shows ALL 65,000+ unicodes avl on system. Use the left hand arrows to jump 256 at a time..


                Surely somebody (everyody?) can do this much prettier than me.

                =====================================================
                "Procrastination is opportunity's natural assassin."
                Victor Kiam
                =====================================================
                It's a pretty day. I hope you enjoy it.

                Gösta

                JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                Comment


                • #9
                  > Just updated the code above.

                  Your code has some typo errors ...
                  "The trouble with quotes on the Internet is that you can never know if they are genuine." - Abraham Lincoln.

                  Comment


                  • #10
                    Originally posted by Arthur Gomide View Post
                    > Just updated the code above.

                    Your code has some typo errors ...
                    The code ran fine when I C&P'ed it so based on your comment, I copied it from the forum and indeed characters were missing (or line feeds added) in 4 or 5 places/ Dunno how that could have happend in te middle of the code like that but it did.

                    I just reC&P'ed. Try it now. It should be fine.

                    (Later) . Just recopied several times and the forum editor corrupts several lines each time. Specifically it removes " %ud" below and something similar in a couple other places. Strange. I'll upload the code in the next msg.

                    'keep consistent style wherever spinners used
                    %spinner_style = %ws_child Or _
                    %ws_visible Or _

                    s_wrap Or _

                    s_arrowkeys

                    Hmmm It did it here too. Not just in the code section. I'll try a quote:

                    'keep consistent style wherever spinners used
                    %spinner_style = %ws_child Or _
                    %ws_visible Or _

                    s_wrap Or _

                    s_arrowkeys
                    Hmmm... No good either. I'll Upload the code. (next msg)

                    I'll try literal quotes


                    " 'keep consistent style wherever spinners used "
                    " %spinner_style = %ws_child Or _ "
                    " %ws_visible Or _ "
                    " % U D s_wrap Or _ "
                    " % U D s_arrowkeys "

                    Aha! Success at last. {grin} I ain't very bright but I do persevere. When I was still in action, I was known as the "Plugger", as in "keep on Pluggin'".

                    Sheeit! Dogged if it didn't remove the "
                    " again, after I looked at it. It has to be an internal forum editor character sequence of some kind. I just replaced if with " % U D " above.

                    ==========================
                    "A small daily task,
                    if it be really daily,
                    will beat the labors
                    of a spasmodic Hercules."
                    Anthony Trollope (1815 - )
                    ==========================
                    Last edited by Gösta H. Lovgren-2; 14 May 2009, 12:19 PM. Reason: Bum editor msg
                    It's a pretty day. I hope you enjoy it.

                    Gösta

                    JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                    LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                    Comment


                    • #11
                      Unicode example uploaded.

                      ====================================================
                      "Any man who is under 30 and not a liberal,
                      has not heart;
                      and any man who over 30, and is not a conservative,
                      has no brains."
                      Sir Winston Churchill (1874-1965)
                      ====================================================
                      Attached Files
                      It's a pretty day. I hope you enjoy it.

                      Gösta

                      JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                      LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                      Comment


                      • #12
                        Hi Gösta;

                        I just downloaded your Unicodes Example.bas. It compiled and ran perfectly. I had copied the code you posted. Unfortunately, didn't compile due to lost characters.

                        Many thanks!
                        Last edited by Walt Thompson; 14 May 2009, 12:30 PM.

                        Comment


                        • #13
                          Try this later code, Walter. It displays 8 Unis in 72 pt type.

                          Or try the exe out: http://www.SwedesDock.com/powerbasic...es_Example.exe


                          ===========================
                          An investment in knowledge
                          pays the best interest.
                          Ben Franklin
                          ===========================
                          Attached Files
                          Last edited by Gösta H. Lovgren-2; 15 May 2009, 11:55 PM.
                          It's a pretty day. I hope you enjoy it.

                          Gösta

                          JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                          LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                          Comment


                          • #14
                            Hi Gösta;

                            That's cool!

                            Comment


                            • #15
                              Originally posted by Walter Thompson View Post
                              Hi Gösta;

                              That's cool!
                              Thanks Walter, but Kev deserves the most credit. I just put a little icing on his creation. {grin}

                              I was trying to add multiple lines but can't seen to create more Unicode controls:
                              Code:
                                char_ht = 80    
                                    'test for char ht 
                              '   Control Add Label, hdlg, -1, "CHR test " & String$ (20,"X"), col, Row + char_ht, 800, 200, %ss_center
                                ' Create a unicode child window (uses A face for text)...
                                ControlAddUnicode UCode$("STATIC"), hDlg, %Id_Uni_Control_01, Chr$(LSB, MSB), Col, Row, wd, ht
                                Row = Row + Char_Ht + 10 'next row 
                                 ControlAddUnicode UCode$("STATIC"), hDlg, %Id_Uni_Control_02, Chr$(LSB, MSB), Col, Row, wd, ht '<<<<< Does not get created
                              %Id_Uni_Control_02 does not get created. Is there a limit of only one uni control, Kev? Or (as is most likely I'm doing something wrong?) Is there a limit of only 1 STATIC class per dialog or something?

                              =====================================
                              Either write something worth reading
                              or do something worth writing.
                              Ben Franklin
                              =====================================
                              It's a pretty day. I hope you enjoy it.

                              Gösta

                              JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                              LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                              Comment


                              • #16
                                Gösta,
                                I think your new control is being created below the button? There doesn't appear to be any limit to the number of unicode controls per dialog.

                                Here's another take on Kev's example (thanks Kev) that uses an Edit control as well as a couple of Statics..
                                Code:
                                '______________________________________________________________________________
                                '
                                '  Unicode for DDT
                                '  ---------------
                                '
                                ' Some easy to use functions that allow the creation and manipulation of
                                ' UNICODE format controls in a DDT dialog box.'
                                ' Created by Kev Peel, KGP Software. Dec 2006.
                                ' http://www.powerbasic.com/support/pb...d.php?p=171895
                                '
                                ' Original code favoured using assembly language: "This way, you can still run the application on
                                ' non-unicode OS, but avoid any missing link errors. I know the ASM CALL method is non attractive to
                                ' most (as opposed to CALL DWORD), but I quite like it as it doesn't require any DECLARE".
                                '
                                ' This version modified to use Declares (& no ASM) so not suitable for pre Win NT OSs
                                '______________________________________________________________________________
                                 
                                #Compile Exe
                                #Dim All
                                 
                                $APPTITLE = "UncDDT"
                                %USEMACROS = 1
                                #Include "WIN32API.INC"
                                 
                                Declare Function SetDlgItemTextU Lib "USER32.DLL" Alias "SetDlgItemTextW" (ByVal hDlg As Dword, _
                                          ByVal nIDDlgItem As Long, ByVal suString As String) As Long
                                Declare Function GetDlgItemTextU Lib "USER32.DLL" Alias "GetDlgItemTextW" (ByVal hDlg As Dword, _
                                          ByVal nIDDlgItem As Long, ByVal lpString As Dword, ByVal nMaxCount As Long) As Long
                                Declare Function CreateWindowExU Lib "USER32.DLL" Alias "CreateWindowExW" (ByVal dwExStyle As Dword, _
                                          ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Dword, _
                                          ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
                                          ByVal hWndParent As Dword, ByVal hMenu As Dword, ByVal hInstance As Dword, lpParam As Any) As Dword
                                 
                                '------------------------------------------------------------------------------
                                ' Create the specified class as a unicode control.
                                 '
                                 '   suClass is the class to create (eg. "EDIT"). Must be a unicode string.
                                 '   hParent is the handle of the parent dialog (DDT). Required.
                                 '   nID is the control identifier. Required.
                                 '   suTitle is the title text to use. Must be a unicode string.
                                 '   x, y are the horizontal and vertical position (dialog units).
                                 '   w, h are the width and height (dialog units).
                                 '   dwStyle is the standard style bits to use. Optional.
                                 '   dwStyleEx is the extended style bits to use. Optional.
                                 '   hFont is the handle of a logical font. Optional
                                 '
                                 ' Returns a nonzero unicode window handle on success, else NULL.
                                 '
                                 ' Warning: Only works on UNICODE-supported versions of Windows (NT/2000/XP+).
                                 '          The unicode functions are dynamically called.
                                '------------------------------------------------------------------------------
                                Function ControlAddUnicode(ByVal suClass As String, ByVal hParent As Dword, _
                                                           ByVal nID As Long,       ByVal suTitle As String, _
                                                           ByVal x As Long,         ByVal y As Long, _
                                                           ByVal w As Long,         ByVal h As Long, _
                                                           Optional ByVal dwStyle As Dword, _
                                                           Optional ByVal dwStyleEx As Dword, _
                                                           Optional ByVal hFont As Dword) As Dword      ' added hFont param
                                 Local hCtl As Dword
                                 Local hInstance, param As Dword
                                 
                                  ' Parameter check...
                                    If Len(suClass) = 0 Then Exit Function
                                    If IsWindow(hParent) = %FALSE Then Exit Function
                                    If (nID = 0) Then Exit Function
                                 
                                  ' Translate from DUs to Pixels...
                                    Dialog Units hParent, x, y To Pixels x, y
                                    Dialog Units hParent, w, h To Pixels w, h
                                 
                                  ' Always use these styles...
                                    If (dwStyle And %WS_Child) = 0 Then dwStyle = dwStyle Or %WS_Child
                                    If (dwStyle And %WS_Visible) = 0 Then dwStyle = dwStyle Or %WS_Visible
                                 
                                  hInstance = GetModuleHandle(ByVal %NULL) : param = %Null
                                 
                                  hCtl = CreateWindowExU(dwStyleEx, suClass, suTitle, dwStyle, x, y, w, h, hParent, nID, hInstance, param)
                                 
                                  If hCtl Then
                                    ' If no optional font, either use parent font or Windows' GUI font...
                                    If hFont = %NULL Then
                                      hFont = SendMessage(hParent, %WM_GETFONT, 0, 0)
                                    End If
                                    If (hFont = %NULL) Then hFont = GetStockObject(%DEFAULT_GUI_FONT)
                                    SendMessage hCtl, %WM_SETFONT, hFont, %TRUE
                                   Function = hCtl
                                  End If
                                 
                                End Function
                                 
                                '------------------------------------------------------------------------------
                                 ' Changes the text of the specified unicode control.
                                 '
                                 '   hParent is the handle of the parent dialog (DDT). Required.
                                 '   nID is the control identifier. Required.
                                 '   suTitle is the title text to use. Must be a unicode string.
                                 '
                                 ' Returns nonzero on success, else zero.
                                 '
                                 ' Warning: Only works on UNICODE-supported versions of Windows (NT/2000/XP+).
                                '------------------------------------------------------------------------------
                                Function ControlSetTextUnicode(ByVal hParent As Dword, ByVal nID As Long, ByVal suTitle As String) As Long
                                 
                                  ' Call Declared unicode function (SetDlgItemTextW)
                                  Function = SetDlgItemTextU(hParent, nID, suTitle)
                                End Function
                                 
                                '------------------------------------------------------------------------------
                                 ' Returns the text of the specified unicode control.
                                 '
                                 '   hParent is the handle of the parent dialog (DDT). Required.
                                 '   nID is the control identifier. Required.
                                 '
                                 ' Returns the actual (unicode) string on success, else an empty string.
                                 '
                                 ' Warning: Only works on UNICODE-supported versions of Windows (NT/2000/XP+).
                                '------------------------------------------------------------------------------
                                Function ControlGetTextUnicode(ByVal hParent As Dword, ByVal nID As Long) As String
                                 Local dwLen As Dword, suTitle As String
                                 
                                  dwLen = SendDlgItemMessage(hParent, nID, %WM_GETTEXTLENGTH, 0, 0)  ' get no. of chars
                                  If (dwLen = 0) Then Exit Function
                                  suTitle = String$((dwLen*2)+1, $Nul)                               ' set up buffer
                                 
                                  ' Call Declared unicode function (GetDlgItemTextW)
                                  GetDlgItemTextU(hParent, nID, StrPtr(suTitle), (dwLen*2)+1)
                                 
                                 Function = suTitle
                                End Function
                                 
                                '------------------------------------------------------------------------------
                                ' Program Start Point
                                '------------------------------------------------------------------------------  ??
                                Function PBMain
                                 Local hDlg As Dword, sTemp As String
                                 Local hFont1, hFont2 As Dword
                                 Local LF As LogFont
                                 
                                  Dialog Font "SimSun", 18    ' Set the DDT dialog font. Note affects dialog / control dimensions
                                                              ' SimSun font included with WinXP, Office 2000..
                                 
                                  Font New "Times New Roman", 14, 1, 136, 0, 0 To hFont1  ' Font for DDT controls, PBWin9+
                                 
                                  GetObject GetStockObject(%ANSI_FIXED_FONT), SizeOf(LF), ByVal VarPtr(LF)
                                    LF.LFHeight = -44           ' first get the system font,
                                    LF.LFWidth = 0              ' next set font attributes as you want them
                                    LF.LFWeight = %FW_Normal
                                    LF.LfItalic = %True
                                    LF.LFFaceName = "Arial"
                                  hFont2 = CreateFontIndirect(LF)     ' SDK Create logical font object. Optional for UnicodeControls
                                 
                                  ' Create the main program interface with DDT...
                                  Dialog New %HWND_Desktop, $APPTITLE, , , 150, 150, %WS_OverlappedWindow To hDlg
                                 
                                  ' Create a unicode child windows...
                                    ControlAddUnicode UCode$("EDIT"), hDlg, 100, "", 10, 10, 130, 50, %WS_TabStop Or %ES_MultiLine _
                                      Or %ES_WantReturn Or %WS_Border Or %ES_Left Or %ES_AutoHScroll, %WS_Ex_ClientEdge Or %WS_Ex_Left
                                 
                                    ControlAddUnicode UCode$("STATIC"), hDlg, 101, Chr$(&H3B, &H26), 10, 70, 130, 50, %WS_Border
                                 
                                    Control Add Button, hDlg, 102, "Copy", 10, 130, 25, 10 Call Button
                                    Control Set Font hDlg, 102, hFont1
                                 
                                    ControlAddUnicode UCode$("STATIC"), hDlg, 103, Chr$(&H3A, &H26)+UCode$(" Arial  ")+Chr$(&HDE, &H06), _
                                      60, 125, 80, 20, %WS_Border, 0, hFont2      ' Use optional font param
                                 
                                  ' Set the initial text for the edit control...
                                    sTemp = Chr$(&HB7, &H8B, &H7d, &H59) & UCode$(" > ne hao,  Hello." + $CrLf + "In Unicode DDT!")
                                    ControlSetTextUnicode hDlg, 100, sTemp
                                 
                                  ' Display the main dialog...
                                  Dialog Show Modal hDlg
                                 
                                 Font End     hFont1
                                 DeleteObject hFont2
                                 
                                End Function
                                '------------------/PBMain
                                 
                                CallBack Function Button() As Long
                                  If CbMsg = %WM_Command Then
                                    If CbCtlMsg = %BN_Clicked Then
                                      ControlSetTextUnicode CbHndl, 101, ControlGetTextUnicode(CbHndl, 100)
                                    End If
                                  End If
                                 
                                End Function
                                '------------------/Button CB
                                Last edited by Dave Biggs; 17 May 2009, 10:59 AM. Reason: sp, comments
                                Rgds, Dave

                                Comment


                                • #17
                                  Originally posted by Gösta H. Lovgren-2 View Post
                                  (Quoting himself. Lord, he really loves to do that.)
                                  ...
                                  I was trying to add multiple lines but can't seen to create more Unicode controls:
                                  ...

                                  %Id_Uni_Control_02 does not get created. Is there a limit of only one uni control, Kev? Or (as is most likely I'm doing something wrong?) Is there a limit of only 1 STATIC class per dialog or something?
                                  Okay, a night's sleep (Ambien assisted), a hot shower (112F), and I got the answer.

                                  The height of the Unicode controls are measured differently than "regular" controls. See bolds in code.

                                  Row = 0 so establish uni control at very top of dialog.. By trial and error, I determined for the test label to show ompletely it had to be established at Row 80 otherwise it would be (partially) overwritten by the first uni control.

                                  So I was trying establish the second uni control at Row 80 (3rd at 160, etc.) but it turns out that was WAY too far down. The next uni control Row had to be at Row 6, not 80 (see Uni_Spacer in code).

                                  Now why there would be a huge difference between the way "regular" controls are placed and the way unis are placed eludes me for the moment. (and probably forever, most likely).

                                  Code:
                                   ...
                                    Dialog Font "Consolas", 48 '48 fits 8 Japanese chars on 800 wd screen nicely
                                  ...
                                    'bytes to start
                                    LSB = 65
                                    MSB = 91 '0
                                   
                                    wd = dlg_wd - 20
                                    ht = 10
                                   Row = 0
                                    col = 0
                                   
                                    char_ht = 80   
                                    Uni_Spacer = 6
                                        'test for char ht 
                                     Control Add Label, hdlg, -1, "CHR test" & String$ (10,"X"), col, Row + char_ht, 600, char_ht, %ss_left
                                   
                                    ' Create a unicode child window (uses A face for text)...
                                    ControlAddUnicode UCode$("STATIC"), hDlg, %Id_Uni_Control_01, Chr$(LSB, MSB), Col, Row, wd, ht
                                   
                                    Row = Uni_Spacer 'Char_Ht + 10 'next row 
                                     ControlAddUnicode UCode$("STATIC"), hDlg, %Id_Uni_Control_02, Chr$(LSB, MSB), Col, Row, wd, ht
                                  ================================================
                                  "My occupation now, I suppose, is jail inmate."
                                  Unibomber Theodore Kaczynski
                                  when asked in court what his
                                  current profession was
                                  ================================================
                                  It's a pretty day. I hope you enjoy it.

                                  Gösta

                                  JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                                  LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                                  Comment


                                  • #18
                                    Your new control is now visible
                                    But I think you need some changes to 'Macro Update_Controls' also? - can't just plug your changes into the previously posted code.

                                    We posted around the same time earlier - did you see post #16 ?
                                    Rgds, Dave

                                    Comment


                                    • #19
                                      Originally posted by Dave Biggs View Post
                                      Your new control is now visible
                                      But I think you need some changes to 'Macro Update_Controls' also? -
                                      Yes, I know but I just came up on the visibility thing and hadn't gotten to the screen update yet. I just posted the "explanatory" section in case any were puzzled or had a reason why the different controls needed to be sized differently. I uspect it has to do with the way Dialof Font is handled.
                                      We posted around the same time earlier - did you see post #16 ?
                                      Just no saw it and gave it a quick look. Not sure what it's supposed to do yet.

                                      I'll (re)upload my complete code as soon as I get the screen worked out. Will display 8 rows of 8 uni chars in big type (48 pt). (I'm fascinated with the kanji chars - around chr$(20000).)

                                      =====================================
                                      "If all who have eyes to see
                                      are silenced,
                                      then the rest will live in a kingdom
                                      of blind
                                      for a very long time."
                                      Elena Filatova (1975 -)
                                      =====================================
                                      It's a pretty day. I hope you enjoy it.

                                      Gösta

                                      JWAM: (Quit Smoking): http://www.SwedesDock.com/smoking
                                      LDN - A Miracle Drug: http://www.SwedesDock.com/LDN/

                                      Comment


                                      • #20
                                        Hi Gösta
                                        Just no saw it and gave it a quick look. Not sure what it's supposed to do yet.
                                        Not so much really. I'd been playing around with Kev's code (to rewrite it without that scary ASM) so had an example that used more than one static control.

                                        I also wanted to see if I could put the ControlGetTextUnicode() function to use.

                                        Last year I was involved in a project that required chinese character input into a non PB application. It was to display editable passenger messages on the TV systems of a couple of ferry boats that were being prepared for delivery to Hong Kong.
                                        (Had to learn about the 'Microsoft Pinyin Input Method' in the process.. http://newton.uor.edu/Departments&Pr...nese_write.htm ).

                                        At the time I didn't think it would be possible to use PB as part of the solution due to it's native ANSI controls, now I think it might have been doable after all!
                                        Rgds, Dave

                                        Comment

                                        Working...
                                        X