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

 

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

C# προβληματακια

Îåêßíçóå áðü ôï ìÝëïò NGF. Τελευταία δημοσίευση από το μέλος NGF στις 27-08-2006, 23:29. Υπάρχουν 16 απαντήσεις.
Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-08-2006, 18:08 15839

    C# προβληματακια

    Καλησπερα. Ειμαι καινουργιος και στο forum και στη C# και εχω καποια προβληματακια

    ειπα να γραψω ενα απλο antivirus scanner και θα το κανω σε C# για να μαθω κιολας. Εχω γραψει τον παρακατω κωδικα στο κλικ ενος menu για να εμφανιζεται η να αποκρυπτεται η φορμα του scan αναλογα με το αν ειναι ηδη visible η οχι

    Κώδικας:
    private void ScanToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Boolean frmScanVB = frmScan.ActiveForm.Visible;

    if (frmScanVB == false)
    {
    frmScan.ActiveForm.Visible = true;
    }
    else
    {
    frmScan.ActiveForm.Visible = false;
    }
    }

    Τι δεν εχω κανει καλα? Δεν μου πεταει error στο compile ουτε exception αλλα οταν πατω πανω στο κουμπι που εχω βαλει αποκρυπτεται και η κυριως φορμα
    ---------------------------
    Επισης εχω ενα ακομα προβλημα:

    Object CCLeft = RegKey.GetValue("FrmCCLeft");
    frmCC.ActiveForm.Left = CCLeft;

    Εχω αυτον τον κωδικα ο οποιος διαβαζει απο τη registry το "left" property της κυριως φορμα που θα αποθηκευεται καθε φορα οταν κλεινει το προγραμμα. Αυτο που με ενδιαφερει ειναι πως θα μετατρεπω το object CCLeft σε Integer. Εχω δοκιμασει διαφορα αλλα δεν εβγαλα ακρη. Το error του compiler ειναι αυτο:

    "Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)"

    Χρησιμοποιω VS 2005

    Ευχαριστω!
    Burning The Fire........
  •  24-08-2006, 18:54 15843 σε απάντηση της 15839

    Απ: C# προβληματακια

     NGF wrote:
    Καλησπερα. Ειμαι καινουργιος και στο forum και στη C# και εχω καποια προβληματακια ειπα να γραψω ενα απλο antivirus scanner και θα το κανω σε C# για να μαθω κιολας. Εχω γραψει τον παρακατω κωδικα στο κλικ ενος menu για να εμφανιζεται η να αποκρυπτεται η φορμα του scan αναλογα με το αν ειναι ηδη visible η οχι Κώδικας: private void ScanToolStripMenuItem_Click(object sender, EventArgs e) { Boolean frmScanVB = frmScan.ActiveForm.Visible; if (frmScanVB == false) { frmScan.ActiveForm.Visible = true; } else { frmScan.ActiveForm.Visible = false; } } Τι δεν εχω κανει καλα? Δεν μου πεταει error στο compile ουτε exception αλλα οταν πατω πανω στο κουμπι που εχω βαλει αποκρυπτεται και η κυριως φορμα --------------------------- Επισης εχω ενα ακομα προβλημα: Object CCLeft = RegKey.GetValue("FrmCCLeft"); frmCC.ActiveForm.Left = CCLeft; Εχω αυτον τον κωδικα ο οποιος διαβαζει απο τη registry το "left" property της κυριως φορμα που θα αποθηκευεται καθε φορα οταν κλεινει το προγραμμα. Αυτο που με ενδιαφερει ειναι πως θα μετατρεπω το object CCLeft σε Integer. Εχω δοκιμασει διαφορα αλλα δεν εβγαλα ακρη. Το error του compiler ειναι αυτο: "Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)" Χρησιμοποιω VS 2005 Ευχαριστω!


    Έχεις λάθος στο κώδικα σου..
    private void ScanToolStripMenuItem_Click(object sender, EventArgs e)
    {
    bool frmScanVB = frmScan.Visible;

    if (frmScanVB == false)
    {
    frmScan.Visible = true;
    }
    else
    {
    frmScan.Visible = false;
    }
    }


    όπως και

    frmCC.Left = Convert.ToInt32(RegKey.GetValue("FrmCCLeft"));

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  24-08-2006, 20:33 15844 σε απάντηση της 15839

    Απ: C# προβληματακια

     NGF wrote:
    Boolean frmScanVB = frmScan.ActiveForm.Visible;

    H Boolean είναι ένα πακέτο μεθόδων, οι οποίες αποδίδουν τιμές τύπου bool σε string type.

    π.χ. η Boolean.TrueString ισούται με το string "true".

    Η bool χρησιμοποιείται για να ορίσεις τον τύπο μιας μεταβλητής ή μιας τιμής.

    π.χ. λέγοντας bool isChecked; ορίζεις μια μεταβλητή η οποία μπορεί να έχει τιμή true ή false.



    Είναι λοιπόν αληθής η έκφραση:

    bool isChecked=true;

    isChecked.ToString()=Boolean.TrueString;

    Είναι ψευδής όμως η έκφραση:

    isChecked=Boolean.TrueString;

    Γιατί η μία είναι τύπου bool(λογική μεταβλητή) και η άλλη τύπου string(αλφαριθμητική).

     

     NGF wrote:
    Object CCLeft = RegKey.GetValue("FrmCCLeft");
    frmCC.ActiveForm.Left = CCLeft;

    Μπορείς επίσης να κάνεις το Cast με τον εξής τρόπο:

    Object CCLeft = RegKey.GetValue("FrmCCLeft");
    frmCC.ActiveForm.Left = (int) CCLeft;

  •  24-08-2006, 22:20 15847 σε απάντηση της 15844

    Απ: C# προβληματακια

     evliatsas wrote:

     NGF wrote:
    Object CCLeft = RegKey.GetValue("FrmCCLeft");
    frmCC.ActiveForm.Left = CCLeft;

    Μπορείς επίσης να κάνεις το Cast με τον εξής τρόπο:

    Object CCLeft = RegKey.GetValue("FrmCCLeft");
    frmCC.ActiveForm.Left = (int) CCLeft;



    Αυτό ισχύει μόνο σε περίπτωση που η μεταβλητή είναι τύπου object, αλλοιώς δεν κάνει καν compile.

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  24-08-2006, 23:27 15849 σε απάντηση της 15839

    Απ: C# προβληματακια

    Θα τα δοκιμασω αυριο το πρωι και ευχομαι να πανε ολα καλα. Παντος μου αρεσει πολυ η C#. Μου αρεσει πιο πολυ απο καθε αλλη γλωσσα που εχω δει/ασχοληθει και οσα προβληματα και να βρω εχω πορωθει για τα καλα

    Ευχαριστω πολυ!!
    Burning The Fire........
  •  25-08-2006, 09:30 15868 σε απάντηση της 15839

    Απ: C# προβληματακια

    @pkefal

    Ο κωδικας με το conversion σε int32 δουλεψε.Ευχαριστω!

    Σχετικα με το bool τιποτα

    private void ScanToolStripMenuItem_Click(object sender, EventArgs e)

    {

    bool frmScanVB = frmScan.ActiveForm.Visible;

    if (frmScanVB == false)

    {

    frmScan.ActiveForm.Visible = true;

    }

    else

    {

    frmScan.ActiveForm.Visible = false;

    }

    }

    Για να μπω στα properties της καθε φορμας χρειαζομαι και το ActiveForm. Σκετο το frmScan για παραδειγμα δεν βγαζει properties οπως Visible κτλ.

    Δεν βγαζει compile error ουτε exception αλλα οταν πατω στο κουμπι αποκρυπτεται και η κυριως φορμα.
    Burning The Fire........
  •  25-08-2006, 10:16 15871 σε απάντηση της 15839

    Απ: C# προβληματακια

    Εκτος απο αυτα εχω δυο νεα προβληματα:

    1)
    this.FormClosed += new System.EventHandler(this.frmCC_FormClosed);
    this.FormClosing += new System.EventHandler(this.frmCC_FormClosing);

    Που ειναι το προβλημα με αυτα τα δυο αφου ενα αλλο eventHandler που δημιουργησα :
    this.LocationChanged += new System.EventHandler(this.frmCC_LocationChanged);

    δουλευει μια χαρα?
    Το error που πεταει ειναι:
    Cannot implicitly convert type 'System.EventHandler' to 'System.Windows.Forms.FormClosedEventHandler'

    ----
    2)
    Εχω μια class με διαφορα μεσα (εκει ειναι ο κωδικας που γραφει κτλ)
    Μεσα στην κλαση δηλωνω καθε function ως public void και ονομα ()
    Επισης την κλαση την εχω κανει public
    Οριστε ενα κομματι κωδικα:

    namespace PG32_Antivirus_System
    {
    public class clsSettings
    {

    public void GetFrmCCWidth()
    {
    RegistryKey RegKey = Registry.CurrentUser;
    RegKey = RegKey.OpenSubKey("Software\\PG32 Antivirus System\\Settings", false);
    if (RegKey != null)
    {
    if (RegKey.GetValue("FrmCCWidth") != null)
    {

    //Object CCWidth = RegKey.GetValue ("FrmCCWidth");
    //frmCC.ActiveForm.Width = CCWidth;
    frmCC.ActiveForm.Width = Convert.ToInt32(RegKey.GetValue("FrmCCWidth"));
    }
    }

    }
    --
    Τωρα παω στη frmCC οπου ειναι η κυριως και γραφω:
    clsSettings RegSet = new clsSettings();
    RegSet.GetFrmCCWidth;
    RegSet.GetFrmCCTop;
    RegSet.GetFrmCCLeft;

    και εδω μου πεταει αυτο το error:
    Only assignment, call, increment, decrement, and new object expressions can be used as a statement

    Καμια λυση??
    Burning The Fire........
  •  25-08-2006, 14:08 15904 σε απάντηση της 15839

    Απ: C# προβληματακια

    Πωπώ, έχεις μπερδέψει τελείως τα πράγματα..

    Θα σε συμβούλευα να διαβάσεις κάποιο βιβλίο πρωτού αρχίσεις να "παίζεις" με κώδικα σε εφαρμογές. Έχεις βασικές ελλείψεις σε fundamental πράγματα τα οποία πρέπει να καλύψεις. Θα σου προτείνα να κάνεις ενα search στο forum να βρεις κάποιες προτάσεις που έχουν κάνει συνάδελφοι για βιβλία, ώστε να ξεκινήσεις απο κάπου.

    Σου το λέω αυτό, γιατί και να σου διορθώσω τον κώδικα και να παίξει τώρα και να προσπαθήσω να σου εξηγήσω τι και πως το έκανα, πιθανός να το καταλάβεις, αλλα είναι σχεδόν σίγουρο οτι θα κολλήσεις σε κάτι άλλο, πολύ απλό που στην περίπτωση που είχες διαβάσει κάποιο βιβλίο, θα σου φαινότανε παιχνίδι.

    Επίσης κάνε ενα search στο forum για μια μικρή εισαγωγή που έγραψα σε post του Θωμά (tomkarachis) για το πως λειτουργούν οι classes.

    Να σου επισημάνω τα λάθη σου παρ΄όλαυτά

    1) Τα Closing events έχουν άλλον handler απο τον κοινό EventHandler.Ψάξε για Form Close Event handlers or Exit event handlers.Σου το λέει άλλωστε πιο είναι το σωστό -> FormClosedEventHandler

    2) Σωστά κάνεις και δηλώνεις την method σαν void αλλά δεν μπορείς να κάνεις access ένα αντικείμενο (frmCC στην περίπτωσή σου) χωρίς να το έχεις κάνεις instanciate ή να το έχεις περάσει παράμετρο κάπως ώστε να ξέρει που θα αλλάξει το property η method.Πιο απλά, το frmCC δεν υπάρχει πουθένα μέσα στην κλάση σου κι έτσι η κλάση σου δεν ξέρει τι ειναι το frmCC και διαμαρτύρετε ο compiler.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  25-08-2006, 14:21 15908 σε απάντηση της 15839

    Απ: C# προβληματακια

    Τωρα με εβγαλες λιγο απο το σκοταδι. Θα ψαξω καλυτερα γιατι για βιβλιο δεν μπορω τωρα. Παντος αυτος ο τροπος ειναι ο τροπος εκμαθησης που χρησιμοποιω. Μαθαινω βασικα loops κτλ συντακτικο κτλ και μετα ξεκινω να γραψω ενα προγραμμα που να καλυπτει διαφορα πεδια μαθαινοντας απο τα προβληματα που παρουσιαζονται στο δρομο και ταυτοχρονα απο ebooks και οτι αλλη ιντερνικη πηγη βρω!<br/>
    <br/>
    Αλλα σιγουρα θα ειμαι πολυ συντομα πισω για κατι που δεν μπορεσα να βρω με τιποτα λυση.Οχ οχ...<br/>
    <br/>

    Ευχαριστω παντος!

    Edit:Μολις τωρα διορθωσα τον eventhandler - thanks για το tip!
    Burning The Fire........
  •  27-08-2006, 10:59 15981 σε απάντηση της 15839

    Απ: C# προβληματακια

    Παιδια μου φαινεται οτι εχω πεσει στο μεγαλυτερο μου προβλημα στη C#. Προσπαθω να εμφανισω δευτερη φορμα και δεν εμφανιζεται. Και τι δεν δοκιμασα.

    Εβαλα:

    1)frmScan.Show();

    2)Application.Run(new frmScan());

    3)Form a = new frmScan();

    a.Show();

    4)

    Form a = new frmScan();

    Application.Run(b);

    Και συνεχεια το ιδιο βιολι. Εξαφανιζεται και η πρωτη φορμα η κυριως (frmCC). Τι να κανω πια? Κοντευω να παρατησω τη C# επειδη δεν μπορω να εμφανισω δευτερη φορμα
    Burning The Fire........
  •  27-08-2006, 14:14 15988 σε απάντηση της 15839

    Απ: C# προβληματακια

    Στείλε όλο το Project σου λίγο να δούμε τι γίνεται και ίσως μπορέσουμε να βοηθήσουμε..

    Το σωστό είναι (αν υποθέσουμε οτι το όνομα της φόρμας σου είναι frmScan):



    frmScan nScan = new frmScan();

    nScan.Show();
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  27-08-2006, 14:57 15991 σε απάντηση της 15988

    Απ: C# προβληματακια

    Συνημμένα: PG32 Antivirus System.zip
    Τελικα ουτε αυτο δουλεψε. Παλι τα ιδια. Εδω περα ειναι το project
    Burning The Fire........
  •  27-08-2006, 15:37 15994 σε απάντηση της 15839

    Απ: C# προβληματακια

    Η όλη λογική σου είναι τελείως λάθος δυστυχώς, στο πως φτιάχνεις το project.. Είναι λογικό να κρύβεται και η mainform καθώς το ActiveForm property εκείνη την στιγμή, έχει active την main, οπότε κρύβεται.. Ίσως αργότερα κάτσω και στο διορθώσω αν έχω χρόνο..
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  27-08-2006, 16:23 15996 σε απάντηση της 15839

    Απ: C# προβληματακια

    Το ξερω οτι γραφω βλακειες αλλα δεν θελω να κατσω να γραψω ξανα σε vb.net γιατι ετσι δεν θα παθω ποτε τιποτα πιο advanced. Οποτε θα πηγαινω απο το ενα στο αλλο προβλημα αλλα δεν θα τα παρατησω (ευκολα)! Προς το παρον μπορεις να μου εξηγησεις λιγο τι ακριβως γινεται μηπως και τα καταφερω γιατι δεν πολυκαταλαβα αυτο με το activeform κτλ.
    Burning The Fire........
  •  27-08-2006, 16:29 15998 σε απάντηση της 15839

    Απ: C# προβληματακια

    Δεν μπορώ να καταλάβω γιατί υποτιμάς την VB.Net ? Είναι το ίδιο δυνατή όσο και η C#.. Μόλις έχω λίγο παραπάνω χρόνο θα σου εξηγήσω τι και πως.. Wink
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems