[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Trying to run an external exe file in ruby

Thijs Janzen

10/18/2008 3:06:00 PM

Hi chaps,

I'm trying to write a little script that can run several
programs after eacht other.

currently I have this:

[code]require "ftools"
maxAlpha = 1.0 * 1/10
name3 = "MaxAlpha_"+ maxAlpha.to_s
target = name3
value = "0\n" + maxAlpha.to_s
File.open('feed.txt', 'w') do |f2|
f2.puts(value)
$end
system("E:\\Ruby_things\\Mastermind.exe")
[/code]

Now, the Mastermind.exe is supposed to create a config file, based on
the input he reads from "feed.txt". When executed from outside ruby, it
creates a perfect configfile. When, however, Mastermind.exe is called
from within ruby, using the script as above, it all of a sudden is not
able to create output based on "feed.txt". It is able to open it, but
read in values are not stored anymore, and thus not written to the
config file.

Are there any restrictions or such to running C++ based exe files from
within ruby?
--
Posted via http://www.ruby-....

2 Answers

William James

10/18/2008 6:56:00 PM

0

Thijs Janzen wrote:

> Hi chaps,
>
> I'm trying to write a little script that can run several
> programs after eacht other.
>
> currently I have this:
>
> [code]require "ftools"
> maxAlpha = 1.0 * 1/10
> name3 = "MaxAlpha_"+ maxAlpha.to_s
> target = name3
> value = "0\n" + maxAlpha.to_s
> File.open('feed.txt', 'w') do |f2|
> f2.puts(value)
> $end
> system("E:\\Ruby_things\\Mastermind.exe")
> [/code]
>
> Now, the Mastermind.exe is supposed to create a config file, based on
> the input he reads from "feed.txt". When executed from outside ruby,
> it creates a perfect configfile. When, however, Mastermind.exe is
> called from within ruby, using the script as above, it all of a
> sudden is not able to create output based on "feed.txt". It is able
> to open it, but read in values are not stored anymore, and thus not
> written to the config file.
>
> Are there any restrictions or such to running C++ based exe files from
> within ruby?

Are you sure that Mastermind.exe is looking in the correct
directory? I believe that the current directory for the exe
will be the directory in which Ruby was invoked.


--

Thijs Janzen

10/19/2008 1:24:00 AM

0

William James wrote:
> Thijs Janzen wrote:
>
>> target = name3
>> called from within ruby, using the script as above, it all of a
>> sudden is not able to create output based on "feed.txt". It is able
>> to open it, but read in values are not stored anymore, and thus not
>> written to the config file.
>>
>> Are there any restrictions or such to running C++ based exe files from
>> within ruby?
>
> Are you sure that Mastermind.exe is looking in the correct
> directory? I believe that the current directory for the exe
> will be the directory in which Ruby was invoked.

yes, that is correct.
Actually, the ruby file, and the Mastermind.exe file are in the exact
same directory.

Mastermind.exe does indeed run, it creates the config.ini, BUT the
parameter that is supposed to have 'feeded' to it, by means of reading
out "feed.txt", is NOT passed on to the config.ini...
--
Posted via http://www.ruby-....