MICHELESAMM Inserito: 13 luglio 2004 Segnala Share Inserito: 13 luglio 2004 Ciao a tutti.....Non so come fare per trasferire il mio file As511 modificato su forum , comunque per chi lo conoscela mia modifica da effettuare è quella di leggere contemporaneamente piu' dw , in diverse listboxsenza la necessita' di dover premere il pulsante per lettura dw.Grazie..... Link al commento Condividi su altri siti More sharing options...
TRUNC Inserita: 13 luglio 2004 Segnala Share Inserita: 13 luglio 2004 Inserisci nel form un controllo Timer e, dall'evento omonimo, richiama la subroutine del tasto (NonSoComeSiChiama_Click()...).Ricordati di impostare un valore coerente nella proprietà Interval del controllo Timer. Link al commento Condividi su altri siti More sharing options...
nll Inserita: 13 luglio 2004 Segnala Share Inserita: 13 luglio 2004 Se non deve necessariamente trascorrere del tempo tra una lettura e l'altra, è sufficiente che la routine legga in sequenza i dati dalle list boxes, magari con dei cicli for, o do while, o do until, applicati a cascata su tutte le list boxes da leggere. Volendo posso inserire le righe di codice, se non sufficientemente chiara la mia esposizione. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 13 luglio 2004 Segnala Share Inserita: 13 luglio 2004 Ricordati da non andare sotto i 500 mS nella impostazione del timer, altrimenti la cpu andra' in stop peroverrun.Saluti. Link al commento Condividi su altri siti More sharing options...
MICHELESAMM Inserita: 14 luglio 2004 Autore Segnala Share Inserita: 14 luglio 2004 (modificato) Grazie del consiglio.....Ok ho fatto come mi avete consigliato e funziona!!..Purtroppo, ho ancora un ostacolo da superare, devo trasferire i dati esistenti nelle listbox e traferirli,in un foglio excel , in modo tale da condividere il file excel e mettere a disposizione i dati in rete ethernet.x nll ti sarei grato se mi mandi un esempio di codice .Vi saluto a Presto.... Modificato: 14 luglio 2004 da MICHELESAMM Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 14 luglio 2004 Segnala Share Inserita: 14 luglio 2004 Questa potrebbe essere una soluzione, tieni presente che ho scritto il codice a caso.Meglio se aspetti altri suggerimenti piu' professionali.'Prima cosa serve caricare da Progetto > Riferimenti > la libreria "Microsoft Excel 10.0 Object Library"'Per provare chiama CreaXLS(NomeFileXLS)Public NomeFileXLS As StringPublic MyXL As WorkbookPublic FoglioExcel As WorksheetSub GetExcel(Modello As String) On Error Resume Next If Err.Number <> 0 Then ExcelWasNotRunning = True Err.Clear Set MyXL = Excel.Workbooks.Open(Modello)End SubSub DetectExcel() Const WM_USER = 1024 Dim hwnd As Long hwnd = FindWindow("XLMAIN", 0) If hwnd = 0 Then ' 0 significa che Excel non è in esecuzione. Exit Sub Else SendMessage hwnd, WM_USER + 18, 0, 0 End IfEnd SubSub CreaXLS(NomeFile) GetExcel (NomeFile) 'trasferisci un valore a excel in foglio 1, riga e colonna 1 MyXL.Sheets(1).Cells(1, 1).Value = 123 If ExcelWasNotRunning = True Then MyXL.Worksheets(1).Close (False) MyXL.Close (True) Set FoglioExcel = Nothing Set MyXL = Nothing Exit Sub End If MyXL.Close (True) Set FoglioExcel = Nothing Set MyXL = NothingEnd Sub Link al commento Condividi su altri siti More sharing options...
MICHELESAMM Inserita: 14 luglio 2004 Autore Segnala Share Inserita: 14 luglio 2004 Ciao dago.....Ho caricato il codice che mi hai gentilmente mandato , Mi servirebbero maggiori dettagli per poter provare , ho praticamente una serie di textboxche ricevono dei valori da plc text1,text2,text3....ecc.. , in più come faccio a indicare il foglio excel,come posizione per esempio si trova in c:\documenti nel codice.Grazie ancora...Ciao Michele Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 14 luglio 2004 Segnala Share Inserita: 14 luglio 2004 Prova cosi:Sostituisci il codice precedente con questa subSub CreaXLS(NomeFile As String, DatoDaScrivere As String) GetExcel (NomeFile) 'trasferisci un valore a excel in foglio 1, riga e colonna 1 MyXL.Sheets(1).Cells(1, 1).Value = DatoDaScrivere If ExcelWasNotRunning = True Then MyXL.Worksheets(1).Close (False) MyXL.Close (True) Set FoglioExcel = Nothing Set MyXL = Nothing Exit Sub End If MyXL.Close (True) Set FoglioExcel = Nothing Set MyXL = NothingEnd SubQuindi:'Devi creare un file xls, vuoto oppure formattato come vuoi e salvarlo ad'esempio in c:\documenti con il nome di "prova.xls"'Metti un pulsante sul form con il nome Command1 e una casella di testo Text1'Copy questo nel codice del form e prova un po' a vedere cosa succede.Private Sub Command1_Click()Dim Nome As StringNome = "c:\documenti\prova.xls" Call CreaXLS(Nome, Text1.Text) End SubCome gia' detto il codice che ho scritto non prevede tutta una serie di cose e controlli da fare, ma penso che un po' alla volta riuscirai ad ottimizzare tutte le sue belle cose.In ogni caso non preoccuparti se rimane qualche baco la colpa e' "di Windows che e' instabile" ,come si suol dire Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 14 luglio 2004 Segnala Share Inserita: 14 luglio 2004 E gia' da parecchi anni che vengo utilizzando con successo visual c++ per la costruzione di APIs sotto windowsche interfacciano sistemi plcs o raba del genere e quindi non posso aiutarti con visual basic.Il bello e' che dentro una frame c++ puoi scrivere anche del codice in assembler per la gestionedel UART e quindi evitare una marea di problemi.In ogni caso, visual c++ e ricco in librerie per la gestione del DCB.Si, e' vero che windows e' ancora instabile pero' tante volte siamo noi i porgrammatori a generarele grane.Comunque se l'api esegue un pulling periodico,dovresti anche scrivere una buona routine di scape e reinitialization del colloquio di communicazione in caso di break e fare molta attenzione nella gestionedella memoria perche e' qui dove sempre si sbaglia e quindi la applicazione rallenta o si pianta.Per quanto riguarda alla converzione in formato excel, ti consiglio prima di salvare i dati informato binario,questi occupano poco spazio e sono facili di manovrargli.Poi una seconda applicazione locale puo fare la converzione in excel oppure access per ulteriori usi. Saluti. Link al commento Condividi su altri siti More sharing options...
MICHELESAMM Inserita: 15 luglio 2004 Autore Segnala Share Inserita: 15 luglio 2004 Ciao Dago.....Ho caricato il tuo nuovo codice , non so se ho fatto bene ma locaricato nella sezione generale_dichiarazioni,il problema che si verifica è un errore di compilazione nel momento in cui vado a premere il pulsante command1 mi dice "sub o function non definita", per il resto ho fatto esattamente come mi hai riferito.Ti saluto e Grazie ancora.....Ciao Michele Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 15 luglio 2004 Segnala Share Inserita: 15 luglio 2004 Forse non hai fatto questo ? 'Prima cosa serve caricare da Progetto > Riferimenti > la libreria "Microsoft Excel 10.0 Object Library" Link al commento Condividi su altri siti More sharing options...
nll Inserita: 16 luglio 2004 Segnala Share Inserita: 16 luglio 2004 MICHELESAMMNon ho postato codice, perché ho visto che lo ha fatto egregiamente Dago.Personalmente l'avrei impostato diversamente, ma questo non toglie nulla al lavoro di Dago.Ovvio che si può fare di meglio, ma questo è utile riservarlo all'adattamento che certamente farai nell'applicare il programma sulla tua macchina. Ti suggerisco di curare bene anche la gestione degli errori, particolarmente aprendo e chiudendo files, altrimenti rischi di trovarti bloccato.E' importante che tutte le librerie richiamate siano presenti sulla macchina e nella giusta cartella, altrimenti è logico che qualche procedura/funzione non risulti definita (la definizione è, appunto, contenuta nella libreria). Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 16 luglio 2004 Segnala Share Inserita: 16 luglio 2004 Personalmente l'avrei impostato diversamente...Vero, tecnicamente non e' proprio il massimo.Vero anche che il massimo lo uso per fare la spesa Link al commento Condividi su altri siti More sharing options...
MICHELESAMM Inserita: 16 luglio 2004 Autore Segnala Share Inserita: 16 luglio 2004 X Nll e DagoForse ho scelto il modo peggiore per iniziare a lavorare con Vb , probabilmente dovrei partire con nozioni di baseanche se ho delle conoscenze in programmazione Plc Siemens ; Comunque Per rispondere a te Dago la libreria che ho caricato è "Microsoft office 8.0 Obiect Library".Vi saluto...Michele Link al commento Condividi su altri siti More sharing options...
MICHELESAMM Inserita: 17 luglio 2004 Autore Segnala Share Inserita: 17 luglio 2004 Mi correggo oltre a office nella libreria ho caricato anche "Microsoft Excel 8.0 Object library"comunque più precisamente nel premere il pulsante command1 la riga di codice che viene evidenziataè " getexcel(nomefile)"Ciao a presto... 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