Newsgroup: it.comp.appl.access
Titolo: [6/8 OT] Pilotare applicazione ms-dos da procedura Access

Su un pc con Xp Professional, dispongo di un vecchio programma dos per 
l'interrogazione di banche dati particolari
Vorrei, da una procedura Access, pilotare questo programma (quindi simulare 
la pressione dei tasti quando il focus e' nella finestra programma dos) e 
poi vorrei anche 'leggere' il risultato che la finestra restituisce.
Il programma dos serve per la visura catastale, quindi dopo avergli 
'sparato' i comandi necessari per lanciare l'interrogazione, vorrei andare a 
leggere il contenuto di alcuni campi e riportarli nella procedura Access
Come potrei operare per inviare / ricevere informazioni dal programma dos ?
Ciao e grazie
RobertoA

 ha scritto nel messaggio 
news:4897...@newsgate.x-privat.org...

per pilorare l'applicazione hai provato con sendkeys?
per recuperare i risultati..se sono a video la vedo dura...bisognerebbe 
salvare la schermata in formato immagine e costruitre una sorta di ocr...ma 
lo vedo un lavoraccio
ciao,
bfs

 ha scritto nel messaggio 
news:4897...@newsgate.x-privat.org...

Scusa ma il programma in dos si connette alle "banche dati particolari" o il 
formato dei dati è "particolare"?
Ciao.
-- 
Sergio MAZZA 

 il formato dei dati è "particolare"?
La prima delle due
Anche se non ho ben compreso cosa intendi per dati "particolari"
Quello che mi serve e' la lettura di alcuni campi che la schermata mi 
presenta dopo aver avviato l'interrogazione
E questi campi sono in formato alfanumerico
Ciao e grazie
RobertoA

 ha scritto nel messaggio 
news:4897...@newsgate.x-privat.org...

Quello che mi viene in mente sono due cose:
riscrivi il programma dos
fai il subclassing della finestra dos.
Se non vado errato utilizzando le Consoles hai la possibilità di scrivere e 
leggere da una finestra a caratteri quale è appunto una finestra DOS.
ReadConsole:
http://www.ex-designz.net/apidetail.asp?api_id=485
Spiegazioni sulle API Console: 
http://www.ex-designz.net/apicat.asp?apicat=11
Ciao, Carlo 

 RobertoA
Ciao.
-- 
Sergio MAZZA 

 DOS e Carlo ha indicato una via...
Si, ho visto, fin'ora mi sembra l'unica via possibile
Ciao e grazie
RobertoA



Il programma dos non si tocca, non abbiamo le conoscenze sul protocollo di 
comunicazione usato per riscriverlo
Non sapevo di queste api, credo possano essere sicuramente sfruttate, grazie 
mille
Ciao
RobertoA

 mille
Cmq se risolvi magari scrivi due righe sul metodo che hai usato;
poiché mi interessa; ed a quanto ho capito i metodi postati da Carlo
aprono una console e intercettano stdin e stdout. Nell'esempio c'è
l'input da parte di un utente, che viene catturato in un buffer "lato
vb" preventivamente dimensionato ed aperto.
Se tu devi usare il programma per fare consultazioni, e leggere dati
risultanti, avrei qualche dubbio sul fatto che possa essere
funzionale.
Eventualmente potresti provare con AutoIT se riesci a simulare le
funzioni "segna -> incolla" delle finestre DOS.
ciao,
Panathos

Eventualmente potresti provare con AutoIT se riesci a simulare le
funzioni "segna -> incolla" delle finestre DOS.
-----------------------
Si, per il pilotaggio in qualche modo ci si riesce
E' la lettura che prevedo essere la parte difficile
Ciao
RobertoA

 E' la lettura che prevedo essere la parte difficile
Se riesci a sfruttare -> segna -> copia, poi ti trovi uno stringone
nella clipboard di windows (con vbCrLf come separatore di righe). Su
sitocomune.com
 credo ci sia la funzione per copiare in una stringa vb
il contenuto testuale della clipboard di windows.
E se ottieni una stringa che "contenga" l'output del prg dos, puoi
parsarla per ricavare le info che ti servono... e qui la difficoltà
dipende da come è strutturato l'output del programma. Alle (molto)
brutte puoi ricorrere all'oggetto regexp del wsh... la parte più
difficile mi pare la prima, cioè arrivare ad ottenere lo stringone.
ciao,
Panathos