iOS Question [Solved]How to code lib support for B4i

Solution
Check ths thread -> 'iOS - TouchID'


It can serve as a reference for you

Theera

Well-Known Member
Licensed User
Longtime User
My Code is
B4X:
Public Sub  Thaiwordbreak(InputStr As String) As String
    #If B4A or B4J
            'Test Using B4XPages,or not
            Try
                'Using CrossPlatform      
                'Add  equal to Me Because using B4XPages
                Dim twb As JavaObject=Me
                'delete this under line Because using B4XPages
                ' twb.initializeContext
                Dim mystring As String = InputStr
                mystring = twb.runMethod("ThaiWordBreakJava", Array(mystring))
            Catch
                'Using non-CrossPlatform
                Dim twb As JavaObject
                twb.initializeContext
                Dim mystring As String = InputStr
                mystring = twb.runMethod("ThaiWordBreakJava", Array(mystring))

            End Try
          
            mystring=mystring.Trim
            'Log(mystring)
            Return  mystring.SubString2(0,mystring.Length-1)  'ลบ ขีด(-) ท้ายคำที่ตัด
    #Else
        'B4i
            'Test Using B4XPages,or not
            Try
                'Using CrossPlatform
                'Add  equal to Me Because using B4XPages
                Dim twb As NativeObject=Me
                Dim mystring As String=InputStr
                mystring=twb.RunMethod("ThaiWordBreakObjC:::", Array(mystring)).AsString
            Catch
                'Using non-CrossPlatform
                Dim twb As NativeObject
                twb.initializeContext
                Dim mystring As String=InputStr
                mystring=twb.RunMethod("ThaiWordBreakObjC:", Array(mystring)).AsString
            End Try      
            mystring=mystring.Trim
            'Log(mystring)
            Return  mystring.SubString2(0,mystring.Length-1)  'ลบ ขีด(-) ท้ายคำที่ตัด
    #End If      
End Sub


#if java


// @author Nont Banditwong
// TODO To change the template for this generated type comment go to
// Window - Preferences - Java - Code Style - Code Templates


import java.text.BreakIterator;
import java.util.Locale;
//import com.ibm.icu.text.BreakIterator;
//import com.ibm.icu.text.DictionaryBasedBreakIterator;

public String ThaiWordBreakJava(String source) {
    Locale thaiLocale = new Locale("th");
    BreakIterator boundary = BreakIterator.getWordInstance(thaiLocale);   
    boundary.setText(source);
    StringBuffer strout = new StringBuffer();
    int start = boundary.first();
    for (int end = boundary.next(); end != BreakIterator.DONE; start = end, end = boundary.next()) {
        strout.append(source.substring(start, end) + "-");
        //strout.append(source.substring(start, end) + "\r\n");     
    }
    return strout.toString();
}
#End If

#if ObjC 'objective-c

#import <Foundation/Foundation.h>

- (NSString *)ThaiwordbreakObjC:(NSString *)source {
    NSLocale *thaiLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"th"];
    NSMutableString *strout = [[NSMutableString alloc] init];
  
    // Create a word boundary iterator
    NSCharacterSet *whitespaceAndNewline = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    NSArray *words = [source componentsSeparatedByCharactersInSet:whitespaceAndNewline];
  
    for (NSString *word in words) {
        if (word.length > 0) {
            [strout appendString:word];
            [strout appendString:@"-"];
        }
    }
  
    return strout;
}

#End If
 
Last edited:
Upvote 0

Mariano Ismael Castro

Active Member
Licensed User
Check ths thread -> 'iOS - TouchID'


It can serve as a reference for you
 
Upvote 0
Solution

Theera

Well-Known Member
Licensed User
Longtime User
Check ths thread -> 'iOS - TouchID'


It can serve as a reference for you
Thank you for your kind of you.
 
Upvote 0

Theera

Well-Known Member
Licensed User
Longtime User
My code at post#2 is edited
B4X:
'adding  :::   at  the end <Class Module>
mystring=twb.RunMethod("ThaiWordBreakObjC:::", Array(mystring))
 
Last edited:
Upvote 0
Top