Esecuzione multipla

di il
14 risposte

Esecuzione multipla

Buonasera a tutti.
Solite mie domande assurde.

Vado nella mia cartella C:\...bin\Debug
ed eseguo il programma che ho fatto.

come si fa ad eseguire più volte lo stesso programma contemporaneamente?

grazie.

14 Risposte

  • Re: Esecuzione multipla

    Puoi lanciare più volte il tuo eseguibile come faresti con qualsiasi programma.

    Ma dato che hai premesso che la domanda eassurda, chiarisci
  • Re: Esecuzione multipla

    Pivello ha scritto:


    Vado nella mia cartella C:\...bin\Debug ed eseguo il programma che ho fatto.
    come si fa ad eseguire più volte lo stesso programma contemporaneamente?
    Come fai a lanciarlo una volta? Ecco, ripeti quell'operazione più volte.

    Scusa l'ironia, ma se invece di chiederci come raggiungere un obiettivo mal raccontato per una esigenza oscura, tu invece ti prodigassi a fornire più dettagli su questa, e magari la soluzione o lo strumento migliore te lo suggeriamo noi, non sarebbe meglio?
  • Re: Esecuzione multipla

    Hai presente quando "critichi" ogni mio messaggio?
    Quando ho scritto il messaggio breve e conciso pensavo mi avresti fatto i complimenti e invece
    se ti raccontassi come lavoriamo mi faresti bloccare da ogni sito "informatico"

    dove lavoro è una piccola realtà appezzottata. è una struttura con diverse società. Di servizi, medici e altro. e a seconda delle prestazioni dobbiamo fatturare a una o un altra società. un casino.

    Hai presente quando entri in qualche negozio, e oltre lo scontrino i commessi annotano su un quaderno lo scarico del prodotto venduto?


    Abbiamo 3 quaderni di contabilità. Cosi ho pensato di fare un form collegato a un file di testo tramite uno streamwriter per il momento.

    Solo che quando faccio doppio click sull eseguibile lo apre una volta sola.
    Ho provato a fare lo stesso con il consolle e si apre più volte.
    Quindi volevo capire dove sbagliavo.
  • Re: Esecuzione multipla

    È partito il messaggio senza volerlo. stavo continuando a scrivere.
    cmq ti chiederai perchè faccio questi pezzotti inutili. Lo so che non si programma cosi. Per anni ho acquistato libri di informatica. Mai letti. iniziavo. Ma lavoro e famiglia e "immaturità" e mancanza di volontà, chiudevo, e prendevano polvere. Ho iniziato con i mattoni fino ad arrivare ai tascabili. Ma il risultato era sempre lo stesso. Leggevo i primi capitoli massimo 3 e poi abbandonavo. Quando non capire una cosa non riuscivo ad andare oltre. Il mio è un ambiente medico. quindi nessun confronto.

    Ma poi il covid, i video su youtube e il vostro aiuto hanno acceso qualcosa dentro di me. e ho visto che il modo migliore per capire le cose è mettere in pratica le esigenze della vita reale.

    è iniziato tutto una sera. Dove un punto e virgola dopo il for mi ha messo in crisi come succedeva con i libri. Ma stavolta c'eravate voi. E per questo non smetterò mai di ringraziarvi.
  • Re: Esecuzione multipla

    Pivello ha scritto:


    cmq ti chiederai perchè faccio questi pezzotti inutili. [...]
    No, non me ne volere, ma onestamente non sono interessato alla vita e alle vicissitudini di qualsiasi utente di questo forum, fatto salvo per le persone che conosco in prima persona o con le quali, per svariati motivi, ho un rapporto privilegiato.

    Quello che vorrei trovare in una discussione è qualcuno che propone un problema interessante da affrontare, e vedere come risolverlo assieme posto che - avendo bisogno d'aiuto - chi ha il problema non inizi ad abbozzare sentenze frastagliate di classi che ha pensato o di mezzi ragionamenti, ma che scriva quello che vuole fare, esponga chiaramente i propri dubbi pensando a ciò che gli altri non possono capire se non viene detto, quindi immedesimandosi anche nella testa di quelle persone che decidono di dedicare parte del proprio tempo libero a dare loro una mano.

    Tant'è vero che siamo arrivati di nuovo a questo punto e del problema specifico si è capito ancora poco, perché si è sprecato tempo a scrivere (da parte tua) e a leggere (da parte mia e di altri) informazioni che non interessano a nessuno e che, personalmente, non penso siano di alcun aiuto.

    Ripartiamo quindi da zero: tralasciamo cosa hai mangiato oggi, tralasciamo qual è l'albero gerarchico della società per cui lavori, e definiamo a livello tecnico e senza fronzoli cosa fa questo programma, cosa dovrebbe fare e perché si pensa di risolvere il problema lanciandolo più volte. Tutto il resto non mi interessa (e d'ora in poi verrà ignorato).

    Ciao!
  • Re: Esecuzione multipla

    [/quote]
    ... cosa fa questo programma, cosa dovrebbe fare e perché si pensa di risolvere il problema lanciandolo più volte.
    [/quote]
     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            StreamWriter registro;
            private void textBox1_DoubleClick_2(object sender, EventArgs e)
            {
                registro = new StreamWriter("registro" + textBox2.Text + ".txt", true);
                registro.AutoFlush = true;
                registro.WriteLine(textBox1.Text);
                registro.Close();
            }
        }
    ho fatto questa prova. per non dover digitare 1, 2 o 3 nel textbox2 ogni volta, volevo aprire 3 volte il programma la mattina, digitare 1 2 e 3 nelle rispettive form.

    questo funziona aprendo più volte il file exe.

    Ma quello più completo perchè allora non funziona?
    non sono geloso del mio codice, anzi. ma come faccio a copiare e incollare tutto?
    c'è un api in cui ho salvato delle classi. e poi sono metodi e funzioni semplici.
    solo che quando faccio doppio click sul file eseguibile mi apre solo un istanza.
  • Re: Esecuzione multipla

    Premesso che sono d'accordo con Alka su tutte le questioni non relative al problema tecnico, se non mostri il codice di quello che non funziona, si continua a perdere tempo.
  • Re: Esecuzione multipla

    Pivello ha scritto:


    ho fatto questa prova. per non dover digitare 1, 2 o 3 nel textbox2 ogni volta, volevo aprire 3 volte il programma la mattina, digitare 1 2 e 3 nelle rispettive form.

    questo funziona aprendo più volte il file exe.
    Secondo me, ci sono diverse scelte che non sono corrette per la risoluzione del problema, quindi vado per punti.

    Innanzitutto, la scelta di creare un'applicazione Windows Forms: se l'interfaccia ti serve solamente per inserire un numero in una casella da utilizzare come parametro per l'esecuzione di una procedura, allora quella GUI è sprecata e si potrebbe tranquillamente farne a meno.

    Nel richiedere l'inserimento del parametro da interfaccia utente, stai rinunciando a una possibilità di automatizzare il processo in quanto uno dei parametri richiesti deve essere manualmente inserito dall'utente.

    Suggerisco quindi a questo scopo di creare una applicazione di tipo Console, tralasciando Windows Forms.

    In questo modo, non hai alcun Form da gestire ed eventi da attendere inutilmente per poter eseguire la procedura.

    Ogni applicazione .NET consente poi di specificare parametri in fase di lancio, che puoi recuperare dal parametro args[] del metodo Main sulla classe Program.

    Puoi quindi prevedere la possibilità di indicare il valore del parametro su cui si basa la procedura, ossia quello che stavi inserendo dal Form, acquisendolo direttamente dalla riga di comando e specificandolo pertanto come argomento in fase di lancio dell'eseguibile.

    Non potrai ovviamente avviare il tuo programma con un doppio clic, in quanto lanceresti l'eseguibile senza indicare il valore di questo parametro, ma nulla ti vieta di crearti dei file batch o degli script PowerShell che si possano cliccare e avviare, e che vadano a chiamare il tuo programma con il giusto valore del parametro che normalmente inseriresti a mano tramite TextBox, mentre ora viene preso automaticamente dall'esterno, dall'invocazione del programma stesso.

    Quando dici che esegui i programmi "tre volte ogni mattina per tre contesti diversi", direi che puoi sostituire questa azione con l'avvio di tre script appositamente progettati per chiamare l'eseguibile con il parametro corretto, oppure - ancora meglio - se vuoi automatizzare l'operazione, puoi .

    Riassumendo il tutto, togli la GUI che non serve ed elimina il passaggio manuale con cui specifichi il parametro che occorre alla tua procedura; successivamente, crei la possibilità di prendere tale valore dall'esterno, e alla fine automatizzi il tutto pianificando l'esecuzione del programma (una, due, tre, infinite) indicando il valore del parametro direttamente nel comando da eseguire, o lanciando script che fanno questa cosa.

    Studia i link riportati sopra per sapere come fare nel dettaglio.
    In caso di dubbi, chiedi.

    Ciao!
  • Re: Esecuzione multipla

    Pivello ha scritto:


    c'è un api in cui ho salvato delle classi.
    P.S.

    Questa frase non ha alcun senso: se usi dei termini, assicurati che siano quelli corretti, altrimenti quello che vuoi esprimere non sarà mai comprensibile se tu chiami "lavandino" qualcosa che poi, alla fine di tutta una serie di ragionamenti sulle difficoltà incontrate a lavarsi la faccia, si scopre che realtà si trattava un bidet.

    Ciao!
  • Re: Esecuzione multipla

    Grazie per i consigli. E scusate sempre per il fastidio. Soprattutto a te Alka... sia grazie che scusa
  • Re: Esecuzione multipla

    Perché questi sarcasmo? Se vuoi risolvere proponi il codice vero
  • Re: Esecuzione multipla

    Oregon non è sarcasmo
    mi rendo conto che la mia "ignoranza" può infastidire.

    cmq ho capito qual'è il problema.

    create un form senza nessun controllo.
    ho agiunto l'using system.IO
    e dopo inizializecomponent ho creato lo streamwriter.

    andate nella cartella bin del debug e provate a eseguire più volte il file exe.

    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace provamulti
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                StreamWriter scrivi = new StreamWriter("registro.txt",true);
                scrivi.AutoFlush = true;
            }
        }
    }
    
  • Re: Esecuzione multipla

    Oregon io davvero mi sento un pesce fuor d'acqua.
    faccio solo pezzotti.
    scrivo codice senza senso solo per capire come funziona c#.
    So che dovrei prendere un libro in mano. e iniziare dall'inizio.
    Ma ho un età. Avevo un lavoro. Stamattina sono stato convocato dai nas per la questione vaccino.
    ho preso una sanzione. Per me questa è una distrazione.
    Secondo voi mi piace leggere le cazziate di Alka? no mi piace. Però ho bisogno delle sue cazziate. Mi fanno "crescere". E già lo immagino che si sta incazzando perchè sto scrivendo queste cose.

    Quindi Oregon non pensare che il mio è stato sarcasmo. Ma oggi non ci sto con la testa. E il codice è talmente scritto male che non ha senso postarlo.
    alla fine il problema dell'esecuzione multipla è perchè dichiaravo lo streamwriter in quel punto. perchè giustamente provava a creare un file aperto già da un altro processo.
    infatti se aggiungo la riga scrivi.close() funziona come sempre.

    Sono talmente stupide le mie domande che non ha senso scrivere il codice di un programma inutile.

    Scusate lo sfogo. Ma non era sarcasmo il mio. Solo il modo di chiudere questo post e ringraziarvi.
  • Re: Esecuzione multipla

    Pivello ha scritto:


    scrivo codice senza senso solo per capire come funziona c#.
    E' un po' come dire che impari il portoghese dicendo parole di questa lingua a caso.
    Interessante.

    Pivello ha scritto:


    So che dovrei prendere un libro in mano. e iniziare dall'inizio.
    A me basterebbe che tu dicessi chiaramente qual è l'obiettivo da raggiungere di volta in volta, in lingua italiana, e sapere quale codice hai scritto, a prescindere dal fatto che funzioni o meno, per analizzarlo e suggerire come modificarlo.

    Tutto il resto, come già detto, non serve e non importa.

    Pivello ha scritto:


    Ma ho un età. Avevo un lavoro. Stamattina sono stato convocato dai nas per la questione vaccino.
    ho preso una sanzione. Per me questa è una distrazione.
    Tutta questa roba non c'entra con il punto, e comunque guardacaso il tempo di scrivere tutti questi sermoni che non servono a nessuno lo trovi.

    Pivello ha scritto:


    Secondo voi mi piace leggere le cazziate di Alka? no mi piace. Però ho bisogno delle sue cazziate. Mi fanno "crescere". E già lo immagino che si sta incazzando perchè sto scrivendo queste cose.
    Primo punto: io non mi incazzo.
    Secondo: non cazzio nessuno.
    Terzo: se hai bisogno di cazziate, rivolgiti alla consorte, perché io nella vita faccio altro.
    Quarto: contrariamente a quanto dici, non cresci affatto, perché come vedi siamo di nuovo al punto di partenza (devo ammettere che ci casco sempre anche io, quindi quantomeno a non crescere e imparare qualcosa siamo in due).
    Quinto: se pensi che quello che scrivi faccia incazzare, perché giustamente non c'entra una fava col problema e non interessa a nessuno, ma perché lo scrivi? Questa non è una terapia di gruppo.

    Pivello ha scritto:


    Ma oggi non ci sto con la testa. E il codice è talmente scritto male che non ha senso postarlo.
    Ribadisco (per l'ultima volta): se chiedi aiuto qui, cosa vuoi fare e cosa hai scritto per farlo sono informazioni indispensabili.

    Se hai remore a spiegare il problema nel dettaglio e a mostrare il codice che hai scritto, allora tantovale che non chiedi aiuto e non fai perdere tempo a nessuno, e raccontare i tuoi problemi di vita per quanto spiacevoli non risolvono la questione.

    Pivello ha scritto:


    Sono talmente stupide le mie domande che non ha senso scrivere il codice di un programma inutile.
    Scusate lo sfogo. Ma non era sarcasmo il mio. Solo il modo di chiudere questo post e ringraziarvi.
    Infatti questo post si chiude esattamente come è iniziato: senza che si sia capito nulla del problema, senza che vi sia quindi una soluzione che possa essere utile anche a terzi, ma in compenso abbiamo un elenco completo di tutte le sfighe della tua settimana. Ci sarebbe da farne una rubrica...

    E con questo abbandono completamente sia la questione tecnica che la questione psicologica, sia la discussione.
    Tanto non è che si abbia una scelta...
Devi accedere o registrarti per scrivere nel forum
14 risposte