Archive for luglio, 2009
28
lug

Rieccoci qui per un interessante articolo su come installare e programmare per java mobile su mac osx!

Il famoso compilatore NetBeans (scaricabile qui), purtroppo non ha l’estensione per J2ME per mac os, come si può vedere dall’immagine:

Netbeans

Ma niente è impossibile, vediamo come fare ad installarlo comunque in pochi e semplici passi…

1) Scaricate sul vostro mac due versioni di NetBeans, quella per Mac OS e quella in formato ZIP universale.
2) Scaricate la versione dell’emulatore alternativo a quello di SUN da qui.

3) Installate la versione per mac osx di netbeans.
4) Estraete il contenuto dello zip e andatelo a sovrascrivere con quello installato in “/Applicazioni/NetBeans/NetBeans.app/Contents/Resources/NetBeans/”.

5) Estraete la versione scaricata di mPower Player dove volete.

6) Aprite NetBeans, cliccate su “Strumenti->Java Platform” e poi su “Aggiungi piattaforma”.
7) Selezionate “Java ME MIDP Platform Emulator” e poi la cartella del vostro nuovo emulatore.

8) Create un nuovo progetto… compilate e via!!!


Versioni:
– Netbeans v. 6.7.1 (al momento ultima release aggiornata)
– Mac OS X v. 10.5.7 (al momento ultima release aggiornata)

J2ME anche per Mac OS X!!!

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , , , ,

24
lug

Può capitare di dover caricare le impostazioni di un programma da un file di testo…

vediamo come fare utilizzando anche le regular expression.

Il file di log è fatto seguendo questo schema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#
# HOW TO USE CONFIG FILE
#
# PARAM = "value"
# PARAM = 'value'
#
# MAIL CONFIGURATION
#
MAIL_SMTP = 'smtp.server.com'
MAIL_FROM  = "assistenza@server.com"
MAIL_SUBJECT = '[IMPORTANTE] Avviso automatico'
#
# DB CONFIGURATION
#
DB_PROCEDURE = 'nomeprocedura'
DB_CONN_STRING = 'Data Source=XX;Password=XX;.....'
#
# FILE CONFIGURATION
#
LOG_FILE_H1 = 'Z:\\TEMP\\file_1.log'
LOG_FILE_H2 = 'Z:\\TEMP\\file_2.log'
LOG_FILE_FULL = 'unique.log'

Bene, non resta ora che costruirci la nostra classe!

Continue reading “[C#] Leggere un file di configurazione” »

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , ,

23
lug

Una semplice classe per far apparire una serie di fotogrammi utilizzati come splash screen animate per le vostre MIDlet java.

Classe SplashScreenCanvas .java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import javax.microedition.lcdui.*;

public final class SplashScreenCanvas
           extends Canvas
           implements Runnable {

  public Image img[];
  public int num;
  public boolean bolval;

  public SplashScreenCanvas() {
    setFullScreenMode(true);
    img = new Image[2];
    num = 0;
    bolval = true;

    try {
      /* fotogrammi */
      img[0] = Image.createImage("frame02.png");
      img[1] = Image.createImage("frame01.png");
      (new Thread(this)).start();
      return;
    } catch (Exception ex) { return; }
  }

  public final void paint(Graphics g) {
    g.setColor(0, 0, 0);
    g.fillRect(0, 0, getWidth(), getHeight());
    g.setColor(255, 255, 255);
    g.drawImage(img[num],
                getWidth() / 2 - 90,
                getHeight() / 2 - 100,
                0);
  }

  public final void run() {
    while (bolval) {
      try {
        if (++num == 2) num = 0;
        repaint();
        Thread.currentThread();
        Thread.sleep(1700);
      } catch (InterruptedException ex) { return; }
    }
  }
}

Utilizzo:

1
2
3
4
5
        SplashScreenCanvas splash = new SplashScreenCanvas();
        Display.getDisplay(this).setCurrent(splash);
        try {
            Thread.sleep(2500);
        } catch (Exception e) { }

EOF

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

23
lug

Registrare mp3 dal vostro “Mix Wave” di sistema in C#?

Registratore

Create un nuovo progetto in Visual Studio, e importate le librerie nello zip.

Poi create questa classe:

Continue reading “[C#] Registrare mp3 audio” »

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

23
lug

Perchè sbattersi a cercare qualcosa quando è già nel vostro pc?

Con le ultime versioni di Microsoft Office, viene installato un tool chiamato
Microsoft Office Document Imaging XX.0 Type Library… ma a cosa serve?

Per quanti di voi hanno già utilizzato uno scanner, e volevano leggere e modificare il testo scansionato, avranno sicuramente
sentito parlare di OCR (Optical Character Recognizer), una tecnica che permette di riconoscere appunto i caratteri in un immagine.

In C# è possibile integrare questo componente e creare voi un programma personalizzato.


Vediamo come…

Per prima cosa assicurarsi di avere Office installato e quindi importare in Visual Studio, il famoso componente:

aggiunta riferimento

dopo di che, poche righe di codice e il vostro riconoscitore di caratteri è pronto!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    private void getTextFromIMG(string img)
    {
      /* MODI è il namespace del componente office */
      MODI.Document md = new MODI.Document();

      /* apro un immagine da "scannerizzare" */
      md.Create(img);
      /* imposto la lingua */
      md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);

      string strText = String.Empty;

      /* configuro un po di impostazioni */
      MODI.Image image = (MODI.Image)md.Images[0];
      MODI.Layout layout = image.Layout;

      /* analizzo le lettere trovate */
      for (int j = 0; j < layout.Words.Count; j++)
      {
        MODI.Word word = (MODI.Word)layout.Words[j];
        if (strText.Length > 0) strText += " ";
        strText += word.Text;
      }
      md.Close(false);

      /* alè! */
      MessageBox.Show("OCR:\n\n" + strText);
    }

fatto! Apparirà un alert con la parola interpretata dall’OCR!

A voi la fantasia… usatelo come più vi piace!!!

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

23
lug

Può capitare di dover utilizzare diversi virtual host per eseguire i vostri script in php, ma la configurazione di apache?

Trovate il file https.conf e apritelo con un editor di testo.
Per un server locale e soprattutto per sviluppo locale, banalmente possono essere configurate alcune opzioni.

Queste sono le porte sulle quali viene cercato il servizio:

1
2
Listen 90
Listen 91

Nel mio caso, php gira sulle porte 90, 91. Di default gira su 80.

Impostate il server predefinito:

1
ServerName localhost:90

Impostate le vostre document root:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Nel mio caso C:/Work...
DocumentRoot "C:/Work"

#C:/Work è la root del primo host
<directory "C:/Work">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</directory>

#C:/TEMP è la root del secondo host
<directory "C:/TEMP/">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</directory>


…e ci siamo quasi. Non resta che localizzare il file httpd-vhosts.conf nel quale viene configurato il vostro secondo host.

Inserire questa stringa:

1
2
3
4
<virtualhost localhost:91>
        DocumentRoot C:/TEMP
        ServerName temp      
</virtualhost>

Adesso riavvio veloce di Apache Server… e gli indirizzi

http://localhost:90/

e

http://localhost:91/

dovrebbero funzionare correttamente.

Nel mio caso è stato utilizzato come server Apache/PHP/mySQL, XAMPP, liberamente scaricabile da qui.

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , ,

23
lug

Ebbene si, in Java Mobile Edition conosciuta meglio come J2ME non esiste un metodo split() per dividere una stringa dato un separatore…

Ma eccolo qui:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private String[] split(String original, String sep) {
  Vector nodes = new Vector();
  String separator = sep;
  int index = original.indexOf(separator);

  while (index >= 0) {
    nodes.addElement(original.substring(0, index));
    original = original.substring(index + separator.length());
    index = original.indexOf(separator);
  }
  nodes.addElement(original);

  String[] result = new String[nodes.size()];
  if (nodes.size() > 0) {
    for (int loop = 0; loop < nodes.size(); loop++) {
      result[loop] = (String) nodes.elementAt(loop);
    }
  }
  return result;
}

EOF

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , ,

23
lug

Come spedire una mail con C# .net?

Framework 2.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System.Web.Mail;

[...]

MailMessage mail = new MailMessage();

mail.To = "to@email.it";
mail.From = "da@email.it";
mail.Subject = "ciao!!!";
mail.BodyFormat = MailFormat.Html;
mail.Body = "<b>Testo</b> del messaggio!";

SmtpMail.SmtpServer = "tuo.smtp.com";
SmtpMail.Send(mail);


Framework 3.5:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System.Net.Mail;

[...]

MailMessage mail = new MailMessage();

mail.To.Add("mail0@site.it");
mail.CC.Add("mail1@site.it");
mail.CC.Add("mail2@site.it");

mail.From = new MailAddress("noreply@site", "NAME");
mail.Subject = "[AUTO] Mail automatica";

mail.Body = "(Mail automatica)\n\nTesto...";

SmtpClient smtp = new SmtpClient("smtp.site.it");

try { smtp.Send(mail); }
catch  { }

tutto qui!!!

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , ,

23
lug

Prima di iniziare bisogna configurare l’ambiente!

1) Scaricate Oracle Client se non lo avete già….
2) In Visual Studio 2005, importare nel progetto la libreria System.Data.Oracle
3) Aprite il file “\Oracle\product\11.1.0\client_1\network\admin\TNSNAMES.ORA” e riempitelo con la vostra configurazione.

1
2
3
4
5
6
7
8
9
NAME =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.38.67)(PORT = 1521))
    )
    (CONNECT_DATA =
     (SERVICE_NAME = service.name.com)
    )
  )

Utilizzare una connection string tipo questa, con i vostri parametri:

1
"Data Source=DBNAME;Password=PWD;User ID=USER;Unicode=True";

Iniziamo con il codice C#…

Apertura e chiusura database:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    private string m_oraConnString;
    private OracleConnection m_oraConnection;
    private OracleCommand m_oraCommand;
    private OracleDataReader m_oraDataReader;
    private string m_oraDbConnection;

    /*** apre la connessione al db ***/
    private void openDb(bool isProcedure) {
      try {
        m_oraConnection = new OracleConnection(m_oraConnString);
        m_oraDbConnection = m_oraConnection.DataSource;
        m_oraCommand = new OracleCommand();

        /* TRUE se è necessario chiamare una procedura anzichè una query */
        if (!isProcedure)
            m_oraCommand.CommandType = CommandType.Text;
        else
            m_oraCommand.CommandType = CommandType.StoredProcedure;

        m_oraCommand.Connection = m_oraConnection;
        m_oraConnection.Open();
      } catch { }
    }

    /*** chiude la connessione ***/
    private void closeDb() {
      try {
        m_oraConnection.Close();
        m_oraConnection = null;
      } catch { }
    }

In caso di chiamata ad una procedura Oracle, è possibile passare o ricevere parametri.

Esempio:
Continue reading “[C#] Connessione ORACLE” »

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , , ,

23
lug

Real player usa due file per visualizzare il video in questo formato.
Il file .camv contiene l’xml con le informazioni utili al video e l’altro (rm) contiene l’audio.

real player


Ecco come convertire entrambi, unendoli in un filmato .AVI in linux shell.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

convert()
{
   echo Analyzing $FOLDER...
   mencoder -audiofile $FOLDER/*.rm $FOLDER/*.camv -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac pcm -o /dev/null
   mencoder -audiofile $FOLDER/*.rm $FOLDER/*.camv -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac pcm -o $FOLDER.avi
}

LST=`ls -1 .`
for FOLDER in $LST;
do
    convert
done

in realtà può essere fatto anche su Windows.
E’ scaricabile da sourceforge: http://sourceforge.net/projects/mewig/.

[ref -> albertopasca.it]

FacebookTwitterDeliciousLinkedInGoogle BookmarksNetlogGoogle GmailMySpaceGoogle ReaderShare

, , , , , ,

Switch to our mobile site