Risultati da 1 a 6 di 6

Discussione: Leggere .path

  1. #1
    Utente Junior L'avatar di ale
    Iscritto dal
    2008
    Messaggi
    64
    Professione
    tecnico
    Regione
    Veneto
    Software
    office+autocad

    Predefinito Leggere .path

    con autocad 2006 sto cercando di inventarmi un metodo per rintracciare i file all’ interno di una directory.
    le procedure sottoriportate sono un frammento della routine che cerco di sviluppare, non riesco a capire perché se digito il nome della directory la routine id_1 funziona, mentre se richiamo il percorso nella routine, id_2 non funziona.
    Qualcuno mi può aiutare ?

    Public Function j(n As String) As String

    Select Case n
    Case "a": j = "0"
    Case "l" : j = "1"
    Case "e": j = "2"
    End Select
    End Function


    Public Sub id_1()
    Dim str As String
    Dim percorso As String

    Dim a1 As String
    Dim a2 As String
    Dim a3 As String
    Dim a4 As String

    str = "c:\alex"

    a1 = Mid((str), 4, 1)
    a2 = Mid((str), 5, 1)
    a3 = Mid((str), 6, 1)
    a4 = Mid((str), 7, 1)


    x1 = j(a1)
    x2 = j(a2)
    x3 = j(a3)
    x4 = j(a4)

    Debug.Print x1 & x2 & x3 & x4
    End Sub


    Public Sub id_2()
    Dim str As String
    Dim percorso As String

    Dim a1 As String
    Dim a2 As String
    Dim a3 As String
    Dim a4 As String

    percorso = ThisDrawing.Path
    str = percorso

    a1 = Mid((str), 4, 1)
    a2 = Mid((str), 5, 1)
    a3 = Mid((str), 6, 1)
    a4 = Mid((str), 7, 1)


    x1 = j(a1)
    x2 = j(a2)
    x3 = j(a3)
    x4 = j(a4)

    Debug.Print x1 & x2 & x3 & x4
    End Sub

  2. #2
    Utente Senior L'avatar di Shape
    Iscritto dal
    2007
    Messaggi
    1220
    Professione
    Disegnatore Carpenteria
    Regione
    Friuli
    Software
    Autocad, VBA-AutoLisp, Tecnometal4D, GIMP

    Predefinito

    Allora il problema è nel Select Case

    Public Sub id_2()
    Dim str As String
    Dim percorso As String

    Dim a1 As String
    Dim a2 As String
    Dim a3 As String
    Dim a4 As String

    percorso = ThisDrawing.Path
    MsgBox (percorso)
    str = percorso

    a1 = Mid((str), 4, 1)
    a2 = Mid((str), 5, 1)
    a3 = Mid((str), 6, 1)
    a4 = Mid((str), 7, 1)

    Debug.Print a1 & a2 & a3 & a4

    End Sub

    Public Sub id_1()
    Dim str As String
    Dim percorso As String

    Dim a1 As String
    Dim a2 As String
    Dim a3 As String
    Dim a4 As String

    str = "c:\alex"

    a1 = Mid((str), 4, 1)
    a2 = Mid((str), 5, 1)
    a3 = Mid((str), 6, 1)
    a4 = Mid((str), 7, 1)

    Debug.Print a1 & a2 & a3 & a4
    End Sub

    queste due sub funzionano correttamente...

    il problema è nel J non capisco cosa tu voglia fare... ma scritto così non funziona

    se non gli passi "n" come fa a valutare il case..

  3. #3
    Utente Standard L'avatar di rpor66
    Iscritto dal
    2007
    Messaggi
    617
    Professione
    Programmatore
    Regione
    Sicilia
    Software
    AutoCad, CadWorx, Excel, Lisp, VBA

    Predefinito

    Citazione Originariamente Scritto da ale Visualizza Messaggio
    Public Sub id_2()
    Dim str As String
    Dim percorso As String

    Dim a1 As String
    Dim a2 As String
    Dim a3 As String
    Dim a4 As String

    percorso = ThisDrawing.Path
    str = percorso

    a1 = Mid((str), 4, 1)
    a2 = Mid((str), 5, 1)
    a3 = Mid((str), 6, 1)
    a4 = Mid((str), 7, 1)


    x1 = j(a1)
    x2 = j(a2)
    x3 = j(a3)
    x4 = j(a4)

    Debug.Print x1 & x2 & x3 & x4
    End Sub
    Ma la variabile percorso, contiene lo stesso identico contenuto, cioè c:\alex o piuttosto C:\ALEX?

    Non vorrei che fosse solo un problema di maiuscole/minuscole.

    Comunque, la funzione

    Public Function j(n As String) As String
    Select Case n
    Case "a": j = "0"
    Case "l" : j = "1"
    Case "e": j = "2"
    End Select
    End Function

    la trasformerei in
    Public Function j(n As String) As String
    Select Case ucase(n)
    Case "A": j = "0"
    Case "I" : j = "1"
    Case "E": j = "2"
    End Select
    End Function

    ciao

  4. #4
    Utente Junior L'avatar di ale
    Iscritto dal
    2008
    Messaggi
    64
    Professione
    tecnico
    Regione
    Veneto
    Software
    office+autocad

    Predefinito

    grazie shape, grazie rpor66, vi ritrovo con piacere. :)

    Citazione Originariamente Scritto da Shape Visualizza Messaggio
    il problema è nel J non capisco cosa tu voglia fare... ma scritto così non funziona
    non potevo scrivere tutta la routine, sarebbe stata troppo lunga, Function J, dovrebbe, secondo le mie rudimentali conoscenze, modificare la lettera dell' alfabeto in un numero; id_1 riesce a trasformare nel debug le lettere una ad una dopo il c:\ nel corrispettivo numero della function j.
    id_2 speravo che mi evitasse di trascrivere ogni volta il percorso della directory.

    provo con autocad le vostre indicazioni, e vi faccio sapere; l' obiettivo finale sarebbe quello di indicare nel disegno un codice identificativo estrapolato dalla directory dove è registrato il file.
    es. il disegno che riporta il numero 012, e nella directori c:\ale.

  5. #5
    Utente Senior L'avatar di Shape
    Iscritto dal
    2007
    Messaggi
    1220
    Professione
    Disegnatore Carpenteria
    Regione
    Friuli
    Software
    Autocad, VBA-AutoLisp, Tecnometal4D, GIMP

    Predefinito

    Citazione Originariamente Scritto da ale Visualizza Messaggio
    Function J,
    Si scusa nella fretta avevo letto male e non avevo notato X1=J(a1) :p

  6. #6
    Utente Junior L'avatar di ale
    Iscritto dal
    2008
    Messaggi
    64
    Professione
    tecnico
    Regione
    Veneto
    Software
    office+autocad
    ho provato ad applicare "msgbox" e il problema che avevo è stato superato, non mi ero accorto che alcune maiuscole che apparivano nel .path, non venivano lette, "ucase" ha corretto anche questa mancanza.

    direi che il "case" è risolto :)
    Ultima modifica di ale; 09-06-2008 alle 23: 50


  • Discussioni Simili

    1. Animazione lungo la path
      Di Tantocattivo nel forum 3D studio
      Risposte: 3
      Ultimo Messaggio: 13-03-2011, 22: 01
    2. Leggere un pim.vol
      Di Fulvio Romano nel forum Discussioni Off Topics
      Risposte: 17
      Ultimo Messaggio: 13-11-2009, 09: 34
    3. path relativo
      Di Angelo67 nel forum CATIA V5 Infrastructure
      Risposte: 19
      Ultimo Messaggio: 11-02-2008, 12: 33
    4. Raccolta di lisp e path
      Di lattu nel forum Lisp per Autocad
      Risposte: 2
      Ultimo Messaggio: 06-02-2008, 01: 19

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  




    CAD3D.it - la community dei progettisti