Дано: примерно 200 строк ) кода на Java
Надо: перевести с java на Pascal(delphi7) : создать проект на делфи с аналогом исходного кода
что делает код: обертка и пример подключения к спец.по по name pipes
ниже весь код что нужно перевести.
по цене -даже не знаю - на мой взгляд здесь макс на час-два работы. назовите сами, пожалуйста!
----------------------------------------------------
package
hum.bosco.trade.quik.adapter;
import com.sun.jna.platform.win32.Kernel32;
public interface PipesAPI extends Kernel32{
DWORD PIPE_READMODE_MESSAGE = new DWORD(2);
boolean SetNamedPipeHandleState(
HANDLE hNamedPipe,
DWORDByReference lpMode,
DWORDByReference lpMaxCollectionCount,
DWORDByReference lpCollectDataTimeout
);
boolean FlushFileBuffers(HANDLE hNamedPipe);
}
---------------------------------------------
package
hum.bosco.trade.quik.adapter;
import
java.io.Closeable;
import
java.io.IOException;
import java.nio.ByteBuffer;
import java.text.NumberFormat;
import java.text.ParseException;
import com.sun.jna.Native;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinBase;
import com.sun.jna.platform.win32.WinNT;
import com.sun.jna.platform.win32.WinNT.HANDLE;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.win32.W32APIOptions;
public class QuikCommandPipeAdapter implements Closeable {
private HANDLE pipeHandle = WinNT.INVALID_HANDLE_VALUE;
PipesAPI kernel32;
public QuikCommandPipeAdapter(){
// проблем с загрузкой ядра вообще-то быть не должно.
System.setProperty("jna.encoding", "Cp1251");
kernel32 = (PipesAPI) Native.loadLibrary("kernel32", PipesAPI.class, W32APIOptions.UNICODE_OPTIONS);
}
private void forceDisconnect(){
if (pipeHandle != WinNT.INVALID_HANDLE_VALUE){
kernel32.CloseHandle(pipeHandle);
pipeHandle = WinNT.INVALID_HANDLE_VALUE;
//System.out.println("Закрыли трубу!");
}
}
private boolean ensureConnected(){
if (pipeHandle != WinNT.INVALID_HANDLE_VALUE)
return true;
int retryCount = 3;
while (pipeHandle == WinNT.INVALID_HANDLE_VALUE){
pipeHandle = kernel32.CreateFile(
"\\\\.\\pipe\\pmb.quik.pipe",
Kernel32.GENERIC_READ | Kernel32.GENERIC_WRITE,
0,
null,
Ker