Platforms to show: All Mac Windows Linux Cross-Platform

/Util/RTF/RTFData Benchmark


Required plugins for this example: MBS MacCocoa Plugin, MBS Util Plugin

Last modified Tue, 24th Feb 2025.

You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /Util/RTF/RTFData Benchmark

Download this example: RTFData Benchmark.zip

Project "RTFData Benchmark.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control TextArea1 Inherits TextArea
ControlInstance TextArea1 Inherits TextArea
End Control
Control TextArea2 Inherits TextArea
ControlInstance TextArea2 Inherits TextArea
End Control
Control PushButton1 Inherits PushButton
ControlInstance PushButton1 Inherits PushButton
EventHandler Sub Action() TextArea2.Text = "" dim Start as Double = Microseconds for i as integer = 1 to 10 dim data as string = TextArea1.StyledText.RTFData TextArea2.StyledText.RTFData = data next dim Ende as Double = Microseconds label1.text = str((ende-start)/1000,"0.0")+" ms" End EventHandler
End Control
Control PushButton2 Inherits PushButton
ControlInstance PushButton2 Inherits PushButton
EventHandler Sub Action() TextArea2.Text = "" dim Start as Double = Microseconds for i as integer = 1 to 10 dim data as string = TextArea1.StyledText.RTFDataMBS TextArea2.StyledText.RTFDataMBS = data next dim Ende as Double = Microseconds label2.text = str((ende-start)/1000,"0.0")+" ms" End EventHandler
End Control
Control Label1 Inherits Label
ControlInstance Label1 Inherits Label
End Control
Control Label2 Inherits Label
ControlInstance Label2 Inherits Label
End Control
Control PushButton3 Inherits PushButton
ControlInstance PushButton3 Inherits PushButton
EventHandler Sub Action() TextArea2.Text = "" dim Start as Double = Microseconds For i As Integer = 1 To 10 #If TargetWindows Then // Windows Dim data As String = TextArea1.WinRTFDataMBS TextArea2.WinRTFDataMBS = data #Else // macOS Dim data As String = TextArea1.RTFDataMBS TextArea2.RTFDataMBS = data #EndIf next dim Ende as Double = Microseconds label3.Text = Str((ende-start)/1000,"0.0")+" ms" End EventHandler
End Control
Control Label3 Inherits Label
ControlInstance Label3 Inherits Label
End Control
EventHandler Sub Open() for i as integer = 1 to 10 AddStuff next End EventHandler
Sub AddStuff() TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextSize = 12 TextArea1.SelText = "Hello World"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelText = "Styles: " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelBold = true TextArea1.SelText = "bold" TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelBold = false TextArea1.SelText = ", " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelItalic = true TextArea1.SelText = "italic" TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelItalic = false TextArea1.SelText = ", " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelUnderline = true TextArea1.SelText = "italic" TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelUnderline = false TextArea1.SelText = EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelText = "Fonts: " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextFont = "Arial" TextArea1.SelText = "Arial, " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextFont = "Comic Sans MS" TextArea1.SelText = "Comic Sans MS, " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextFont = "Courier" TextArea1.SelText = "Courier" TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextFont = "" TextArea1.SelText = EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelAlignment = TextArea1.AlignLeft TextArea1.SelText = "Left Align"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelAlignment = TextArea1.AlignCenter TextArea1.SelText = "Center Align"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelAlignment = TextArea1.AlignRight TextArea1.SelText = "Right Align"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelAlignment = TextArea1.AlignDefault TextArea1.SelText = "Default Align"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextColor = &cFF0000 TextArea1.SelText = "Red " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextColor = &c00FF00 TextArea1.SelText = "Green " TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextColor = &c0000FF TextArea1.SelText = "Blue"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextColor = &c000000 TextArea1.SelTextSize = 9 TextArea1.SelText = "Size 9"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextSize = 12 TextArea1.SelText = "Size 12"+EndOfLine TextArea1.SelStart = TextArea1.Text.Len TextArea1.SelTextSize = 20 TextArea1.SelText = "Size 20"+EndOfLine TextArea1.SelTextSize = 12 End Sub
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Sign
End Sign
End Project

See also:

Download this example: RTFData Benchmark.zip

The items on this page are in the following plugins: MBS Util Plugin.


The biggest plugin in space...