Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

πως μπορω να δημιουργησω μια μεταβλητη με το ονομα του χρηστη που τρεχει το προγραμμα εκεινη την στιγμη;

 

για παραδειγμα αν θελω να κανω μια αντιγραφη απο πχ τον φακελο program files στο φακελο my documents, θα μπορουσα να δηλωσω χειροκινητα το ονομα του χρηστη αλλα τοτε θα δουλευει μονο στον υπολογιστη εκεινου του χρηστη. με αλλα λογια θελω το ονομα χρηστη να αλλαζει αυτοματα στο προγραμμα για να ανταποκρινεται στον εκαστοτε χρηστη:

 

c:\users\onoma_xrhsth\my documents

 

ξερω την εντολη Environment.UserName αλλα δεν εχω βρει πως να την δηλωσω σαν μεταβλητη.

Δημοσ.

Χωρις να εχω ιδεα απο vb, τα ιδια τα windows εχουν τη μεταβλητη %HOMEPATH% που σε παει στον φακελο του χρηστη, δηλαδη στον c:\users\mitsos σε vista/7/8 και στον αντιστοιχο του στα xp.

Δημοσ.

πως δηλωνω την μεταβλητη user μεσα στην συνθηκη My.Computer.FileSystem.CopyFile?

 

το δοκιμασα με messagebox το οποιο θα εμφανιζει τον εκαστοτε χρηστη και μου πεταξε error παντως.

Dim user As String = Environment.UserName

MsgBox("current username is:", user)

 

αποτελεσμα: Conversion from string "WORKSTATION" (το ονομα χρηστη μου) to type 'Integer' is not valid.

Δημοσ.

Λογικό να πετάει error μιας και

 

http://msdn.microsoft.com/en-us/library/139z2azd%28v=vs.90%29.aspx

 

Έχεις αυτό

 

Dim user As String = Environment.UserName

MsgBox("current username is:", user)

 

 

H συνάρτηση MsgBox έχει λάθος ορίσματα.Πάντως η μεταβλητή user έχει την σωστή τιμή WORKSTATION\(το ονομα χρηστη)

Δημοσ.

δεν καταλαβα την σχετικοτητα του συνδεσμου..

το παραδειγμα στο msdn αφορα ενα msgbox που περιλαμβανει κουμπια που επιστρεφουν αποτελεσμα.

εγω θελω ενα σκετο msgbox με κειμενο.

για παραδειγμα ο κωδικας:

 

MsgBox("current username is:")

 

πεταει σωστα ενα message box με το κειμενο "current username is:"

 

η απορια μου δηλαδη εχει να κανει με το πως δηλωνεται ο χρηστης μεσα στα παραδειγματα, είτε στο msgbox, ειτε σε αντιγραφη αρχειων

Δημοσ.

Και όμως ο σύνδεσμος είναι σχετικότατος με το error  Conversion from string "WORKSTATION" (το ονομα χρηστη μου) to type 'Integer' is not valid που είπες ότι σου πέταξε.

 

Ας το δουμε λίγο πιο αναλυτικά

Public Function MsgBox( _
   ByVal Prompt As Object, _
   Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
   Optional ByVal Title As Object = Nothing _
) As MsgBoxResult
η ΜsgBox έχει ένα υποχρεωτικό όρισμα το Prompt και 2 Optional,το Buttons που είναι του τύπου MsgBoxStyle (είναι ενα enumeration αναφέρει όλες οι τιμές στην σελίδα και είναι integer). To τρίτο όρισμα είναι πάλι optional και είναι τύπου object.

 

Εσύ χρησιμοποίησες το MsgBox με 2 ορίσματα MsgBox("current username is:", user) το user είναι string εδώ για αυτό και το error με το conversion.

 

H λύση είναι συνένωση strings ή η String.Format

Dim user As String = Environment.UserName
MsgBox(String.Format("current username is:{0}",user))
To πρόβλημα σου στο post #4 ήταν το MsgBox και όχι το

Dim user As String = Environment.UserName
Για το πως θα το χρησιμοποιήσεις κάντο split με το "\" στο αποτέλεσμα του split στην δεύτερη θέση του πίνακα με index (1) έχεις το username

 

Όταν είναι να σώσεις το αρχείο στο Path βάζεις αυτό εκεί που θέλεις το username.

 

πχ για να σώσεις το αρχείο σου στον φάκελο C:\Users\[όνομα χρήστη]\Documents

 

φτιάχνεις πρώτα το path ως εξής String.Format("C:\Users\{0}\Documents",user)

Δημοσ.

ολα ok ευχαριστω οσους ασχοληθηκανε, και ειδικα τον χρηστη nucleus, η εντολη για αντιγραφη γινεται με string.Format που δεν ειχα ασχοληθει

 

αν πχ θελουμε να αντιγραψουμε ενα αρχειο απο c:/

 

Dim user As String = Environment.UserName
My.Computer.FileSystem.CopyFile ("C:/onoma_arxeiou_pros_antigrafh", string.Format ("C:/Users/{0}/Desktop/neo_onoma_arxeiou", user))

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...