[Python] Errore di tipo

2010-02-23 Per discussione Netstrike
Prima di tutto, un saluto a tutta la lista dato che sono un nuovo iscritto,
ma soprattutto sono nuovo nella programmazione in python.

Vorrei quindi scusarmi in anticipo se le mie domande saranno di bassissimo
livello,
ma dopotutto si inizia dal basso, e spero che "sopporterete" le mie
elementari domande.

Passiamo al mio problema, come primo script per provare un po il linguaggio
ho scritto questo:

from System.IO.Ports import SerialPort
serial = SerialPort(PortName="COM2",BaudRate=9600,DataBits=8)
serial.Open()
serial.Write("Ettore\n")
returnValue = serial.ReadLine()
print returnValue
serial.Close()
serial.Dispose()


Niente da dire funziona.
Ora volevo fare un test per vedere se la porta veniva aperta, in caso
contrario volevo una stringa di errore
per cui ho modificato così:

from System.IO.Ports import SerialPort
serial = SerialPort(PortName="COM2",BaudRate=9600,DataBits=8)
serial.Open()
if serial.IsOpen() is None:
  print "Impossibile aprire la porta"
else:
  serial.Write("Ettore\n")
  returnValue = serial.ReadLine()
  print returnValue

serial.Close()
serial.Dispose()


Quando lo eseguo mi trovo questo errore: "TypeError: Boolean is not
callable"
Dove concettualmente stò sbagliando?

Grazie a tutti in anticipo per le cortesi spiegazioni che vorrete darmi
Ettore aka Netstrike
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Errore di tipo

2010-02-23 Per discussione Netstrike
Il giorno 23 febbraio 2010 11.08, Marco Dalla Stella <
m.dallaste...@gmail.com> ha scritto:

> Il 23 febbraio 2010 11.05, Netstrike  ha scritto:
> > Prima di tutto, un saluto a tutta la lista dato che sono un nuovo
> iscritto,
> > ma soprattutto sono nuovo nella programmazione in python.
>
> Benvenuto! :)
>

Grazie mille della celerissima risposta!


>  > if serial.IsOpen() is None:
>
> Credo che il problema sia qui, infatti, molto probabilmente IsOpen è
> un attributo booleano e non una funzione, per cui non è "callable". Il
> controllo corretto dovrebbe essere semplicemente il seguente:
>
> if serial.IsOpen:
>

In effetti il problema era proprio li.
Oltre al python credo che io debba imparare molto altro... (metodi,
proprietà)

Grazie.
Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Errore di tipo

2010-02-23 Per discussione Netstrike
Il giorno 23 febbraio 2010 11.19, Valerio Turturici <
turturici.vale...@gmail.com> ha scritto:

> Netstrike ha scritto:
> > Prima di tutto, un saluto a tutta la lista dato che sono un nuovo
> > iscritto,
> > ma soprattutto sono nuovo nella programmazione in python.
> Ottima scelta Python ;)
>

Grazie, sono contento della scelta, con 12 righe di codice leggo e scrivo
sulla seriale...
non vedo l'ora di scoprire tutto il resto!


> > Vorrei quindi scusarmi in anticipo se le mie domande saranno di
> > bassissimo livello,
> > ma dopotutto si inizia dal basso, e spero che "sopporterete" le mie
> > elementari domande.
> Nessuno nasce imparato ;)
> >
> > if serial.IsOpen() is None:
> >
> A occhio credo che il problema sia qua, IsOpen probabilmente non è una
> funzione, ma un booleano. Controlla la doc.


Si, devo prestare molta più attenzione alla documentazione... la fretta
non è mai una buona compagna di viaggio, soprattutto ora che stò iniziando.

Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] TextBox multiline e carattere di newline

2010-02-23 Per discussione Netstrike
Per imparare un po il linguaggio stò creando un semplice programmino che
legge i dati da una TextBox mi scrive su seriale
il dato, e legge da seriale i dati ricevuti in risposta.
(Attualmente sulla seriale ho ponticellato rx con tx quindi ho un semplice
echo della trasmissione)
Sono riuscito a fare tutto, ora il mio problema è che: quando vado a
scrivere il dati ricevuti sulla textbox (multiline)
non riesco a dargli il carattere di newline.

+"\n"  non funziona
+chr(10) non funziona
+'\x0A'   non funziona

Dove sbaglio?

Il segmento di codice è:

  serial = SerialPort(PortName=CPort,BaudRate=9600,DataBits=8) #
Inizializzo la seriale
  serial.ReadTimeout = 500
  serial.WriteTimeout = 500
  serial.Close()
  serial.Open() # Apro la porta
  print "TX:"+txBuff   # Debug
  serial.Write(txBuff+"\n") # Scrivo sulla seriale
  rxBuff = serial.ReadLine()  # Leggo dalla seriale
  print "RX:"+rxBuff+"\n"   # Debug
  rxTbox.Text += rxBuff+'\x0A'  # Inserisco nella Textbox (rxTbox) il
dato ricevuto + il carattere di newline
  serial.Close()# Chiudo la seriale

Grazie
Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] TextBox multiline e carattere di newline

2010-02-23 Per discussione Netstrike
Il giorno 23 febbraio 2010 17.04, Netstrike  ha
scritto:

> Per imparare un po il linguaggio stò creando un semplice programmino che
> legge i dati da una TextBox mi scrive su seriale
> il dato, e legge da seriale i dati ricevuti in risposta.
> (Attualmente sulla seriale ho ponticellato rx con tx quindi ho un semplice
> echo della trasmissione)
> Sono riuscito a fare tutto, ora il mio problema è che: quando vado a
> scrivere il dati ricevuti sulla textbox (multiline)
> non riesco a dargli il carattere di newline.
>
> +"\n"  non funziona
> +chr(10) non funziona
> +'\x0A'   non funziona
>
> Dove sbaglio?
>

Mi rispondo da solo e spero possa essere utile a tutti.
Sulla TextBox per andare a capo occorre inserire '\015\013'.

Ciao a tutti
Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] TextBox multiline e carattere di newline

2010-02-23 Per discussione Netstrike
Il giorno 23 febbraio 2010 20.58, Netstrike  ha
scritto:

>
> Mi rispondo da solo e spero possa essere utile a tutti.
> Sulla TextBox per andare a capo occorre inserire '\015\013'.
>
> Scusate ho sbagliato a scrivere: '\015\012'

Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] TextBox multiline e carattere di newline

2010-02-26 Per discussione Netstrike
Il giorno 26 febbraio 2010 13.43, Mattsteel Mattsteel
ha scritto:

>  > Scusate ho sbagliato a scrivere: '\015\012'
> > Ettore
>
> ... che guardacaso equivale a '\r\n'
>
> >>> x="\015\012"
> >>> x
> '\r\n'
>
Si, ma se metti sulla stringa direttamente '\n\r' la TextBox non va a
capo...

Ciao
Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] TextBox multiline e carattere di newline

2010-02-26 Per discussione Netstrike
Il giorno 26 febbraio 2010 14.07, Marco Beri  ha
scritto:

> 2010/2/26 Netstrike 
>
> Il giorno 26 febbraio 2010 13.43, Mattsteel Mattsteel <
>> mattst...@hotmail.it> ha scritto:
>>
>>  > Scusate ho sbagliato a scrivere: '\015\012'
>>> > Ettore
>>>
>>> ... che guardacaso equivale a '\r\n'
>>>
>>> >>> x="\015\012"
>>> >>> x
>>> '\r\n'
>>>
>> Si, ma se metti sulla stringa direttamente '\n\r' la TextBox non va a
>> capo...
>>
>
> Perche` devi mettere "\r\n" :-)
>

Ricordavo di aver provato anche con "\n\r" ma per sicurezza ho rifatto la
prova:
rxTBox.Text  = "Prova" + "\n\r" + "Prova"<-Non funziona
rxTBox.Text  = "Prova" + '\n\r' + "Prova" <-Non funziona
rxTBox.Text  = "Prova" + "\015\012" + "Prova"<-Funziona

Ciao
Ettore
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python