• Tag Archives microsoft
  • Like operator in x++

    Sometimes we have to search some records in a table having a field that satisfies a regular expression. For  istance, if i want to retrieve all Customer having the name starting by “A” i should fetch al Record of CustTable, having the Name field that match with the expression “A*”.

    To perform this kind of research we can use the operator like that we can insert both in query and in rest of the code. But there is an important issue. The behaviour of this operator used in queries is different from the behavior of the same operator used out of a query.

    into queries:

    • “ABC123” like “ABC*” return false value.
    • “ABC123” like “ABC%” return true value.

    Out of queries:

    • “ABC123” like “ABC*” return true value.
    • “ABC123” like “ABC%” return false value.

    Namely, the characters “*” and “%” exchange their semantics.

    The ax user is used to insert “*” in the form to filter the record or insert any kind of query on user side. Then the developer has to “Translate” the regulare expression replacing the “*” character with “%” character and perform the query :

    CustTable custTable;
    str valueInsertedByUser = "ABC*";
    select custTable where CustTable.Name like strReplace(valueInsertedByUser,"*","%");
    return custTable;
    
    

    The task becomes more complicated when the the regular expression is in a table field, and we have to retrieve a record having a regular expression (written by the user, with “*”) that match a particular string value. For example : I have three record in a table:

    A*
    B*
    C*

    I Have to search the record matching  to the string B34545644, that’s the second.

    In that case , since i cannot perform a string replacement directly on the DBServer i have to fetch all records and use the like operator as out of a query:

    Example table table;
    str searchingValue = "B34545644";
    while select table
    {
        if(searchingValue like table.field) return table;
    }

    Since Like operator in this case is used out of a query, it works through “*” and no replacement is needed.


  • Uscito Windows 7

    Sono lieto di annuciarvi, che Microsoft ha finalmente rimediato a quel catastrofico obbrobrio che ha chiamato “Vista”

    Il nuovo sistema operativo della casa di Redmond promette bene,  le sue prestazioni sono molto migliori di Vista, ed è compatibile con molte più applicazione del suo predecessore.

    Io l’ho provato installato su una macchina virtuale nel mio computer, e  posso assicurare che 7 virtualizzato è molto più veloce di vista installato nativamente sulla macchina. Ho effettuato le prove sullo stesso computer.

    Tutte le interfacce sono pressapoco come quelle di vista, quindi una persona abituata a usare vista non ha nessun problema a passare a 7, anzi ha più piacere a lavorare, visto che è più veloce.

    Consiglio comunque a tutti di rimuovere qualsiasi effetto grafico per aumentare le prestazioni.

    Secondo Microsoft per le periferiche è possibile utilizzare tutti i driver che utilizzati per vista, la compatibilità è totale.

    Per chi volesse provarlo,  senza apportare pesanti  modifiche al proprio computer, puo sempre installarlo nella macchina virtuale. Come trovare una copia di windows 7 , non lo devo stare a spiegare io, mentre come utilizzare una macchina virtuale  lo spiego qua.

    Una volta installato, lo possiamo provare per 30 giorni, poi bisogna effettuare l’attivazione,quindi avere una licenza. In alternativa possiamo utilizzare un’utility che si chiama Windows 7 loader extreme per effettuare l’attivazione senza licenza.

    Mi sento comunque di sconsigliarvi la seconda delle due,  in quanto si tratta di un procedimento illegale.