Solved

Interfacing VB With PERL???

Posted on 1998-11-26
6
251 Views
Last Modified: 2010-05-03
OK, THis should be a sinch form any real VB or Perl Guru but it has had me stumped for some time... Hope you can help

I need to be able to pass values from an executable perl script to a VB Application...Sound easy.
I ahve managed to work around this by using an intermediate file but this  is cumbersome and inneficient...THERE MUST BE A BETTER WAY!!

I do not need to send commands or information to the perl script but the script must be able to returna value to VB ...

Hope you can help, Thanx in advance

Wayne Lee-Archer
Managing Director
Everything Multimedia Australia P/L
ema@microtech.com.au
0
Comment
Question by:Flubbadub
  • 3
  • 3
6 Comments
 
LVL 2

Expert Comment

by:hobster
ID: 1447032
use the Command function
0
 
LVL 3

Author Comment

by:Flubbadub
ID: 1447033
?????......Please elaborate, are we talking from the Perl end of the deal or The VB end of the deal, i need to be able to send info back from perl to VB...


W. *confused*
0
 
LVL 2

Expert Comment

by:hobster
ID: 1447034
i actually create a vb program that was called from a perl script. So, from Perl, the user would type something:
ole test.gif test2.gif
where ole is the vb executable. This would start up the vb program which requires 2 file parameters. Below is a part of the vb code that processes these parameters.

Dim filename As String
Dim Action As Object
     
'number of max parameters
Dim param(2) As String
   
'the current parameter number you're on
Dim paramCounter As Integer
   
'the number of times run through a loop
Dim loopCounter As Integer
   
'the character the loop is looking at
Dim currentCharacter As String
Dim parameters As String
Dim ReturnValue As Variant
Dim I As Variant
Dim strText As String
Dim strCurrentPath As String
Dim strFullPath As String
Dim strFile As String * 2
         
parameters = Command()
 
strCurrentPath = CurDir
 
paramCounter = 1

For loopCounter = 1 To Len(parameters)
      currentCharacter = Mid$(parameters, loopCounter, 1)
      If currentCharacter = " " Then  'break between parameters
         paramCounter = paramCounter + 1   'start reading a new parameter
      Else
         param(paramCounter) = param(paramCounter) & currentCharacter
      End If
Next loopCounter
         
strFile = param(1)
   
For loopCounter = 1 To Len(strFile)
      currentCharacter = Mid$(parameters, loopCounter, 1)
     
     If currentCharacter = ":" Then
         strFullPath = param(1)
         
      ElseIf currentCharacter = "\" Then
         strFullPath = strCurrentPath & param(1)
     
      Else
     
         strFullPath = strCurrentPath & "\" & param(1)
         
      End If
   Next loopCounter

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 3

Author Comment

by:Flubbadub
ID: 1447035
*VBG*

Very Close.....I will give you the points anyway (submit next response as an answer) but from what I can see here, the Perl script must call the VB App.  I need the VB app to call the Perl script and get some feedback from it....does or will this method work that way too???

*happy* W.
0
 
LVL 2

Accepted Solution

by:
hobster earned 100 total points
ID: 1447036
With the method I just gave you, you can only call the vb program from perl. That program will also take any parameters that perl sends out.

To get the vb program to call the perl script, you need something like this:

RetVal = Shell("perl.exe C:\script.pl [param1] [param2], 1)

Note that the above code is also sending some parameters to the perl script. Good luck!
0
 
LVL 3

Author Comment

by:Flubbadub
ID: 1447037
*Sobs*

Looks like I am asking a bit too much.. you have helped greatly and probly saved me a lot of time and $$......to implement the project using your answer i would have to split the VB app into multiple little exe's an that is just YUKKKY!.....so much for interaction between languages! :-(
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MS Acccess - Update Field in Table when report is printed 6 51
vb6 connector to mongodb 2 141
Spell Check in VB6 13 137
vbModal 12 66
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question