lappone2 Inserito: 28 gennaio 2011 Segnala Share Inserito: 28 gennaio 2011 (modificato) Salve a tutti.Sto lavorando con i puntatori per alzare un merker.Sono un principiante, quindi chiedo pietà per la mia ignoranza.. Mi spiego meglio...Ho una variabile INT (la chiamo X), con valori da 1 a 20, in base al suo valore vorrei ottenere:Se varibabile 1, trasferisco DBX84.0 in M0.0Se varibabile 2, trasferisco DBX84.1 in M0.0Se varibabile 3, trasferisco DBX84.4 in M0.0ecc...In pratica il mio offset di spostamento è la mia variabile X.Quello che non mi è chiaro, è come posso trasformare il puntatore per scorrere i bit da DBX84.0 fino a DBX86.3 (valore da 1 a 20 di X) e alzare M0.0 in base al valore di DBX. Modificato: 28 gennaio 2011 da lappone2 Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 28 gennaio 2011 Segnala Share Inserita: 28 gennaio 2011 L MW 10 // MW10 è la X ITD // converto in un intero 32 bit L L#1 // in informatica e' meglio contare da zero -D // sottraggo 1 per partire da zero L P#DBX 84.0 // carico l'indirizzo di DBX84.0. Il relativo DB è stato aperto prima +D // sommo l'indirizzo all'indice LAR1 // e trasferisco il risultato ad AR1 U [AR1,P#0.0] // interrogo il bit secondo AR1 spiazzato di niente (0.0) = M 0.0 // e lo assegnoin questo sito, se cerchi attentamente, c'e' un tutorial sui puntatori. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 gennaio 2011 Segnala Share Inserita: 28 gennaio 2011 AUF DB 10 //Apri il DB (esempio DB10) L P#DBX 84.0 // carica l'indirizzo del bit 84.0 L #NrBit // Somma l'indice del bit da 1 a 20 +D + L#-1 // sottrai 1 per allineamento a 0 T #Adr // scrivi indirizzo in variabile DINT U DBX [#Adr] // Interroga stato bit = M 0.0Questo è solo uno dei vari metodi possibili. Link al commento Condividi su altri siti More sharing options...
lappone2 Inserita: 28 gennaio 2011 Autore Segnala Share Inserita: 28 gennaio 2011 (modificato) Grazie di cuore.Si, ho scaricato la guida Puntatori_S7.pdf.Il mio codice era simile, tranne per per il -1 per l'allinemento.OPN "DBlavoro" L #XL P#DBX 84.0 +D T #YL DBX [#Y] //errore da step7, adesso ne conosco il motivo T #zLa cacchiata era: U DBX [#Adr] // Interroga stato bit = M 0.0 U DBX [#Adr] // Interroga stato bit = M 0.0Un sentito grazie a tutti per la vostra inesauribile bontà. Modificato: 28 gennaio 2011 da lappone2 Link al commento Condividi su altri siti More sharing options...
lappone2 Inserita: 28 gennaio 2011 Autore Segnala Share Inserita: 28 gennaio 2011 Problemino, se utilizzo il comando interroga U, ricevo l'avviso:Assicurarsiche il proprioDB globale sia collocato corettamente Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora