Messagebox on client side

A

Amit Tomar

Hii all,
I used win32 api messagebox in ruby to generate a messagebox
but only server side am able to see is there any way to open it at
client side??
 
J

Jeremy Bopp

Hii all,
I used win32 api messagebox in ruby to generate a messagebox
but only server side am able to see is there any way to open it at
client side??

No, it is not possible. Your Ruby code is running on your server and
therefore can only access the Win32 API on your server. It has no way
to access the API on a client machine connecting to your server, and how
would that work for a non-Windows client anyway?

Do you need to use the Win32 API for this, or would a rough equivalent
handled via javascript in the web browser of the client suffice?

-Jeremy
 
A

Amit Tomar

Thanks jermy for your response ,this is something i want to achive .In
my application am uploading file to a folder but file is already there
it would ask for overwrite by displaying messagebox but problem i
already told .Could you suggest some other way to achieve this
means i don;t know much about javascript .can we send desktop of one
machine to other??

require 'dl'
# button
constantsBUTTONS_OK = 0
BUTTONS_OKCANCEL = 1
BUTTONS_ABORTRETRYIGNORE = 2
BUTTONS_YESNO = 4

CLICKED_CANCEL = 2
CLICKED_ABORT = 3
CLICKED_RETRY = 4
CLICKED_IGNORE = 5
CLICKED_YES = 6
CLICKED_NO = 7





class UploadController < ApplicationController
def index
render :file => 'app\views\upload\uploadfile.rhtml'
end


def message_box(txt, title=APP_TITLE, buttons=BUTTONS_OK)
user32 = DL.dlopen('user32')
msgbox = user32['MessageBoxA', 'ILSSI']
r, rs = msgbox.call(0, txt, title, buttons)
return r
end




def uploadFile

name=DataFile.save1(params[:upload])
puts name
$t=0

k = []

File.open("d:/dm/aan.txt").each do |line|
k << line.chomp
end

puts k
#puts line.size
$s=k.size
#puts $s



for i in 0..Integer($s)

if $L=(name.eql?(k) == true)

response = message_box("Are you sure you want to OVERWRITE",
"Proceed?", BUTTONS_YESNO)
if response == CLICKED_YES



post = DataFile.save(params[:upload])

render :text => "File has been uploaded successfully"
else

render :text => "File cann't successfully"
end
end
end
end
end
 
J

Jeremy Bopp

Thanks jermy for your response ,this is something i want to achive .In
my application am uploading file to a folder but file is already there
it would ask for overwrite by displaying messagebox but problem i
already told .Could you suggest some other way to achieve this
means i don;t know much about javascript .can we send desktop of one
machine to other??

No, you cannot send the desktop, and you wouldn't want to either. I'll
leave you to think of scary reasons you never want to do that.

Your only option is to send a response to the user asking for
confirmation in the event that the file exists. That response could
simply be another page that has a couple buttons for Yes or No options.
You would have to make the server store the uploaded file into some
sort of temporary location in this case since the file will be uploaded
from the first page. Once the user confirms to overwrite the file, the
server could then move the file from the temporary location to the final
one.

That's all very rough, unfortunately. I don't have enough experience
with web apps and Rails to help you with anything concrete. All I can
say is that you have headed down the completely wrong path with using
the Win32 API to handle this prompt to the user. It cannot be made to work.

There are options available in javascript that will allow you to do
something similar from within the client's browser, but I don't know the
details of how to use those functions. Someone on the Rails list should
be able to help you more.

-Jeremy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top