Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234

    Problemino di sintassi con shell...

    Ciao. Ho un problemino con uno shell. Io da una CommonDialog scelgo un file dal pc selezionandolo questo file mi servirà per il comando shell che ha la seguente sintassi:

    nomeprg -p file1.big file2.fsh dirfile2.fsh

    il problema è su file2 e dirfile2.
    File2 corrisponde al nome del file che seleziono dalla commondialog
    DirFile2 corrisponde alla directory completa del file selezionato nella commonDialog (es: C:\file.fsh)

    Per dare le variabili ho questo codice che però non mi funziona:
    __________________________________________________ _______________
    Private Declare Function GetShortPathName Lib "kernel32" Alias _
    "GetShortPathNameA" (ByVal lpszLongPath As String, _
    ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
    Function GetShortFileName(ByVal LongFileName As String) As String
    Dim buffer As String, length As Long
    ' Prepare the receiving buffer
    buffer = Space$(300)
    length = GetShortPathName(LongFileName, buffer, Len(buffer))
    ' if return value was non-zero, estract the result
    ' else, it returns a null string (probably
    GetShortFileName = Left$(buffer, length)
    End Function

    Private Sub cmdLoad_Click()
    Cdcomdiag.Filter = "SHPI (*.fsh)|*.fsh"

    On Error GoTo cancelled

    Cdcomdiag.CancelError = True
    Cdcomdiag.ShowOpen

    cancelled:
    End Sub

    Private Sub Command2_Click()
    Shell "impbig /i zdata_05.big " & GetShortFileName(Cdcomdiag.FileTitle) & " " & GetShortFileName(Cdcomdiag.FileName)
    End Sub
    __________________________________________________ ___________________
    Io uso questo codice perchè il programma dello shell è in DOS quindi supporta pochi caratteri per le directory allora così mi accorcia il nome...la funzione che accorcia il nome funziona, il problema è che non mi esegue lo shell correttamente..Preciso che la sintassi è esatta perchè ho provato a sostituire le variabili con i nomi di veri e propri files e lo shell funziona tranquillamente...ora mi domando dov'è il problema? sicuramente non trova uno dei tre files..perchè? Spero sappiate darmi una risposta

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    provato con l'api ShellExecute?
    Ans.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    in caso dovessi provare con l'api ShellExcute come si modificherebbe il codice?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    devi usarla al posto dell'istruzione Shell e basta.
    Ans.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    ho provato ma il programma mi dice Sub o Function non definita

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    ma l'hai dichiarata l'api shellexecute? mi sa di no.
    Ans.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    scusa la mia ignoranza...come si dichiara?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    il codice che hai postato utilizza api, se mi fai quella domanda vuol dire che hai fatto copia ed incolla da qualche parte senza preoccuparti e capire che cosa stavi a copiare.
    Ans.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    perfavore scrivimi il codice di dichiarazione dello shell

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    se conoscessi almeno l'ambiente di sviluppo di vb sapresti che esiste Visualizzatore API dal quale devi copiarti la dichiarazione.
    Ans.

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