Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: riduzione righe codice

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    riduzione righe codice

    Ciao a Tutti,

    allego di seguito il codice della pagina asp funzionante,
    chiedendo se e' possibile, tramite magari o un ciclo for o creazione di un array,
    la riduzione del codice ...

    Ho letto che purtroppo non si puo' concatenare variabile stringa con numero,

    quindi non so se e' possibile ottenere un abbellimento ed una piu' facile lettura del codice ...

    Grazie mille in anticipo !!!!



    <%
    Dim objFSO
    Dim c_proj, c_rev
    Dim c_file1, c_file2, c_file3, c_file4, c_file5, c_file6, c_file7, c_file8, c_file9, c_file10, c_file11, c_file12, c_file13, c_file14
    Dim c_file15, c_file16, c_file17, c_file18, c_file19, c_file20, c_file21, c_file22, c_file23, c_file24, c_file25, c_file26, c_file27, c_file28
    Dim file1, file2, file3, file4, file5, file6, file7, file8, file9, file10, file11, file12, file13, file14, file15, file16, file17, file18, file19, file20, file21, file22, file23, file24, file25, file26, file27, file28
    '
    c_proj = Request("c_proj")
    c_rev = Request("c_rev")
    c_file1 = Request("c_file1") : c_file2 = Request("c_file2") : c_file3 = Request("c_file3") : c_file4 = Request("c_file4") : c_file5 = Request("c_file5") : c_file6 = Request("c_file6") : c_file7 = Request("c_file7")
    c_file8 = Request("c_file8") : c_file9 = Request("c_file9") : c_file10 = Request("c_file10") : c_file11 = Request("c_file11") : c_file12 = Request("c_file12") : c_file13 = Request("c_file13") : c_file14 = Request("c_file14")
    c_file15 = Request("c_file15") : c_file16 = Request("c_file16") : c_file17 = Request("c_file17") : c_file18 = Request("c_file18") : c_file19 = Request("c_file19") : c_file20 = Request("c_file20") : c_file21 = Request("c_file21")
    c_file22 = Request("c_file22") : c_file23 = Request("c_file23") : c_file24 = Request("c_file24") : c_file25 = Request("c_file25") : c_file26 = Request("c_file26") : c_file27 = Request("c_file27") : c_file28 = Request("c_file28")
    '
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    If Not objFSO.FolderExists(Server.MapPath("/aesi_quality/schede_progetto/d_qscan/"&Left(c_proj, 4)&"/"&c_proj&"/"&c_proj&"_custom/")) Then
    objFSO.CreateFolder("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom")
    End If
    '
    Set file1=objFSO.GetFile(c_file1) : Set file2=objFSO.GetFile(c_file2) : Set file3=objFSO.GetFile(c_file3) : Set file4=objFSO.GetFile(c_file4) : Set file5=objFSO.GetFile(c_file5)
    Set file6=objFSO.GetFile(c_file6) : Set file7=objFSO.GetFile(c_file7) : Set file8=objFSO.GetFile(c_file8) : Set file9=objFSO.GetFile(c_file9) : Set file10=objFSO.GetFile(c_file10)
    Set file11=objFSO.GetFile(c_file11) : Set file12=objFSO.GetFile(c_file12) : Set file13=objFSO.GetFile(c_file13) : Set file14=objFSO.GetFile(c_file14) : Set file15=objFSO.GetFile(c_file15)
    Set file16=objFSO.GetFile(c_file16) : Set file17=objFSO.GetFile(c_file17) : Set file18=objFSO.GetFile(c_file18) : Set file19=objFSO.GetFile(c_file19) : Set file20=objFSO.GetFile(c_file20)
    Set file21=objFSO.GetFile(c_file21) : Set file22=objFSO.GetFile(c_file22) : Set file23=objFSO.GetFile(c_file23) : Set file24=objFSO.GetFile(c_file24) : Set file25=objFSO.GetFile(c_file25)
    Set file26=objFSO.GetFile(c_file26) : Set file27=objFSO.GetFile(c_file27) : Set file28=objFSO.GetFile(c_file28)
    '
    file1.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file1.ShortNam e) : file2.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file2.ShortNam e)
    file3.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file3.ShortNam e) : file4.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file4.ShortNam e)
    file5.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file5.ShortNam e) : file6.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file6.ShortNam e)
    file7.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file7.ShortNam e) : file8.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file8.ShortNam e)
    file9.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file9.ShortNam e) : file10.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file10.ShortNa me)
    file11.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file11.ShortNa me) : file12.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file12.ShortNa me)
    file13.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file13.ShortNa me) : file14.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file14.ShortNa me)
    file15.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file15.ShortNa me) : file16.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file16.ShortNa me)
    file17.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file17.ShortNa me) : file18.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file18.ShortNa me)
    file19.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file19.ShortNa me) : file20.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file20.ShortNa me)
    file21.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file21.ShortNa me) : file22.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file22.ShortNa me)
    file23.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file23.ShortNa me) : file24.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file24.ShortNa me)
    file25.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file25.ShortNa me) : file26.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file26.ShortNa me)
    file27.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file27.ShortNa me) : file28.Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&file28.ShortNa me)
    '
    Set objFSO = Nothing
    Set file1 = nothing : Set file2 = nothing : Set file3 = nothing : Set file4 = nothing : Set file5 = nothing : Set file6 = nothing : Set file7 = nothing : Set file8 = nothing : Set file9 = nothing : Set file10 = nothing
    Set file11 = nothing : Set file12 = nothing : Set file13 = nothing : Set file14 = nothing : Set file15 = nothing : Set file16 = nothing : Set file17 = nothing : Set file18 = nothing : Set file19 = nothing : Set file20 = nothing
    Set file21 = nothing : Set file22 = nothing : Set file23 = nothing : Set file24 = nothing : Set file25 = nothing : Set file26 = nothing : Set file27 = nothing : Set file28 = nothing
    '
    '
    %>

  2. #2

    Re: riduzione righe codice

    Originariamente inviato da betto
    Ho letto che purtroppo non si puo' concatenare variabile stringa con numero,
    spiega 'sta cosa...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ciao Optime,

    mi sarebbe piaciuto ridurre di brutto il numero di righe,
    facendo piu' cicli come questo ad esempio:

    Dim i
    i = 1

    Do Until i > 28
    c_file&i = Request("c_file"&i)
    i = i + 1
    Loop

    pero' da quello che ho letto in internet bisogna ricorrere ad array e non so nel mio caso se e come appilicare cio' ...

  4. #4
    c_file(i) = Request("c_file"&i)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie Optime per il tuo spunto ...

    Ho fatto cosi', partendo dalla tua rispota, ottenendo una pagina decisamente leggibilissima ma purtroppo non mi vengono creati i file ... non mi succede niente e non ottengo nessun errore ...



    <%
    Dim objFSO
    Dim c_proj, c_rev
    Dim c_file(27), i
    Dim file(27)
    '
    c_proj = Request("c_proj")
    c_rev = Request("c_rev")
    For Each i In c_file
    c_file(i) = Request("c_file"&i)
    Next
    '
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    If Not objFSO.FolderExists(Server.MapPath("/aesi_quality/schede_progetto/d_qscan/"&Left(c_proj, 4)&"/"&c_proj&"/"&c_proj&"_custom/")) Then
    objFSO.CreateFolder("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom")
    End If
    '
    For Each i In c_file
    If Len(c_file(i))>0 Then Set file(i)=objFSO.GetFile(c_file(i))
    Next
    '
    For Each i In c_file
    If Len(c_file(i))>0 Then file(i).Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&c_proj&"_r"&c_ rev&"_"&i&"_"&file(i).ShortName)

    Next
    '
    Set objFSO = Nothing
    For Each i In c_file
    Set file(i) = nothing
    Next
    '
    '
    %>

  6. #6
    credo che tu debba sostituire i vari

    For Each i In c_file

    con

    For i=1 to 27

    eventualmente puoi usare una variabile invece di 27 fisso, ma ricordati di fare ReDim invece di Dim

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Optime ti ringrazio tanto, mi hai risolto il problema !!!

    Visto che nel mio caso gli array hanno una dimensione fissa di 27 il ReDim non lo uso ...

    Grazie ancora !!!



    <%
    Dim objFSO
    Dim c_proj, c_rev
    Dim c_file(27), file(27), i
    '
    c_proj = Request("c_proj")
    c_rev = Request("c_rev")
    For i = 1 to 27
    c_file(i) = Request("c_file"&i)
    Next
    '
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    If Not objFSO.FolderExists(Server.MapPath("/aesi_quality/schede_progetto/d_qscan/"&Left(c_proj, 4)&"/"&c_proj&"/"&c_proj&"_custom/")) Then
    objFSO.CreateFolder("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom")
    End If
    '
    For i = 1 to 27
    If Len(c_file(i))>0 Then Set file(i)=objFSO.GetFile(c_file(i))
    Next
    '
    For i = 1 to 27
    If Len(c_file(i))>0 Then file(i).Copy("D:\qscan_docs\"&Left(c_proj, 4)&"\"&c_proj&"\"&c_proj&"_custom\"&c_proj&"_r"&c_ rev&"_"&i&"_"&file(i).ShortName)
    Next
    '
    Set objFSO = Nothing
    For i = 1 to 27
    Set file(i) = nothing
    Next
    '
    '
    %>

  8. #8
    come vuoi. ti saresti evitato la fatica di editare la pagina in mille punti il giorno che gli elementi non fossero più 27 ma un altro numero


  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Optime,

    perdona la mia ignoranza, pensavo che ReDim avesse il suo effetto su un array bidimensionale.

    Se anche al mio caso si puo' applicare, ben volentieri.

    Esso funziona anche se un domani dovessi cambiare le dimensioni degli array da 27 a 15 ??

    anche da 27 a 38 ??

    (ho fatto il caso di 15 < 27 < 38) sia x difetto che eccesso ...


    in caso affermativo mi diresti cortesemente come scrivere il ReDim ?? Lo Metteresti anche con il Preserve ?? Ti chiedo questo xche' non mi e' mai capitato di usarlo ...

    Grazie mille !!!!

  10. #10
    redim va al posto di dim (che fantasia, eh? )

    senza Preserve perché non devi preservare tutto (anche qui, fantasia a quintali )

    poi posta il codice, che gli si dà un'ultima occhiata


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