Esempio n. 1
0
function test_result($x, $filename, $code2test)
{
    $tmp_code = str_replace('#NUM', $x, $code2test);
    $full_file_name = $filename . '_4test-' . $x;
    write_src_file($full_file_name . '.pas', $tmp_code);
    shell_exec('fpc temp/' . $full_file_name . '.pas');
    $res = shell_exec('temp/' . $full_file_name);
    //Xoa cac ky tu trang di cho nhe:
    $res = trim($res);
    //Xoa tep sinh ra de Test:
    remove($full_file_name);
    //Runable
    remove($full_file_name . '.o');
    //Link object
    remove($full_file_name . '.pas');
    //Source code
    return $res;
}
Esempio n. 2
0
require 'libs/filelib.php';
// Nhung filelib php vao file
require 'libs/functions.php';
$content = $_POST['code'];
// Lay code cua nguoi dung nhap
$filename = $_POST['filename'];
//Lay ten tep tin chua code nguoi hoc
$exer_id = isset($_POST['exer_id']) ? $_POST['exer_id'] : '';
// Ham isset cua PHP kiem tra bien co null khong de tranh loi
if ($exer_id > 2) {
    $code = code_to_compile($content);
    $code2test = code_to_test($exer_id, $content, $filename);
    $testfilename = str_replace('.pas', '_4test.pas', $filename);
    $check = write_src_file($filename, $code);
    write_src_file($testfilename, $code2test);
} else {
    $check = write_src_file($filename, $content);
}
if ($check > 0 && strlen($filename) > 0) {
    $res = shell_exec('fpc temp/' . $filename) . '';
    // Ham shell_exec goi lenh compile
    $pos = strpos($res, 'Error');
    if ($pos > 0) {
        $res = 'Có lỗi, bạn hãy kiểm tra lại mã Pascal!!!<br/>----------<br />' . substr($res, $pos, -1);
    } else {
        $res = 'Biên dịch thành công.';
    }
    echo $res;
} else {
    echo 'Compile Error!!';
}