Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Problema con shell

Io utilizzo, in un mio programma, l'istruzione shell in questo modo
Shell "START """ & strFileName & """", vbMaximizedFocus
per aprire un documento di testo appena creato.
Se il nome del file contenuto in strFileName č c:\comuni.txt allora si avrą
Shell "START "c:\comuni.txt"", vbMaximizedFocus
ma genera un errore...
Il bello č che err.description me lo ritrovo come stringa vuota...
La chiamo da una classe; Il file di testo ha circa 14000 righe, ma riesco ad
aprirlo senza tanti problemi cliccandoci sopra...
Qualche suggerimento?
Grazie!
SebaMix

> Il bello č che err.description me lo ritrovo come stringa vuota...
Questo l'ho risolto...
Avevo messo on error goto 0 prima del msgbox con err.description.
Adesso mi dice "Impossibile trovare il file", ma il file c'č!
Aiuto!!!
Grazie
SebaMix

 Adesso mi dice "Impossibile trovare il file", ma il file c'č!
controlla il percorso che gli passi nella stringa.

Ciao SebaMix,
il problema dovrebbero essere tutti quei doppi apici. 
Ho fatto delle prove con : 
    Shell "Notepad d:\prova.ini",  vbMaximizedFocus
e funziona. 
Ciao, Vito
-- 
Posted from [62.110.54.51] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 controlla il percorso che gli passi nella stringa.
Ciao Pal.
Il percorso ed il resto che gli passo č OK.
Il file si trova in C:\Comuni.txt e la stringa contiene proprio
c:\comuni.txt...
Sigh

 Ciao, Vito
CiaoZ CiaoZ


 SebaMix
Il problema sono i doppi apici.
O non li usi, quindi fai
        Shell "START c:\comuni.txt", vbMaximizedFocus
oppure se li devi usare, ricordati che dentro una stringa VB i doppi apici
vanno doppi, quindi
        Shell "START ""c:\comuni.txt""", vbMaximizedFocus
Ciao
Sir Jo

 Sir Jo
CiaoZ!!!!!
SebaMix

Ho provato con un progetto nuovo, ma non mi apre sto maledetto file!
Shell "START ""c:\comuni.txt""", vbMaximizedFocus
e
Shell "START c:\comuni.txt", vbMaximizedFocus
Non ne vogliono sapere di funzionare!
Sigh...
CiaoZ
SebaMix

forse le triple virgolette... io di solito metto il contenuto da passare a
Shell, in una variabile stringa, cosě la posso controllare.
mario

SebaMix, ciao
io ho fatto delle prove per farti eliminare gli apici. Se leggi il file con
notepad
vuol dire che come minimo il file lo trova. Per far si che il "tuo"
programma legga
il file devi utilizzare la variabile command$ al suo interno.
Esempio
Public Sub ApriFile()
dim sFileName as String
sFileName = Command$
Open sFileName For Input as #1
....
....
End Sub
Ciao Vito


 Shell "START "c:\comuni.txt"", vbMaximizedFocus
alt.
non credo tu possa fare "shell pippo.txt". shell lancia gli exe.
prova a usare shellexecute. la sintassi e' in vari post vecchi, se non la
trovi te la cerco.

Ciao SebaMix,
scusa ma in un primo (o secondo) momento ho capito che era la tua
applicazione
"START"  a dover leggere il file. La risposta che ti ho dato parte da questa
convinzione.
Mentre, probabilmente, tu vuoi che l'applicazione associata al file (.txt
nel tuo caso) si
attivi e legga il tuo file. In questo caso concordo con la revisione del
path dell'applicazione
collegata.
Ciao, Vito


 ha scritto nel messaggio
news:934aph$8n94n$1...@ID-51318.news.dfncis.de...


 ha scritto


> Sebastiano Pallaro:



Ma te lo apre con notepad, wordpad o che altro?
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

> Maurizio Borrelli:

Ca`spita, vedo che l'argomento appassiona: quanti post!
Dimenticavo:
    Start
    > Esegui...
      Apri: command /kdir c:\start.exe /s
      Ok
che ti dice?


 Ma te lo apre con notepad, wordpad o che altro?
In teoria NotePad...
Ahhhhh non ci capisco + nulla!


 Il bello è che err.description me lo ritrovo come stringa vuota...


 Così lo apro con NotePad...
con shellexecute funziona
questa è la dichiarazione:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As
Long) As Long
a me funzia...
usando l'api te lo apre col reader predefinito!
--
Ciuaz©,
H0m3r S1mps0n
h0m3r_...@iol.it
----------------------------------------
Free shell, bot permessi, e 5 processi in backgound(!) clicca qui:
http://7.ebsd.com/z/e?acct=hackzx
----------------------------------------
Fuck the FreeConnect [Not 4 All]

 Ahhhhh non ci capisco + nulla!
Non hai fatto ferie a Natale, vero?
--
Ciao :-)


 Ahhhhh non ci capisco + nulla!
in teoria. in pratica:
1. hai nt (non so me).
2. il txt ha al massimo 5 car per riga (14k, dicevi).
in win9 notepad non lo apre se > 64k. nel caso, wordpad.
un'altra delle brillanti strategie ms.
cosi' tutti i vbisti inerbanti si scrivono un editor mdi unlimited-size, e
la vita continua...


Newsgroups: it.comp.lang.visual-basic
Subject: Re: aprire un documento
Date: Thu, 4 Jan 2001 20:36:14 +0100
--
Ciao.


Grazie a tutti!
La vostra collaborazione č stata d'oro!
Ciao
SebaMix
P.S. Ho usato ShellExecute


Opps, mi era sfuggito... :::)))) potrai mai perdonarmi???
CiaoZ
SebaMix

 Che vuol dire? .bat = batch ;-)
in nt batch = .cmd
C:\Programmi\dizionari\vocabted\tedesco.cmd :
start c:\progra~1\TOOLBOOK\MTB40RUN.EXE
c:\progra~1\dizion~1\vocabted\tedita.exe /separate
/c:\progra~1\dizion~1\vocabted\


 Opps, mi era sfuggito... :::)))) potrai mai perdonarmi???
Magari risparmiavi un po' di tempo e noi ci si risparmiava questa caterva di
post. Per cui: tu ti perdoni?


Hey, SebaMix
se hai Windows 2000 prova queste istruzioni :
    ' Questa ti dovrebbe lanciare Paint
    Shell "cmd /C d:\azalea.bmp" ' Ovviamente ci metti i files che vuoi tu
    ' Quest'altra Notepad
    Shell "cmd /C d:\prova.ini"
Su altri Win9X se non va bene potresti provare a sostituire "cmd" con
"command".
E' un pò antipatica come soluzione perchè ti apre una finetra command in
background
( che però scompare appena chiudi l'applicazione collegata Notepad, Paint o
quella
 che hai aperto con il file comuni.txt), ma funziona.


 ( che però scompare appena chiudi l'applicazione collegata Notepad, Paint
o quella che hai aperto con il file comuni.txt), ma funziona.
--


"command".
sbagliato: devi espandere la variabile d'ambiente COMSPEC

Non voglio fare polemiche, soltanto chiarire alcuni punti:
1) > > shell lancia degli ESEGUIBILI (.exe o .bat) o files batch;
   evidente errore di battitura, volevo per l'appunto dire (.exe o .com) o
files batch;
2) un comando dos è un comando che non viene eseguito lanciando un qualunque
programma ma viene interpretato direttamente dalla shell (
command.com
 o
cmd.exe). Quindi non direi proprio che tutti i programmi sono comandi dos.
3) Io uso w2000; in w2000 start.exe *non* esiste come eseguibile ma è,
appunto, un comando Dos (si fa per dire in w2000). Infatti una ricerca di
start.* non dà esito, ma dal prompt dei comandi start funziona eccome.
4) per eseguire un file con l'eseguibile associato DEVI usare shellexecute;
mi spiego meglio: se ad esempio scrivi un programma che apre una pagina HTML
e non sai il tuo utente che browser usa, usando ShellExecute sei sicuro che
aprirai la pagina con il browser giusto. Facendo come dici tu
(Shell + eseguibile + documento) quale ci metti, Netscape o Internet
Explorer? Il post parlava di aprire un file *non* sapendo quale sia
l'eseguibile ad esso associato...
Ciao
Alfonso Moscato
P.S. non so perchè ma nel mio reader questa thread parte al 5 gennaio e
quindi non ho potuto leggere il tuo post del 4. Magari mandamelo per
e-mail...

 P.S. non so perchè ma nel mio reader questa thread parte al 5 gennaio e
quindi non ho potuto leggere il tuo post del 4. Magari mandamelo per
e-mail...
Ok.


 Quindi il tuo DEVI continua a non trovarmi d'accordo.
Con NT il comando Shell + Start + Documento
non funziona. DEVI veramente usare ShellExecute.
Criticatemi, ma non sparatemi. :-)
Ciao
Aldo

 Criticatemi, ma non sparatemi. :-)
E un gancio alla mashella? Eseguo?
--
Ciao :-)


 E un gancio alla mashella? Eseguo?
Error 53: File not found :->

...


 Error 53: File not found
Ho lasciato una bella funzione sul S.C. ... se, per esempio, avessimo vuto
solo 53 potrebbo fare
MsgBox ErrNumToDescr(53)
e si scoprirebbe se ha ragione Hal o Giuseppe.
:)
CiaoZ
SebaMix

 wrote in message
news:93k0tn$25dq$1...@stargate1.inet.it...

Basta chiamare Error$, anche dalla finestra Immediate ...
Ciao
ALdo