Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577

    [C#] Aiutino nel convertire da VB.NET a C#

    Buonasera a tutti.

    Chiedo aiuto a chi conosce il C#.

    Dovrei convertire un pezzo di codice da VB.NET a C# correttamente.

    In pratica ho già provato io, ma l'unico problema che mi rimane da risolvere si trova nella parte che vi sottolineo qui di seguito e che corrisponde all'errore:
    "Impossibile convertire in modo implicito il tipo 'double' in 'int'. E' presente una conversione esplicita. Cast Mancante."

    codice:
    double HorzSpace = 10;
    double VertSpace = 10;
    int bytes = bmpData.Stride * bmp.Height;
    byte[] rgbValues = new byte[bytes - 1];
    byte[] HB = new byte[12641];
    for (int y = 1; y <= 6; y++) {
                for (int x=1; x <= bmpData.Height -1; x++) {
                    HB = new byte[(9 * bmp.Width + ((y - 1) * bmp.Height) + x) = rgbValues = new byte[((Length * x) + (4 * VertSpace * y + 1) )]];
                }
    
            }
    Il codice originale in VB.NET invece è il seguente:

    codice:
    Dim HorzSpace As Integer = 10
    Dim VertSpace As Integer = 10
    Dim bytes As Integer = bmpData.Stride * bmp.Height
    Dim rgbValues(bytes - 1) As Byte
    Dim HB(12641) As Byte
    
    For y As Integer = 1 To 6
                For x As Integer = 1 To bmpData.Height - 1
                    HB(9 * bmp.Width + ((y - 1) * bmp.Height) + x) = rgbValues((Length * x) + (4 * VertSpace * y + 1))
                Next
    Next


    Grazie infinite.

    Lucia

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Prima di tutto queste non devono essere double ma int

    codice:
    int HorzSpace = 10;
    int VertSpace = 10;
    e poi la riga

    codice:
    HB[9 * bmp.Width + ((y - 1) * bmp.Height) + x] = rgbValues[(Length * x) + (4 * VertSpace * y + 1)];
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Grazie Oregon.

    Mi diresti un'ultima cosa se non ti scoccia ?

    per tornare indietro alla chiamata della funzione l'array HB, a livello di sintassi, lo scrivo semplicemente così:
    codice:
    return HB;
    ?


    Grazie ancora

    Lucia

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Sì ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    e purtroppo non va !

    Mi da sempre quel maledetto errore.

    Sulla frase "return HB;" mi evidenzia in rosso solo "HB", dicendomi "Impossibile convertire implicitamente il tipo byte[] in byte.

    Grazie ancora e ti chiedo scusa...

    Lucia

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se la funzione restituisce un array di byte allora va bene. Se restituisce un byte allora no.

    Dove sarebbe questa funzione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Risolto !

    Avevo dichiarato la funzione così:

    private byte nomefunzione() {

    e non così:

    private byte[] nomefunzione() {

    Grazie mille comunque Oregon.


    P.S.
    Sono stata coinvolta in un nuovo progetto in C# (linguaggio per me nuovo), quindi mi sa che in futuro ti scoccerò ancora Oregon.

    Buona notte.

    Lucia

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da lucisetti
    private byte[] nomefunzione() {
    Immaginavo ...

    ti scoccerò ancora Oregon.
    Notte ... in ogni caso, tu fai le domande ... qualcuno risponderà (anche se non io ...).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.