2014-02-08 3 views
0

a конвертировать код VB6 в PHP. Но у меня есть проблема: в VB6:Напишите boolean в PHP, как VB6

Open myFile For Binary Access Write As numFile 
     Put #numFile, , True 
     '(...) 
    close numFile 

этот файл: YY

Но я пытаюсь сделать это в PHP:

$fp = fopen("test","wb"); 
    $fwrite = fwrite($fp, TRUE); 
    fclose($fp); 

Я имею в виду, что логическое значение в VB6 является как целое число. меня попробовать все формат пакета(), но не Иссу (http://www.php.net/manual/en/function.pack.php)

$fwrite = fwrite($fp, pack('S', TRUE)); 

идея?

+0

Что YY нужно сделать с целым числом? И что вы пытаетесь сделать? – PeeHaa

+0

сколько 'True' вы писали в этот файл в VB6? –

+0

(Я пишу двоичный файл, как старое программное обеспечение). Для моего теста у меня есть только Put boolean TRUE et в Notepad ++ TRUE = ÿÿ –

ответ

2

Если вы хотите, чтобы ваш файл, который будет доступен для чтения VB6 в виде файла булевы, вам придется писать каждый булево true как "\xFF\xFF" и каждый булево false как "\x00\x00". Я не думаю, что pack() может вам помочь. Например .:

fwrite($fp, $my_boolean ? "\xFF\xFF" : "\x00\x00"); 

ÿ является ISO-8859-1/Windows кодовая 1252 значение 255

+0

Спасибо! это хорошо –

+0

добро пожаловать. BTW, VB6 использует 16 бит для хранения 1 бит информации, кажется ... –

Смежные вопросы