php2exe

Тема в разделе ".:: Готовые решения", создана пользователем baddan, 15 апр 2009.

Статус темы:
Закрыта.
  1. baddan

    baddan

    Регистр.:
    14 мар 2008
    Сообщения:
    354
    Симпатии:
    42
    Случилось тут такая напасть заказчик попросил сделать скрипт который фильтрует CSV и выбрасывает его в другой файл сказано сделано, т.к. просил он под сайт было написано:

    PHP:
    <?php

    $price
    =file("price.cvs");
    $f1=fopen("tmp.csv","w+");
    foreach(
    $price as $s1){
     list(
    $id,$kontro,$name,$pred,$ue,$kol,$pr,$tmp)=explode(';',trim($s1));
     if(isset(
    $name) && $name!==""){
      if(
    strlen($name)>&& strpos($name,'Наимено')===false){
       
    fputs($f1,"$name;$pred;$kol\r\n");
      }
     }
    }
    fclose($f1);

    ?>
    вобщем тривиальная задача, но упертый заказчик оказался говорит нет возможности на сервер без кнца лазить сделай под винду. :eek: денги платят, дельфи не охото запускать, помнится гдето видел php2exe

    кочаю значит:

    http://www.bambalam.se/bamcompile/


    там в примерах есть калькулятор правлю .rc (файл ресурсов)
    calc.rc
    PHP:
    ;This Resource Script was generated by WinAsm Studio.

    #define IDD_DIALOG 101
    #define IDC_START 1000

    IDD_DIALOG DIALOGEX 0,0,120,50
    CAPTION 
    "CSV Filter"
    FONT 8,"Tahoma"
    STYLE 0x10cc0000
    EXSTYLE 0x00000080
    BEGIN
        CONTROL 
    "Start",IDC_START,"Button",0x54000000,10,5,100,20,0x00000000
    END
    переделываю калькулятор calculater.php
    PHP:
    <?

    /*******************************************************************************

     WINBINDER - A native Windows binding for PHP

     Copyright c 2004-2005 Hypervisual - see LICENSE.TXT for details
     Author: Rubem Pechansky (http://www.hypervisual.com/winbinder/contact.php)

     Code sample: Mini-calculator application

    *******************************************************************************/

    //------------------------------------------------------------ SYSTEM PARAMETERS

    define("PATH_SCRIPT",   dirname(__FILE__) . "/");
    define("PATH_DATA",     PATH_SCRIPT);
    define("PATH_INC",      PATH_SCRIPT "../include/");
    define("PATH_RES",      PATH_SCRIPT "../resources/");

    //----------------------------------------------------------------- DEPENDENCIES

    include "include/winbinder.php";

    //-------------------------------------------------------------------- CONSTANTS

    define("APPNAME",   "CSV Filter");    // Application name
    define("BLANK",     "blank");

    //----------------------------------------------------------------- DEPENDENCIES

    //------------------------------------------------------------- GLOBAL VARIABLES

    /*
    $newnumber = BLANK;
    $memory = 0;
    $display = "";
    $number1 = "";
    $number2 = "";
    $opvalue = "";
    }*/

    //-------------------------------------------------------------- EXECUTABLE CODE

    // Create main window from RC template

    /*$f = fopen("debug.log","w");
    $data =  parse_rc(file_get_contents("calc.rc"), '$mainwin', null, 'PopupWindow');
    fwrite($f,$data);
    fclose($f);*/
    eval(parse_rc(file_get_contents("calc.rc"), '$mainwin'null'PopupWindow'));

    // Set main window handler and enter application loop

    wb_set_handler($mainwin"process_main");
    wb_main_loop();

    //-------------------------------------------------------------------- FUNCTIONS

    // TODO: Calculator is not working properly
    // TODO: Use keyboard to enter keys

    // Ported and adapted from original JavaScript calculator by Steve Dulaney
    // http://www.hmhd.com/steve

    /* Process main window commands */

    function process_main($window$id)
    {
        global 
    $memory$display;

        switch(
    $id) {

            case 
    IDCLOSE:           // Predefined constant
                
    wb_destroy_window($window);
                break;

            case 
    IDC_DISPLAY:       // Does not process edit controls
                
    break;

            default:                
    // Process buttons
                
    $ctrl wb_get_control($window$id);
                if(
    wb_get_class($ctrl) != PushButton)
                    break;
                
    $caption trim(wb_get_text($ctrl));

                switch(
    $caption) {

                    
    // Numbers and decimal point

                    
    case "Start":
                        
    getfile("Ok");                      break;

                } 
    // switch($caption)
                
    break;
        } 
    // switch($id)
    }

    function 
    getfile($s1)
    {
     global 
    $mainwin;

     
    $path getcwd();
     
    $filter = array(array('CSV Files''*.csv'));

    if(
    $fn wb_sys_dlg_open(NULL'Open file'$filter$path))
    {
       
    $price=file($fn);

       
    $f1=fopen("tmp.csv","w+");

       foreach(
    $price as $s1){
        list(
    $id,$kontro,$name,$pred,$ue,$kol,$pr,$tmp)=explode(';',trim($s1));
        if(isset(
    $name) && $name!==""){
         if(
    strlen($name)>&& strpos($name,'Наимено')===false){
          
    fputs($f1,"$name;$pred;$kol\r\n");
         }
        }
       }
       
    fclose($f1);

       
    wb_message_box(NULL"Обработан: $fn \nВыгружен в: $path\\tmp.csv");



    }

    ?>
    вот такая вот байда может кому пригодится.


    вот исходники.
    http://rapidshare.com/files/221575810/calculate.rar.html
     
    max11m, haiflive и prodx нравится это.
Статус темы:
Закрыта.