Ask a Question

how to compare a string in a resource.dll

Occasional Contributor

how to compare a string in a resource.dll


what I'd like to be able to do is compare a string for a control with its associated string in the resource.dll file

I'm using VB script in TestComplete our Tested Application is written in C# and we have lots of resource files for the different languages our application runs under.

I'd like to check that a particular string is correctly being translated and that the translation is in the relevant resource file

If anybody has any clue on how to do this it would be very much appreciated!!

many thanks in advance



Kay Chamberlain
Leica Microsystems Cambridge Ltd

Hello Kay,

You can use the script below to get all resources in the specified assembly. Before you run the script, you need to specify the full path to the needed assembly in the 'assemblyPath' variable.

Sub Test

Dim i, assemblyPath, assembly, names, stream, resourceReader, enumerator

assemblyPath = "C#_ASSEMBLY_PATH"

Set assembly = dotNET.System_Reflection.Assembly.LoadFile(assemblyPath)

Set names = assembly.GetManifestResourceNames()

For i = 0 To names.Length - 1

Log.AppendFolder("Resource: " + names.GetValue(i))

Set stream = assembly.GetManifestResourceStream(names.GetValue(i))

Set resourceReader = dotNET.System_Resources.ResourceReader.zctor_2(stream)

Set enumerator = resourceReader.GetEnumerator

While enumerator.MoveNext()

Log.Message("Key: " & enumerator.Key & vbCrLf & "Value: " & enumerator.Value)




End Sub

To compare two strings, you can use the aqString.Compare method. Please read the "aqString.Compare" article fore more information.
Dmitry Nikolaev

Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
Showing results for 
Search instead for 
Did you mean: