View Single Post
  #6  
Old June 5th, 2004, 09:13 PM
Ruatha's Avatar

Ruatha Ruatha is offline
Major General
 
Join Date: May 2002
Location: Linghem, Östergötland, Sweden
Posts: 2,255
Thanks: 0
Thanked 0 Times in 0 Posts
Ruatha is on a distinguished road
Default Re: The SE4 companion - Why the long wait?.

Quote:
Originally posted by Ed Kolis:
I feel so useless, coming up with new features for this program while being too lazy to work on my design analyzer program...

Then again, my job DOES involve programming all day so it's not something I really have much patience for when I get home...
Do you do some programming involving sending HTTP headers???


This is where I'm stuck right now:
code:
<link href="seiv.css" rel="STYLESHEET" type="text/css">
<html>
<head><title>Join Game: (Nearly Gods) The Conflict 5</title>
<META HTTP-EQUIV="Expires" CONTENT="-1">
<base target="_top">
</head>
<body bgcolor="#000000" text="#0099FF">

<H3>Upload your latest turn</H3>
Please upload your turn file; the sooner everyone uploads their turn,
the sooner the next turn can start! If you don't get your turn in on time,
you risk having the AI play for you.<P>
<B>Note</B>: Your turn file <em>should</em> be named
<B><CODE>NeGoC5_0001.plr</CODE></B>
or else you are probably uploading a turn for the wrong game!<P>
<FORM METHOD=POST enctype="multipart/form-data" ACTION='/GameUpload'>
Turn file (.plr): <input type=File name='file' size=20><BR>
<INPUT TYPE=HIDDEN NAME='command' VALUE='pturn'>
<INPUT TYPE=HIDDEN NAME='game' VALUE='147s84n'>
<INPUT TYPE=HIDDEN NAME='ok' VALUE='/text/index.jsp?menu=gamemenu.jsp%
3fgame=147s84n&body=gamebody.jsp%3fgame=147s84n'>
<INPUT TYPE=image src="img/sendturn.gif">
</FORM>

</body>
</html>

I'm trying to understand this code and see if it can help me:
http://www.matlus.com/scripts/websit...PartFormData&5

Currently the app uses an embedded hidden webbrowser that surfs and logins to the PBW server without user input.
Then it uses this procedure to download the files:

code:
  function TForm1.GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;

// Uses wininet
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;

begin

//showmessage(fileUrl+'-'+FileName);
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),
nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat

InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end;

end;

But now about the uploads, I can handle simple forms like the login form, but sending files is harder.
If I (the Se4 companion rather) inputs a filename with path in the textbox and presses send it says that it won't accept that (The full path), it accepts the filename only but then I don't know what happens, it says it has uploaded and executes but I can't see that I've sent any file... Does it create a dummy file?

I'll have to look what it is it receives at the PBW server, on monday, tomorrow 22 hour workday.


Any input is welcome!

[ June 05, 2004, 20:44: Message edited by: Ruatha ]
Reply With Quote