|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[.Net]Conversione da C# a VB.Net
Ciao a tutti
Devo utilizzare una libreria che mi sono fatto in C# in un progetto Vb.Net Messo il reference al progetto, devo ora richiamare un metodo che in C# è: Codice:
GUIResource.FormDialog fd = new GUIResource.FormDialog(10); System.Threading.Thread t = new System.Threading.Thread(fd.WaitMessage); t.Start(); Codice:
Dim fd as New GUIResource.FormDialog(10) Dim t as New System.Threading.Thread(fd.WaitMessage) t.Start() Codice:
Expression does not produce a value RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Come non detto:
Codice:
Dim t as New System.Threading.Thread(AddressOf fd.WaitMessage)
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Si, in effetti è molto più pratico Ne approfitto visto che sei qui Ma si può fare anche il contrario? Cioè, in considerazione del fatto che in vb.net ci sono moltissime funzioni matematiche già pronte e disponibili, di più semplice implementazione ed utilizzo, potrei anche farmi la mia class library in vb da usare in soluzioni c# ? Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Ammetto di non aver sperimentato questo fatto in tutte le possibili vie, ma posso dirti che recentemente ho usato in un progetto VB.NET diverse dll, abbastanza complesse, create in C# senza problemi. La stessa iTextSharp si può usare benissimo in VB.NET. Se alludi allo spacename Math ( Math.Abs, Math.Acos, ecc... ), è disponibile anche in C#. In ogni caso, nessun problema. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ottima cosa !
Lo dico perchè spesso per trattare i dati a livello di form tra vb.net e c# c'è differenza, nel senso che nel primo fortunatamente non si devono specificare molti cast (per es. un valore che dev'essere intero può essere tranquillamente letto come txtQualcosa.Text, senza fare int.Parse(blabla)) Per le funzioni matematiche ho fatto un pò di confusione, alludevo a diverse funzioni per la manipolazione delle date. Credo quindi che mi semplifico la vita lasciandomi soltanto la gestione della UI con Vb. ....Una domandina al volo per evitare di aprire un altro 3d: Te ne intendi dello strumento per i report integrato in visual studio ? (ReportViewer). Se si, cercavo un modo per preservare delle formule presenti nel report quando lo esporto in excel, ma non ho ancora trovato una soluzione.... Grazie ancora RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Io sono tra quelli ( molti ) che considerano un certo cast implicito come una gran comodità, e non un difetto. Molti invece storcono il naso. Beh, non ne hanno motivo. In realtà c'è un modo molto semplice per impedire a VB.NET di passare per buona una cosa come : Codice:
Dim a As Integer = TextBox1.Text Quote:
No, ReportViewer non l'ho mai usato. Perchè, esporti su Excel e perdi le formule ? |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
(essendo sostanzialmente una libreria per facilitare il passaggio dal VB6 al VB.Net)PS: namespace PS2: Che c'è di male nell'universale DateTime? Ultima modifica di ||ElChE||88 : 28-09-2009 alle 19:23. |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Di nascosto, ma lo usano. Ho scritto 2 volte spacename ! Vabbeh, la stanchezza... DateAndTime.DateDiff(), ad esempio... DateTime.DateDiff() la vedo un po' dura...
|
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
Che cosa fa che non si possa fare con DateTime e TimeSpan? |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
La mia risposta va semplicemente incontro alla richiesta di RaouL_BennetH, quando dice : ...in considerazione del fatto che in vb.net ci sono moltissime funzioni matematiche già pronte e disponibili... poi corretto in funzioni per manipolare date. Che piaccia o no, DateAndTime fornisce molte funzioni comodissime, con buona pace degli integralisti del C#. |
|
|
|
|
|
|
#12 | ||||
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Quote:
Quote:
L'esportazione dei dati avviene correttamente, soltanto, cercavo un modo per dire ad excel di copiarsi le stesse formule contenute nel report viewer in modo da semplificare la vita all'utente una volta esportati i dati e non costringerlo a rifarsele nelle celle di pertinenza.. Per : Quote:
Ce ne sono alcuni però che non rispondono completamente alle loro richieste e quindi, considerando che: 1) Me la cavicchio con C# ma non con VB.Net 2) Il programma suddetto è scritto in VB.Net e ci sono i sorgenti 3) Una parte del programma l'ho riscritta appunto in C# seguendo i miei criteri, con risultato appunto della Dll che poi referenzio in questo programma. 4) Sinceramente, se c'è una perfetta integrazione tra i due linguaggi, mia personalissima opinione, non vedo perchè non utilizzarla laddove possa semplificare qualcosa. 5) MA NON MENO IMPORTANTE (anche se ce la sto mettendo tutta per diventarlo RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
Ultima modifica di RaouL_BennetH : 28-09-2009 alle 22:16. |
||||
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
Lo sapete, vero, che con DateTime e TimeSpan si può usare operatori come - e +? |
|
|
|
|
|
|
#14 | |||
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
Dim appExcel As New Excel.Application
Dim WB As Excel.Workbook = appExcel.Workbooks.Open(percorso & nomeFile)
Dim WS As Excel.Worksheet = WB.Worksheets("Foglio1")
WS.Select()
'Scrittura di una Formula
WS.Range("C1").Formula = "=SOMMA(A1;B1)"
Dim appExcel As New Microsoft.Office.Interop.Excel.Application Codice:
Dim WB As Microsoft.Office.Interop.Excel.Workbook = appExcel.Workbooks.Open(percorso & nomeFile)
Dim WS As Microsoft.Office.Interop.Excel.Worksheet = WB.Worksheets("Foglio1")
WS.Select()
'Scrittura di una Formula
WS.Range("C1").Formula = "=SOMMA(A1;B1)"
Quote:
Quote:
http://www.hwupgrade.it/forum/showpo...83&postcount=6 |
|||
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
E' che io l'ho spiegato molto male
Il fatto è che il report che viene generato, non ha un numero di colonne prefissato, quindi, non ho modo di assegnare formule perchè non so a monte la posizione delle celle che dovrebbero 'ospitarla'
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:29.












(
(anche se ce la sto mettendo tutta per diventarlo








