Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    [c# - vb.net] espressione matematica

    ciao, mi sono accorto che purtroppo ho postato il programmazione generale.. e non posso cancellare il messaggio spero che i moderatori mi perdonino..
    Devo stampare dei rettangoli su una pagina A4 (210mm), questi rettangoli hanno una larghezza variabile che ovviamente non supera i 200mm..
    Come faccio a calcolare la larghezza di X rettangoli da stampare in modo che la somma della larghezza di questi non superi i 200 mm e nel caso la superi vengano stampati i restanti su una riga diversa dalla prima?

  2. #2
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    giuro che non ci ho capito niente...
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Habanero
    giuro che non ci ho capito niente...
    uhm.. non sei il primo che me lo dice
    cmq cerco di essere + chiaro..
    devo disegnare dei rettangoli su un A4 (controllo printDocument evento printPage)..
    ho un ciclo for con un iteratore che indica il numero di rettangoli da disegnare.. La larghezza del rettangolo è impostata a priori e non cambia durante il ciclo, stessa cosa anche per l'altezza..
    vorrei poter disegnare all'interno del ciclo tanti rettangoli per quante volte ciclo controllando che se ad es. la somma dei rettangoli che disegno supera il limite di larghezza della pagina (ad. es. se i rettangoli misurano 50mm ne potrò disegnare solo 4 su una riga) allora passo alla riga successiva e così via..
    Spero di essere stato + chiaro..

  4. #4
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    supponendo che tutti i rettangoli condividano i lati (niente spazio di separazione) e che vengano stampati a partire dalle coordinate (0,0)

    codice:
    int N_box=           ;    //numero di rettangoli da stampare
    int L_pagina=        ;    //larghezza pagina
    int L_box=            ;   //larghezza rettangolo
    int H_box=            ;   //altezza rettangolo
    
    int N;                    // conterrà in numero di rettangoli per riga
    
    int px, py;        //posizione vertice superiore sinistro rettangolo corrente
    
    
    N=L_pagina/L_box;
    
    for (i=0; i<N_box; i++)
    {
      px=(i%N)*L_box;
      py=(i/N)*H_box;
    
      DisegnaBox(px,py,L_box,H_box);
    }
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Habanero
    supponendo che tutti i rettangoli condividano i lati (niente spazio di separazione) e che vengano stampati a partire dalle coordinate (0,0)

    codice:
    int N_box=           ;    //numero di rettangoli da stampare
    int L_pagina=        ;    //larghezza pagina
    int L_box=            ;   //larghezza rettangolo
    int H_box=            ;   //altezza rettangolo
    
    int N;                    // conterrà in numero di rettangoli per riga
    
    int px, p;        //posizione vertice superiore sinistro rettangolo corrente
    
    
    N=L_pagina/L_box;
    
    for (i=0; i<N_box; i++)
    {
      px=(i%N)*L_box;
      py=(i/N)*H_box;
    
      DisegnaBox(px,py,L_box,H_box);
    }
    uhm.. grazie.. scusa ma non ho capito questo:

    int px, p; //posizione vertice superiore sinistro rettangolo corrente;
    come faccio a calcolare la posizione del rettangolo corrente se per rettangolo corrente intendi quello che vado a disegnare ad es. nella seconda iterazione o terza, quarta, quinta etc?

    p non lo vedo valorizzato nè usato..
    (i%N) scusa l'ignoranza ma cosa significa?

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aspè aspè.. ma tu con questo codice modifichi anche la larghezza dei rettangoli.. cosa che non devo assolutamente fare.. i rettangoli hanno una dimensione W e H predefinita.. e se la larghezza di un rettangolo è tale da non poter disegnare ulteriori rettangoli nella stessa riga allora si passa alla riga successiva.. non devo ridimensionare i rettangoli in base al numero di rettangoli che voglio far andare in una riga..

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ok ok.. ho detto una enorme cazzata (passatemi la parolaccia )
    ho anche capito che quel p stà per py
    Grazie mille

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    mai usato l'operatore %.. c'è sempre una prima volta

  9. #9
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    p l'avevo corretto con py....
    per la funzione Disegnabox faccio l'ipotesi che disegni un rettangolo di dimensioni L_box * H_box a partire da (px,py) angolo superiore sinistro.

    % è l'operatore modulo, overo restituisce il resto della divisione tra interi... questo in C ovviamente. In altri linguaggi non so... a volte è indicato come MOD.


    1%4=1
    2%4=2
    3%4=3
    4%4=0
    5%4=1
    6%4=2
    7%4=3
    8%4=0
    ....
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Habanero
    p l'avevo corretto con py....
    per la funzione Disegnabox faccio l'ipotesi che disegni un rettangolo di dimensioni L_box * H_box a partire da (px,py) angolo superiore sinistro.

    % è l'operatore modulo, overo restituisce il resto della divisione tra interi... questo in C ovviamente. In altri linguaggi non so... a volte è indicato come MOD.


    1%4=1
    2%4=2
    3%4=3
    4%4=0
    5%4=1
    6%4=2
    7%4=3
    8%4=0
    ....
    ok grazie mille si si anche in c# si usa % solo che non ho ben capito.. cosa significa che restituisce il resto?

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.