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

    apertura automatica di file

    ciao,

    ho già postato il problema una volta quindi alka mi strozzerà! VVoVe: ma questa volta espongo meglio la problematica e do nuove considerazioni che ho compreso.

    PROBLEMA:

    Ho creato un programma che legge e modifica file stp. il problema è che voglio che quando clikko su uno di questi file, vorrei che il file venisse automaticamente aperto da il mio programma. Così ho impostato con le proprietà, che quando si tenta di aprire *.stp, mi fa eseguire il mio programma.

    il fatto è che mi apre il programma normalmente, senza aprire il file.

    SPUNTI:

    quando si usa shell, per aprire un file si usa scrivere: "Winword.exe c:\text.doc" o no?
    E se voglio aprire un file con la shell (usando il mio programma non funzia).

    il fatto è che sono sicuro che dos mandi una variabile al mio programma con scritto ad esempio il file da aprire!!! Ad esempio quando tento di aprire cliccando sul file stp, la CurDir del programma è il path del programma da aprire (senza nome, sennò avrei già risolto il problema)!!!

    Qualcuno sa come si faccia a ricevere questa ipotetica variabile??????????

    THANK YOU!

  2. #2
    NON è OT, ma è VB 6.0, ho sbagliato prefisso e non sono in grado di modificarlo!

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Originariamente inviato da tossam
    NON è OT, ma è VB 6.0, ho sbagliato prefisso e non sono in grado di modificarlo!
    Ci penso io a modificare... per il resto, la domanda è complessa e articolata.

    In generale, è sempre meglio continuare una discussione esistente. Eventualmente, vediamo come si sviluppa e la aggreghiamo in un secondo momento, se necessario.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    il percorso del file da aprire te lo ritrovi nella variabile command
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    ad integrazione da quanto detto da wallrider:
    Command$ restituisce una Stringa contenente il testo passato dopo il nome dell'eseguibile.
    in pratica se da shell scrivi:

    TuoProgramma -r

    in Command$ troverai -r

    se invece scrivi:

    TuoProgramma C:\TuaCartella\TuoFile.stp

    in Command$ troverai, per l'appunto, C:\TuaCartella\TuoFile.stp

    andando al dunque, ti basta usare nel tuo programma una Sub Main() nella quale puoi inserire come primo comando:

    codice:
    Sub Main()
    If Command$ <> "" Then
        'Apri il file con percorso contenuto in Command$
    End If
    ...
    ...
    ...
    se non viene passato nessun parametro l'applicazione prosegue normalmente.

    è ovvio che nelle proprietà del progetto devi indicare che è la Sub Main che deve essere lanciata per prima.
    se precedentemente era un form, ad essere lanciato all'avvio dell'applicazione, ti basta mettere, sempre nella Sub Main, ma *dopo* il controllo della Command$:

    codice:
    TuoFormIniziale.Show
    Boolean

  6. #6
    Se faccio Msgbox Command$, mi scrive effettivamente il nome del file, ma se lo tento di aprire: Runtime-error '52': bad file name or number.

    eppure io uso una certa funzione txt che funziona sempre:
    Codice PHP:
    Public Function Opentxt(path As String) As String
    Dim N 
    As Integer
        Dim strRead 
    As String 255
        Dim i 
    As Long
        N 
    FreeFile
        a 
    ""
        
    Open path For Binary As #N Len = Len(strRead)
        
    1
        
    Do While EOF(N) = False
            Get 
    #N, i, strRead
            
    strRead
            i 
    Len(strRead)
        
    Loop
        Close 
    #N
        
    Opentxt a

    ' ESEMPIO XPText1.Text = Opentxt("c:\ciao.txt")

    End Function 
    come mai non funzia? credo che centri con la variabile N, perchè il path ovviamente è giusto(è il contenuto della variabile command)

  7. #7

    GRAZIE 1000

    Grazie mille!!! problema risolto!!!

    il programma mi restituiva nel messaggio un valore con le virgolette, ossia nel Command$ c'era un varore tra apici. tramite codice ho tolto gli apici e adesso vaa tutto lisio come l'olio!

    grazie!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    59
    ciao a tutti, vorrei quotare questa parte di messaggio che tossan ha inserito nella prima risposta:


    ************************************************** **************
    quando si usa shell, per aprire un file si usa scrivere: "Winword.exe c:\text.doc" o no?*
    ************************************************** **************
    sto cercando di usare il comando shell per aprire un file di tipo txt da codice,
    purtroppo pero' al posto del percorso scritto c:\text.doc dovrei mettere una variabile, per esempio:

    Shell App.path + "\OspManager.log", vbNormalFocus

    sapreste indicarmi la sintassi corretta? così mi restituisce una errore, chiamata di routine o di argomento no valido


    please helpppp

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    59
    stavo pensando, forse ho sbagliato a continuare questa discussione, o avrei dovuto farne un altra????

  10. #10
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    ma vuoi che il file venga aperto da una tua applicazione o dal notepad?
    -se vuoi che venga aperto dalla tua applicazione associa l'estensione(sarebbe meglio che ne creassi una nuova invece di usare un txt) al tuo programma e rileggiti questo tread
    -se vuoi che lo apra notepad cercati la funz shellexecute
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

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.