Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    Pacchetti dati da porta seriale

    Sto sviluppando un programma per interfacciarmi con uno strumento di misurazione via porta seriale.
    Quando avvio l'interrogazioni, mi restituisce la riga sottoindicata:

    31..00+00000320 51....+0000+000

    A me di tutta questa riga mi interessa ricavare il pezzo che va dal carattere 12 al carattere 15 quindi in questo es. 0320. La stringa, in base alla documentazione del protocco finisce sempre con il carattere ascii 13 (a capo), ma non c'e' nessun riferimento al carattere di inizio stringa. Quello che io ho notato e' che inizia costantemente con la cifra 31. Inoltre la stringa a parte il pezzo appunto che va dal carattere 12 al carattere 15 e' sempre uguale.
    Come posso fare per reperire solamente quella parte di stringa.

    Grazie infinite.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    33
    ciao, se hai letto alcuni miei messaggi ho ank'io lo stesso problema...uno strumento che invia un segnale attraverso la porta com.
    Mi pare di capire che il tuo strumento ha un separatore, che è il +, quindi devi partizionare la stringa e poi leggere la posizione che ti interessa...
    Non ti posso passare codice, perchè io l'ho fatto in delphi e in post processor, ora sto studiandoci su per passare in VBA e farlo in real time...

    In bocca al lupo...

    Ciao
    Fabio

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    tutti in ferie

    qualcuno e' in grado di darmi una mano xfavore ?

  4. #4
    ma la stringa l'hai letta?
    se si ti fsta fare una mid$(stringa,carattere iniziale,(carattere finale - carattere iniziale))
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    ho provato

    ma purtroppo non mi funziona. Ti spiego, la stringa (quella scritta sopra "31..00+00000320 51....+0000+000") che mi restiutisce la seriale io la scrivo in un textbox multiline. E' da un po' che ci sbatto la testa addosso ma non riesco a venirne fuori, io dalla stringa "31..00+00000320 51....+0000+000" scritta in questo cavolo di textbox dovrei estrapolare solamente il valore "0320".

  6. #6
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    hai provat con:

    right(replace(stringa,'0',''),10)

    ti prendi prima 10 numeri a partire da destra
    e elimini gli zero mettendo una carattere vuoto
    tanto se fai trim nn ti dovresti prendere solo il 32


    è giousto il ragionamento?

  7. #7
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Come ha detto xegallo è giustissimo.
    fai cosi allora
    codice:
    x = 31..00+00000320 51....+0000+000
    'Tu hai detto che 0320 inizia nel carattaere 12 e finisce il 15
    'Quindi:
    x = mid$(x,12,15)
    'x non è un intero perchè è troppo lungo, quindi usa double o long
    prova così...Spero di averti aiutato in qlk modo

    Ciaunz

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.