ana.alexandros Δημοσ. 25 Ιουνίου 2012 Δημοσ. 25 Ιουνίου 2012 Γειά σας παιδιά έχω την Visual Basic 2010 και θέλω να φτιάξω μια εφαρμογή που θα τρέχω Custom Commands. Έχω βάλει ένα TextBox1 και ένα κουμπί Execute. O κώδικας που τρέχει ένα Proccess είναι αυτός >Proccess.start(textbox1.text) Θέλω όμως όταν κάποιος εισάγει ένα άκυρο όνομα να καταλαβαίνει αν το Proccess είναι έγκυρο. Σας αποστέλνω μαζί όλο το Project
hawkpilot Δημοσ. 26 Ιουνίου 2012 Δημοσ. 26 Ιουνίου 2012 Γειά σας παιδιά έχω την Visual Basic 2010 και θέλω να φτιάξω μια εφαρμογή που θα τρέχω Custom Commands. Έχω βάλει ένα TextBox1 και ένα κουμπί Execute. O κώδικας που τρέχει ένα Proccess είναι αυτός >Proccess.start(textbox1.text) Θέλω όμως όταν κάποιος εισάγει ένα άκυρο όνομα να καταλαβαίνει αν το Proccess είναι έγκυρο. Σας αποστέλνω μαζί όλο το Project Δεν είναι τόσο απλό αυτό που ζητάς... Μία λύση θα ήταν να τσεκάρεις αν το εκτελέσιμο αρχείο υπάρχει στο δίσκο αλλά αν κάποιος θέλει να εκτελέσει εσωτερική εντολή του shell (πχ την type) τι θα κάνεις?
micos000 Δημοσ. 26 Ιουνίου 2012 Δημοσ. 26 Ιουνίου 2012 Ο μόνος τρόπος που μπορώ να φανταστώ ότι θα μπορούσε να γίνει ένας τέτοιος έλεγχος είναι να ξέρεις ότι οι εντολές που θα εκτελεστούν επιστρέφουν κάποια δεδομένα, οπότε θα ελέγχεις αν υπάρξει επιστροφή και αν δεν πάρεις τίποτα τότε θα θεωρείς ότι η εντολή που δόθηκε δεν είναι σωστή. Αλλιώς, όπως είπε ο hawk παραπάνω, να ελέγχεις αν υπάρχει το εκτελεσιμο στον δίσκο, αλλά αυτό δεν ισχύει για εσωτερικές εντολές.
nspyrou Δημοσ. 26 Ιουνίου 2012 Δημοσ. 26 Ιουνίου 2012 Γειά σας παιδιά έχω την Visual Basic 2010 και θέλω να φτιάξω μια εφαρμογή που θα τρέχω Custom Commands. Έχω βάλει ένα TextBox1 και ένα κουμπί Execute. O κώδικας που τρέχει ένα Proccess είναι αυτός >Proccess.start(textbox1.text) Θέλω όμως όταν κάποιος εισάγει ένα άκυρο όνομα να καταλαβαίνει αν το Proccess είναι έγκυρο. Σας αποστέλνω μαζί όλο το Project Αν κατάλαβα καλά αυτό που ζητάς: Θα σου πρότεινα να βάλεις την Process.Start μέσα σε ένα try ... catch block, και να διαχειριστείς τα Exceptions. Αν είναι εντολή του συστήματος και όντως γυρίσει κάποιο Process, H Process.Start θα γυρίσει κάποιο Handle, για το process που μόλις ξεκίνησε, αν του ορίσεις ως παράμετρο μια ProcessStartInfo. Ειδάλλως δεν θα γυρίσει τίποτα και προφανώς θα σκάσει με κάποιο exception. Δες εδώ μερικά παραδείγματα, για το πως μπορεις να ορίσεις την ProcessStartInfo().
masterakos Δημοσ. 27 Ιουνίου 2012 Δημοσ. 27 Ιουνίου 2012 try { Proccess.start(textbox1.text) } Catch(Exception error) { Messagebox.Show("Σφάλμα: "+error.ToString()); } Μπορείς στο catch να μην βάλεις και τίποτα οπότε εάν είναι invalid το proccess που "έδωσες" θα συνεχίζει τη ροή της συνάρτησης.
ana.alexandros Δημοσ. 27 Ιουνίου 2012 Μέλος Δημοσ. 27 Ιουνίου 2012 Σε ευχαριστώ masterakos δουλεύει άψογα..
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα