Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πως περνάμε arguements στο κύριο exe?

Îåêßíçóå áðü ôï ìÝëïò AlKiS. Τελευταία δημοσίευση από το μέλος AlKiS στις 29-11-2011, 17:15. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-11-2011, 23:48 68336

    Πως περνάμε arguements στο κύριο exe?

    Καλησπέρα :)


    Θα μου χρησίμευε πολύ να μάθω πως μπορώ να περάσω arguements στο κύριο exe ενός προγράμματος.

    Σε περίπτωση που δεν γίνομαι κατανοητός, ας το πω και με διαφορετικά λόγια.

    1) Θεωρούμενα ένα πρόγραμμα με όνομα "προγ1". Το exe του προγράμματος αυτού είναι το: "prog1.exe". Όταν ανοίξω αυτό το πρόγραμμα μέσω ενός λίνκ ή απο το command prompt γράφοντας "%dir%\prog1.exe -Arguement 1" όπου με το %dir% θεωρώ την τωρινή του θέση, θέλω το πρόγραμμα να εκχωρεί στην εκκίνησή του του το string "Arguement 1" σε μια μεταβλητή string όπου μπορεί στη συνέχεια να χρισιμοποιηθεί απο το Mybase.Load.

    (Δεν θυμάμαι να το λέει Mybase ή me ή κάτι τέτοιο αλλά καταλαβαίνεται τι εννοώ.. τον κώδικα όταν ανοίγει το πρόγραμμα)

    Πως το κάνω αυτό ???


    2) Με κάποιο τρόπο κάνω το πρόγραμμά μου προεπιλεγμένο πρόγραμμα για να ανοίγει ας πούμε τα .txt αρχεία (το οποίο δεν ξέρω πως να το κάνω ακόμα προγραμματιστικά - μόνο απο δεξί κλίκ στο αρχείο κτλ κτλ). Πως μπορώ όταν κάποιο txt πατηθεί και ανοίξει, το πρόγραμμα να πάρει το τη θέση του αρχείου σαν arguement?? (έτσι ώστε να δώσω στον StreamReader τη θέση του αρχείου μετά για να το ανοίξει, να το διαβάσει κτλ κτλ)


  •  27-11-2011, 12:23 68384 σε απάντηση της 68336

    Απ: Πως περνάμε arguements στο κύριο exe?

    Καλημέρα,

    Δεν ασχολούμαι με win forms επαγγελματικά για να ξέρω τον ενδεδειγμένο τρόπο για αυτό, αλλά όταν είχα φτιάξει ένα απλό πρόγραμμα είχα κάνει το εξής στο Page_Load της αρχικής φόρμας.
    Public Class MainForm
    
        Private Sub MainForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim myCommandStr As String = Microsoft.VisualBasic.Command()
    
            Dim myCommands() As String = myCommandStr.Split(" ")
        End Sub
    
    End Class
    Το Microsoft.VisualBasic.Command() περιέχει όλες τις παραμέτρους σε ένα String που έχεις περάσει όταν καλείς το exe. Μετά το χειρίζεσαι εσύ για να πάρεις τις επιμέρους παραμέτρους.



    Τάσος Καραγιάννης

    Baby debugging steps...
  •  28-11-2011, 16:04 68396 σε απάντηση της 68336

    Απ: Πως περνάμε arguements στο κύριο exe?

    Δοκίμασε την Environment.GetCommandLineArgs

    Για παράδειγμα:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim args() As String = Environment.GetCommandLineArgs
    
    Dim totalNumberOfArguments As Integer = 0
    Dim firstArgumentValue As String = String.Empty
    
    ' Πλήθος παραμέτρων
    totalNumberOfArguments = args.Length
    
    ' Αποθήκευση της πρώτης παραμέτρου
    ' args(0) είναι το filename του exe (μαζί με το path)
    If args.Length > 2 Then firstArgumentValue = args(1)

  •  29-11-2011, 17:15 68418 σε απάντηση της 68384

    Απ: Πως περνάμε arguements στο κύριο exe?

    Σας ευχαριστώ και τους 2 !!!!! !!!

    Και οι 2 τρόποι που μου είπατε έκαστος δουλεύουν ρολόι.

    Η ερώτηση μου απαντήθηκε οπότε σημείωσα και το thread σαν "έχει επιλυθεί"


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems