I wrote some Rumba scripts that I want to be called by keyboard shortcuts and toolbar buttons. These scripts will be used on 50 computers. I don't want to configure on each of the 50 PCs manually the keyboard shortcut and toolbar settings. I want to do it with one click by writing a C# app that will copy the scripts to the computers and edit the Rumba settings files.
I found that on Rumba 9 the toolbar settings are found in the ".rsdm" file and are easy to edit but I did not found where is located the setting that specifies which .Map file is the current keyboard setting for the profile.
On Rumba 7 I had even less luck: I don't know where are the toolbar settings saved and how to edit them and where is located the setting that specifies which .Map file is the current keyboard setting for the profile.
#RumbaHello ind0ril,
In RUMBA, a profile is a compound document that stores stream data for multiple objects: host objects, interface objects, etc.
The Profile Editor Control lets you create and edit RUMBA version 7.x profiles and for older Rumba versions.
If installed you can find the ProfEdit.Dll under RUMBA\\System\\profedit\\ together with a small sample application.
The new Rumba Profiles (Rumba version 8.x and newer) are partially XML based.
A new Rumba Profile (*.rsdx) still contains the binary information of your old Rumba Profile ( wdx -> wdm,wda,wdu file).
The information is encoded between the <BinaryData>-Tag of the*.rsdm Profile
Open a RUMBA 7 profiles (*.wdx) directly with the ProfileEditor. (see code snippet below)
For newer Rumba Profiles (*.rsdx) you need an extra step and strip out the <BinaryData>-Section. The steps are
- Read the content of the <BinaryData>-Section
- Do a base64Decode
- Apply / inject the new information's with the profedit.dll into Profile
- Do a Base64Encode
- Write the "new binary information's" back into the Profile
Code snippet:
$profEdit = ObjCreate("ProfileEditor.ProfileEditor.1")
If not @error then
$profEdit.ProfileName = "C:\\temp\\test3.wdm" ;creates a Mainframe Profile ,if it not exists
$MFDsp = $profEdit.MainframeDisplay3
$MFDsp.HostInterface.Name = "MF_TN3270" ; Set TN3270 Interface
$MFDsp.BackColor = 125 ; Set red Background Color
$MFDsp.KeyMapFile = "C:\\temp\\andre.Map" ;Set new MapFile
Else
Msgbox(0,"Remote ObjCreate Test","Failed to open remote Object. Error code: " & hex(@error,8))
Endif
I wrote some Rumba scripts that I want to be called by keyboard shortcuts and toolbar buttons. These scripts will be used on 50 computers. I don't want to configure on each of the 50 PCs manually the keyboard shortcut and toolbar settings. I want to do it with one click by writing a C# app that will copy the scripts to the computers and edit the Rumba settings files.
I found that on Rumba 9 the toolbar settings are found in the ".rsdm" file and are easy to edit but I did not found where is located the setting that specifies which .Map file is the current keyboard setting for the profile.
On Rumba 7 I had even less luck: I don't know where are the toolbar settings saved and how to edit them and where is located the setting that specifies which .Map file is the current keyboard setting for the profile.
#RumbaHello @ndre. Thanks for the help.
Following your instructions I managed to open a wdm file and set a new map file. But I did not found where can I modify the toolbar. The ProfileEditor has a OpenToolbarStream and CloseToolbarStream procedures but they don't return nothing. And is there a way I can edit an existing Map file to modify and add new shortcuts? I found there is a Keyboard class but this gives only just a few settings to modify.