Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [Builder c++ 6] Gestione richiami codice

    Ho scritto un codice (versione console) che legge all' infinito da un file di testo alcuni numeri.
    Quando trova per esempio il numero 10 e 12
    richiama un altro exe (sempre compilato da me in builder questa volta con form) in questo modo:
    ShellExecute( NULL, "open","visualizza.exe",visualizza,0, SW_HIDE);
    Passo all'altro exe in "visualizza" il numero e lui visualizza una form con l'immagine associata al numero.
    (tramite T-image)
    Poi quando il codice uno trova un altro numero (perchè va avanti all'infinito) chiudo l'exe e lo riapro subito con l'immagine nuova in questo modo:
    HWND hWindow = FindWindow(NULL, "visualizza");
    PostMessage(hWindow, WM_CLOSE, 0, 0);
    ShellExecute( NULL, "open","visualizza.exe",visualizza,0, SW_HIDE);
    E tutto funziona...
    Ma mi chiedevo non c'è un modo per modificare il t-image realtime mantenendo sempre il secondo exe aperto. (praticamente modifico solo il percorso dell'immagine , glielo passo e lui cambia immagine senza chidersi)?
    Ultima modifica di luigi.ghi67; 23-11-2013 a 09:51

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    non puoi usare i thread?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma non può fare tutto il programma "visualizza"? Ovvero cercare nel file e visualizzare?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da misterx Visualizza il messaggio
    non puoi usare i thread?
    Come si fa? mi spieghi? Non li ho mai usati....
    Se riesci postami anche un esempio per il mio caso... grazie!

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma non può fare tutto il programma "visualizza"? Ovvero cercare nel file e visualizzare?
    All'inizio pensavo anche io di fare un programma unico con form... ma quando mettevo il controllo infinito nel form_create per farlo partire alla creazione della form... alla visualizzazione della prima immagine , non riuscivo a muovere la finestra con il mouse.... era bloccata probabilmente perchè lavora il processo sul ciclo infinito while...

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    il metodo più banale è aggiungere all'interno del ciclo Application->ProcessMessage();

  7. #7
    Quote Originariamente inviata da misterx Visualizza il messaggio
    il metodo più banale è aggiungere all'interno del ciclo Application->ProcessMessage();
    me lo metti in un esempio pratico?
    Devo metterlo nell'applicazione 1 che richiama l'applicazione 2?
    non ho capto cosa fa e come fuziona... perchè cercando su google non ci capisco molto.... grazie!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    fai prima a postare il tuo codice, quello con la form

  9. #9
    PARTE PROGRAMMA 1 CONSOLE
    codice:
    int main() 
    {
        char visualizza2[3];
        int c=0;
    
    
            while(1)
            {
            ifstream OpenFile("file_numeri.txt");
            char visualizza[3];
            openFile>>visualizza;
            OpenFile.close();
            strcpy(visualizza2,visualizza);
            if(c>0)
            {
            if(strcmp(visualizza2,visualizza)!=0)
            {
            HWND hWindow = FindWindow(NULL, "visualizza");
            PostMessage(hWindow, WM_CLOSE, 0, 0);
            ShellExecute( NULL, "open","visualizza.exe",visualizza,0, SW_HIDE);
            c++;
            }
            }
            else
            {
                
            HWND hWindow = FindWindow(NULL, "visualizza");
            PostMessage(hWindow, WM_CLOSE, 0, 0);
            ShellExecute( NULL, "open","visualizza.exe",visualizza,0, SW_HIDE);
            c++;    
            }
            
            
            break;
    }
    PARTE PROGRAMMA 2 FORM

    codice:
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    
    
    Form1->Image1->Picture->LoadFromFile(ParamStr(2));
    
    }

  10. #10
    Programma 1 : Legge da un file di testo all'infinito una stringa (una sola) del tipo il file contiene solo una parola o un numero passo quel valore al programma 2 che visualizza un t-image

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.