Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao oggi ho studiato il comando exec e finche voglio avviare file eseguibili(.exe) non ho nessuno problema.
Adesso ho due domande:
Se il file eseguibile non è un file che tutti i pc hanno, cosa devo fare per farlo avviare anche in altri pc. Mi spiego se il file .exe l'ho creato io e quindi un secondo pc non ha questo file, cosa devo fare ? Devo aggiungerlo io?
Seconda domanda:
Per avviare file non .exe , quindi ad esempio file jpg che comando devo fare? Potreste farmi un esempio.
Grazie mille
Mi spiego se il file .exe l'ho creato io e quindi un secondo pc non ha questo file, cosa devo fare ? Devo aggiungerlo io?
Esatto. La procedura exec ti permette di avviare l'esecuzione di un eseguibile.
Il file eseguito può deve, ovviamente, essere un file accessibile del computer (quindi, in pratica deve essere presente sul disco del computer, e su sistemi Linux devi avere anche i permessi di esecuzione).
Quindi se vuoi distribuire un programma in internet e vuoi fare eseguire da questo un secondo programma devi per forza fornire questo secondo eseguibile assieme al primo e devi passare alla procedura il suo percorso come primo argomento.
Testo quotato
Per avviare file non .exe , quindi ad esempio file jpg che comando devo fare? Potreste farmi un esempio.
Qui non ho capito bene che intendi.
Se stai chiedendo "posso eseguire, come processo file non .exe" la risposta è sì, basta che il file che tenti di avviare sia un file che contenga un processo.
Esempio: Se io creassi un file mioprogramma.exe e lo rinominassi con nome mioprogramma.png potrei chiamare
Codice sorgente - presumibilmente Plain Text
exec('mioprogramma.png', '');
e ciò avviere il mio programma.
Pensa che windows prevede anche eseguibili che non hanno esensione .exe, ad esempio .com o .msi o anche altri.
Se invece mi stai chiedendo come fare a aprire un file ".jpg", cioè come "simulare un doppio clic sopra", allora il discorso è diverso.
Puoi "simulare un Apri" utilizzando le API dei vari sistemi operativi.
Ciao grazie mille per la risposta.
No io mi riferivo se era possibile far partire un'immagine o qualcosa che non sia eseguibile. In questo programma che sto creato dovrei far partire una foto in jpg.. Come potrei fare..
Grazie ancora.
Edit
Ho trovato il modo *_*. spiego a tutti coloro che non sanno il modo. Il comando per una immagine è il seguente
Quindi se è un immagine dobbiamo prima mettere un programma che permette di visualizzare l'immagine.. potremmo usare anche un altro Visualizzatore . E nel secondo codice mettere invece l'indirizzo del file immagine. Stessa cosa ad esempio per un Mp3. Mettiamo cosi:
Codice sorgente - presumibilmente Plain Text
Exec('C:\%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe','C:\musica.mp3');
Spero di essere stato chiaro
Ultima modifica effettuata da mirco95 il 11/03/2012 alle 16:48
ShellExecute in questo caso(dato che il secondo parametro è 'open') apri il file immagine.png con la applicazione predefinita di sistema.
La descrizione dettagliata la trovi qui : http://msdn.microsoft.com/en-us/library/windows/desktop/bb ... E' inclusa nella unit shellapi e forse anche nella unit windows.
Non sto usando windows e non ho voglia di riavviare per controllare.
Se vuoi usare exec però potresti anche non usare MS Paint ma il visualizzatore di immagini di windows.
Il comando dovrebbe essere
ShellApi mi pareva fosse una libreria standard del FreePascal Compiler. E dev-pascal dovrebbe essere basato su fpc.
Controlla nella configurazione del compilatore che cerchi le units anche in <directory del compilatore/<versione del compilatore>/units/i386-win32/winunits.
La unit windows invece non dovrebbe darti problema. Mi ricordo di averla usata quando ho provato dev-pascal.
Non so se il pascal standard metta a disposizione delle funzioni per i file bmp. Io le ho trovate. Ad ogni modo puoi usare le API windows che la unit windows ti mette a disposizione.
Provo a scrivere un programmino di esempio.
A te interessa un programma che visualizzi un'immagine ?
Ultima modifica effettuata da Phi il 16/03/2012 alle 13:40
Ciao io vorrei che l'immagine si visualizza senza nessun'altra cosa. Mi spiego:
Se io la faccio aprire con Paint mi si visualizza questa parte (quarda il file che ho allegato).Quindi a me intresserebbe far visualizzare SOLO l'immagine. Ciao e grazie ancora
Certo, perché esegui il programma.
Io ti consiglio di creare una tua finestra. Puoi usare la unit suppwingraph di Saladino(la trovia qui sul sito) oppure potresti modificare questo programma:
Codice sorgente - presumibilmente Delphi
program mostrabitmap;
uses Windows;
const
nomeclasse ='MostraBmpClass';
nomefile:pchar='< nome della tua immagine >';
procedure disegnaimmagine(var dc : hdc; larghezza, altezza :longint);