Iscriviti
Pagina 1 di 2 12 Ultima
  1. #1

    Come distribuire un'applicazione C#?

    Salve sono nuovo nel settore e ho appena creato una morra cinese davvero stupida in C#, volevo sapere, una volta compilata e debuggata, che file devo distibuire con il download? tutta la cartella release che contiene un eseguibile e un file pb oppure solo l'eseguibile? grazie.

  2.  

  3. #2

    Prima di tutto devi impostare il modo di compilazione anzichè in "debug" ma in "release" e poi basta solo l'eseguibile con il nome che hai dato al tuo programma (niente svchost ecc.). Gli altri file non ti devono interessare.
    "All dwarves may be bastards, yet not all bastards need be dwarves."

  4. #3

  5. #4

  6. #5

    Citazione Originariamente Scritto da guardian2 Visualizza Messaggio
    Anche le dll che hai usato devi mettere nel download

    Dove le trovo?

  7. #6

    Funzionare funziona ma è proprio un programma elementare! Comunque penso buono visto che da quanto ho letto negli altri post sei agli inizi.

    Mi sono permesso di analizzare il codice, visto che credevo, dato che sei agli inizi, ti potesse far piacere essere corretto in modo tale che tu potessi migliorare.
    Allora, hai fatto una cosa molto buona, ovvero hai adoperato lo switch anzichè 300 if. Però, secondo le mie conoscenze hai sbagliato qualcosina nella forma.

    Ho usato reflector quindi non so se il codice che ho letto rispecchi l'originale al 100%.

    Ho notato che anche all'interno dello stesso switch hai utilizzato ha volte break, altre return. In 2 swith oltretutto hai messo in fondo un'azione che avevi già messo prima dello switch stesso. Quindi puoi anche cancellarli perchè superflui.

    L'ultima cosa, ma non per importanza, rinomina tutti i controlli. Io dò tanto valore a questa cosa anche se alcuni sia per piccoli che per grandi programmi non li rinominano. Credo sia una questione di principio. L'ordine dà sempre buoni risultati .

    Spero di averti chiarito qualche idea. Comunque hai fatto un buon lavoro.
    Quasi mi dimenticavo, la grafica fa pena!

    P.S: Per le dll non importa! Ovvero a questo punto del tuo percorso non ti devono interessare più di tanto. Quando comincierai a creare le tuo proprie dll allora dovrai allegarle all'eseguibile se questo vi fa riferimento. Per tutte le altre dll (intedo quello del framework) dovrebbero averle tutti i computer installate (o per lo meno quello che hanno il framework net).
    Ultima modifica di Tyrion Lannister; 8/07/12 alle 19:56
    "All dwarves may be bastards, yet not all bastards need be dwarves."

  8. #7

    Citazione Originariamente Scritto da Tyrion Lannister Visualizza Messaggio
    Funzionare funziona ma è proprio un programma elementare! Comunque penso buono visto che da quanto ho letto negli altri post sei agli inizi.

    Mi sono permesso di analizzare il codice, visto che credevo, dato che sei agli inizi, ti potesse far piacere essere corretto in modo tale che tu potessi migliorare.
    Allora, hai fatto una cosa molto buona, ovvero hai adoperato lo switch anzichè 300 if. Però, secondo le mie conoscenze hai sbagliato qualcosina nella forma.

    Ho usato reflector quindi non so se il codice che ho letto rispecchi l'originale al 100%.

    Ho notato che anche all'interno dello stesso switch hai utilizzato ha volte break, altre return. In 2 swith oltretutto hai messo in fondo un'azione che avevi già messo prima dello switch stesso. Quindi puoi anche cancellarli perchè superflui.

    L'ultima cosa, ma non per importanza, rinomina tutti i controlli. Io dò tanto valore a questa cosa anche se alcuni sia per piccoli che per grandi programmi non li rinominano. Credo sia una questione di principio. L'ordine dà sempre buoni risultati .

    Spero di averti chiarito qualche idea. Comunque hai fatto un buon lavoro.
    Quasi mi dimenticavo, la grafica fa pena!

    P.S: Per le dll non importa! Ovvero a questo punto del tuo percorso non ti devono interessare più di tanto. Quando comincierai a creare le tuo proprie dll allora dovrai allegarle all'eseguibile se questo vi fa riferimento. Per tutte le altre dll (intedo quello del framework) dovrebbero averle tutti i computer installate (o per lo meno quello che hanno il framework net).
    Ovvio che non mi sono occupato della grafica
    Comunque guarda che non so cosa hai combinato con reflector XD ma il codice che mi hai detto tu non corrisponde al mio... o meglio, prima avevo utilizzato degli switch per verificare il true o false, ma poi ho realizzato che era totalmente inutile, infatti guarda il codice:
    Codice:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    
    namespace Morra_Cinese
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
    
            
            
    
    
            private void btnCarta_Click(object sender, EventArgs e)
            {
                Random r = new Random();
                int a = r.Next(1, 4);
                
                textBox1.Text = "Carta";
                if ( a == 1)
                {
                    textBox2.Text = "Carta";
                    MessageBox.Show("Tu: carta; PC: carta - Hai pareggiato!");
                }
                else if (a == 2)
                {
                    textBox2.Text = "Forbice";
                    MessageBox.Show("Tu: carta; PC: forbice - Hai perso!");
                }
                else if (a == 3)
                {
                    textBox2.Text = "Sasso";
                    MessageBox.Show("Tu: carta; PC: sasso - Hai vinto!");
                }
    
    
                
                
            }
    
    
            private void btnForbice_Click(object sender, EventArgs e)
            {
                Random r = new Random();
                int a = r.Next(1, 4);
    
    
                textBox1.Text = "Forbice";
                if (a == 1)
                {
                    textBox2.Text = "Carta";
                    MessageBox.Show("Tu: forbice; PC: carta - Hai vinto!");
                }
                else if (a == 2)
                {
                    textBox2.Text = "Forbice";
                    MessageBox.Show("Tu: forbice; PC: forbice - Hai pareggiato!");
                }
                else if (a == 3)
                {
                    textBox2.Text = "Sasso";
                    MessageBox.Show("Tu: forbice; PC: sasso - Hai perso!");
                }
                textBox1.Text = "Forbice";
            }
    
    
            private void btnSasso_Click(object sender, EventArgs e)
            {
                Random r = new Random();
                int a = r.Next(1, 4);
    
    
                textBox1.Text = "Sasso";
                if (a == 1)
                {
                    textBox2.Text = "Carta";
                    MessageBox.Show("Tu: sasso; PC: carta - Hai perso!");
                }
                else if (a == 2)
                {
                    textBox2.Text = "Forbice";
                    MessageBox.Show("Tu: sasso; PC: forbice - Hai vinto!");
                }
                else if (a == 3)
                {
                    textBox2.Text = "Sasso";
                    MessageBox.Show("Tu: sasso; PC: sasso - Hai pareggiato!");
                }
                textBox1.Text = "Sasso";
            }
    
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
    
            }
    
    
            
        }
    }
    Come vedi ho solamente inserito un valore random per numero da 1 a 3 e ho messo in ogni pulsante:
    SE esce 1 significa carta e hai vinto o perso e cosi via..

    Avrei potuto benissimo inserire 3 switch per 3 pulsanti, ma il risultato è uguale..

    PS: Curiosità... il valore random l'ho dovuto ripetere perchè se lo dichiaravo fuori dalla classe mi dava un errore nel senso che nn potevo dichiararlo O.o

    PPS: Lo switch lo conosco molto bene e l'ho utilizzato quando ho realizzato di poter fare una calcolatrice in maniera facile, assegnando ad ogni operatore il proprio simbolo : esempio:
    pulsante +:
    theOperator = "+";
    pulsante -:
    theOperator = "-";


    così ad ogni click di pulsante, se per esempio cliccavo su +, la variabile mi diventa "+" e percio con lo switch 2+2 fa 4.
    lo switch l'ho applicato nel codice del pulsante uguale nel quale verificato i diversi casi:
    switch(theOperator)
    {
    case "+":
    //addiziono il primo totale con il secondo totale
    break;
    case "-":
    //sottraggo
    break;

    voila.
    //
    Ultima modifica di RuggeriExtreme; 8/07/12 alle 21:24

  9. #8

    Se mi permetto aggiungo altre due cose al discorso di Tyrion nel bottone sasso e forbice hai scritto due vlte all'inziio e alla fine l'istruzione per settare il testo alla textbox 2 xD cosa che per la carta non hai fatto xD in questo caso è una distrazione quindi fa niente e poi l'evento form_load è vuoto si puù anche cancellare niente errori anche se voglio rivolgere una domanda a Tyrion:
    Cosa cambia tra break e return?
    Citazione Originariamente Scritto da Banana Nutriente Visualizza Messaggio
    perchè vi fate i cannoni senza chiamarmi? ç_ç
    Citazione Originariamente Scritto da DarkScorp Visualizza Messaggio
    infatti;puoi prendere anche un client di metin2 normale e mettere drop corazza liv 9 +7 50% etc... cosi via è per quello!

  10. #9

    Purtroppo non sono molto bravo a spiegare quindi ti faccio un copia e incolla
    Break
     

    L'istruzione break termina il ciclo di inclusione più vicino o l'istruzione switch in cui è contenuta.Il controllo viene passato all'istruzione che segue l'istruzione terminata, se presente.

    Return
     
    L'istruzione return termina l'esecuzione del metodo in cui è contenuta e restituisce il controllo al metodo di chiamata.Può anche restituire un valore facoltativo.Se il metodo è un tipo void, è possibile omettere l'istruzione return.Se l'istruzione return si trova in un blocco try, il blocco finally, se esistente, verrà eseguito prima che il controllo ritorni al metodo chiamante.

  11. #10

    Allora ok Ruggeri.

    Comunque per la dichiarazione del random dipende dove lo hai messo.
    Fuori dalla classe è ovvia che ti dà errore. Se invece lo metti all'interno della classe del form ma all'esterno di un metodo dovrebbe funzionarti.

    Esempio:
    Codice:
    public class Pippo
    {
    
    private Random r; private void Pluto() {
    r = new Random ecc...
    } private void Topolino() {
    r = new Random ecc..
    }
    }
    "All dwarves may be bastards, yet not all bastards need be dwarves."

  12.  

Iscriviti
Pagina 1 di 2 12 Ultima

Ti consigliamo di leggere anche...

  1. PROBLEMA APPLICAZIONE [?]
    Di Crasher nel forum Android Applicazioni e Giochi
    Risposte: 0
    Ultimo Messaggio: 1/02/13, 09:58
  2. applicazione console c#
    Di as96it nel forum C#
    Risposte: 2
    Ultimo Messaggio: 25/08/12, 22:41
  3. vb.net applicazione si chiude?
    Di toothless nel forum VB / VB.NET
    Risposte: 7
    Ultimo Messaggio: 28/04/12, 13:47
  4. Applicazione Da comprare??
    Di Chedu nel forum Fuori Tema
    Risposte: 8
    Ultimo Messaggio: 26/11/10, 17:17

Sponsor

I visitatori sono atterrati su questa pagina cercando:

c# chiamata di un eseguibile

come distribuire un programma

distribuire un file exe fatto con c# 2010

come distribuire software

progetto distribuzione applicazione c#

c# file eseguibile

Accedi

Accedi