PDA

Visualizza la versione completa : Men¨ di selezione per DOS 6.22


superany
27-07-2006, 23:31
Ciao a tutti...

spero di postare in una zona giusta stavolta...

premetto che sono nuovo della programmazione C per DOS (non .net framework) e non conosco praticamente niente...

Chiedo il vostro aiuto per creare un piccolo programmino che per voi sicuramente sarÓ una stupidata...

io vorrei creare un programmino che avviato mi mostri una immagine bmp a 256bit dove ci sono illustrate delle istruzioni e:

premendo tasto 1 mi avvia un programma specificato in un qulunque file esterno (txt, cfg, etc...)

premendo tasto 2 mi avvia un secondo programma specificato ne sudetto file.

spero di essermi esaurientemente spiegato...

il programma funzionerÓ in DOS puro (6.22)

grazie per chiunque mi aiuti...

MItaly
28-07-2006, 08:21
Intanto devi procurarti un compilatore DOS, quindi devi studiarti un po' di C/C++ standard (che tra l'altro Ŕ sempre lo stesso, sia per DOS che per Windows che per Linux); credo che dovrai sudare sangue per la faccenda delle immagini, perchÚ non esistono funzioni standard per visualizzare immagini, e non so quanto si possano facilmente trovare librerie esterne che facciano questi lavori sotto DOS.

premendo tasto 1 mi avvia un programma specificato in un qulunque file esterno (txt, cfg, etc...)
premendo tasto 2 mi avvia un secondo programma specificato ne sudetto file.

Cosa significa avviare un programma "in un file"? Nel senso di passargli come parametro il file in questione?

il programma funzionerÓ in DOS puro (6.22)
Gloriosa versione! Avevo una macchina VMWare con DOS 6.22 e Windows 3.1 per Workgroup che andava perfettamente in Internet con una versione antica di TCP/IP e Netscape... :rollo:

Tobler
28-07-2006, 12:45
Finalmente posso rendermi utile in questo forum!!!

Guarda ti cosiglio di usare la libreria Allegro (allegro.cc (http://www.allegro.cc) non Ŕ il sito ufficiale ma Ŕ sicuramente pi¨ usabile e chiaro); pensa che io non sapendo nulla di programmazione grafica in una settimana avevo giÓ fatto delle cose carine.

Inoltre DJGPP (il link lo trovi nel sito di prima) Ŕ un compilatore dos che consigliano di usare in parallelo alla libreria sopra citata.

Spero di esserti stato utile.

superany
28-07-2006, 20:31
sapete per caro se Ŕ possibile decompilare questo file?? se Ŕ una cosa che si pu˛ fare...

Bitmap for DOS

@ MItaly

mi sono spiegato male io... cmq richiamando il percorso del programma "da un file"...

@Tobler

vedro di seguire anche i tuoi consigli...


grazie per adesso... vi faccio sapere...

superany
30-07-2006, 09:59
ciao ragazzi... ho trovato questo listato che credo faccia al caso mio...

#include "allegro.h" /* CARICA LA LIBRERIA ALLEGRO.H */

int main() /* INIZIO PROCEDURA */
{
BITMAP *immagine; /* DICHIARAZIONE VARIABILE IMMAGINE */
PALETTE colori; /* DICHIARAZIONE VARIABILE COLORI */

allegro_init(); /* INIZIALIZZA LA LIBRERIA ALLEGRO */
install_keyboard(); /* INSTALLA LA TASTIERA */

set_color_depth(32); /* IMPOSTA LA PALETTE DEI COLORI A 32 BIT */
set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0); /* IMPOSTA LA MODALITA' GRAFICA 800x600 */

immagine=load_bitmap("immagine.tga", colori); /* CARICA IL FILE IMMAGINE.TGA */
blit(immagine, screen, 0, 0, 0, 0, 800, 600); /* VISUALIZZA L'IMMAGINE SULLO SCHERMO */

destroy_bitmap(immagine); /* ELIMINA L'IMMAGINE DAL BUFFER PRIMA DI USCIRE DAL PROGRAMMA */

readkey(); /* LEGGE UN TASTO QUALSIASI DA TASTIERA */

allegro_exit(); /* TERMINA LA LIBRERIA ALLEGRO */
}
END_OF_MAIN (); /* FINE DEL PROGRAMMA */



questo per l'immagine... ma si pu˛ aggiungere che :

premendo il tasto 1 mi apre il programma chiamato primo.exe
premendo il tasto 2 mi apre il programma chiamato secondo.exe?

alka
30-07-2006, 16:01
Originariamente inviato da superany
sapete per caro se Ŕ possibile decompilare questo file?? se Ŕ una cosa che si pu˛ fare...

Ho rimosso il link; non Ŕ ammessa la richiesta di decompilazione di file eseguibili, peraltro di cui Ŕ sconosciuto l'autore.

superany
31-07-2006, 20:21
ciao a tutti... sono arrivato a questo punto...

qualcuno potrebbe correggermi il compitino?

#include <stdio.h>
#include "allegro.h" /* CARICA LA LIBRERIA ALLEGRO.H */
#include <unistd.h>

int main(int argc, char *argv[]) /* INIZIO PROCEDURA */
{
BITMAP *immagine; /* DICHIARAZIONE VARIABILE IMMAGINE */
PALETTE colori; /* DICHIARAZIONE VARIABILE COLORI */

allegro_init(); /* INIZIALIZZA LA LIBRERIA ALLEGRO */
install_keyboard(); /* INSTALLA LA TASTIERA */

set_color_depth(32); /* IMPOSTA LA PALETTE DEI COLORI A 32 BIT */
set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0); /* IMPOSTA LA MODALITA' GRAFICA 800x600 */

immagine=load_bitmap("immagine.bmp", colori); /* CARICA IL FILE IMMAGINE.TGA */
blit(immagine, screen, 0, 0, 0, 0, 640, 480); /* VISUALIZZA L'IMMAGINE SULLO SCHERMO */

destroy_bitmap(immagine); /* ELIMINA L'IMMAGINE DAL BUFFER PRIMA DI USCIRE DAL PROGRAMMA */
int scelta;
scanf("%d",&scelta);
switch (scelta)
{
case 1:
int execve ("./primo/primo.exe","-ds","d",NULL);
break;

case 2:
int execve ("./secondo/secondo.exe",NULL);
break;
}
readkey(); /* LEGGE UN TASTO QUALSIASI DA TASTIERA */

allegro_exit(); /* TERMINA LA LIBRERIA ALLEGRO */

return 0;
}


come faccio poi a compilarlo?

Loading