PDA

Επιστροφή στο Forum : Visual Basic Tutorials!



chimaros
13-05-05, 01:11
Μήπως έχει κάποιος καλά links με online tutorials για Visual Basic? Δεν θέλω να γίνω expert - το μάθημα στα ΤΕΙ θέλω να περάσω! (Εψαξα στο Google αλλά έχει τόσα πολλά που δεν βγάζω άκρη...) Ευχαριστώ εκ των προτέρων!

WAntilles
13-05-05, 01:26
Μήπως εννοείς Visual Basic;

chimaros
13-05-05, 02:39
Nαι ασφαλώς... Το διόρθωσα!

WAntilles
13-05-05, 02:47
Μιλάς μέχρι καί την έκδοση 6.0, ή από την 7.0 (.ΝΕΤ) και πάνω;

Ερωτώ διότι έχουν τεράστιες διαφορές.

chimaros
13-05-05, 03:08
Νομίζω την 6 - γιά την 6 είναι το ελληνικό βιβλίο που μας έχουν δώσει.

WAntilles
13-05-05, 03:34
Μιας και θα μάθεις - όσο μάθεις - κάτι, τουλάχιστο μάθε το σωστά. Ποτέ δεν ξέρεις στο μέλλον εάν και πόσο θα σου χρειαστεί. Κάθε γνώση είναι χρήσιμη.

Άρα:

1. Στα options της Visual Basic να τσεκάρεις οπωσδήποτε την επιλογή:
Require Variable Declaration

2. Σε κάθε module ή φόρμα που φτιάχνεις να προσθέτεις στο γενικό τμήμα στην αρχή την παρακάτω γραμμή εάν δεν υπάρχει:

Option Explicit

3. Να αποφεύγεις δια ροπάλου τα variants

4. Να δηλώνεις πάντα στους πίνακες όσο πιο ρητά γίνεται, από ποιό στοιχείο ξεκινούν και σε ποιό τελειώνουν, ξεχωριστά για κάθε διάσταση. Καλό είναι επίσης σε κάθε module ή φόρμα που φτιάχνεις να προσθέτεις στο γενικό τμήμα στην αρχή την παρακάτω γραμμή εάν δεν υπάρχει:

Option Base 0

Κατά τα άλλα, το γεγονός ότι η VB μέχρι καί την 6, δεν είναι σοβαρή γλώσσα προγραμματισμού (από την 7 και μετά λόγω pointers, dereferences, typecasting & πραγματικών classes άλλαξε ριζικά) να μην σε απογοητεύσει. Θα μάθεις τουλάχιστο μερικά βασικά concept για τον προγραμματισμό που σίγουρα θα σου χρειαστούν εάν ασχοληθείς περαιτέρω.

Καλή αρχή.

chimaros
13-05-05, 04:12
Thanks!!!

yiapap
13-05-05, 12:41
Wan,
Τα 1 & 2 είναι συνώνημα. Αν βάλεις Option Explicit, τότε οπωσδήποτε θα δηλώσεις τις μεταβλητές.
3 Variants και τα μυαλά στα κάγκελα. Εντάξει, είναι μαμακία να χρησιμοποιείς Variants για έναν For/Next βρόχο αλλά υπάρχουν περιπτώσεις που τα Variants είναι ΕΚΠΛΗΚΤΙΚΟ εργαλείο.

Χαρακτηριστικά παραδείγματα:
1. Late Binding: Αντί να δώσεις reference προς μια βιβλιοθήκη και να δηλώσεις ένα αντικείμενο ως π.χ. Outlook.MailItem το δημιουργείς με Server.CreateObject("Outlook.MailItem"). Πλεονέκτημα; Αν βάλεις reference στη βιβλιοθήκη Outlook.11 (Early Binding) και κάποιος έχει Office 2000 τον ήπιες! Αλήθεια, πως το χειρίζεται αυτό π.χ. η Delphi;
2. Συλλογές (Collections) διαφορετικών αντικειμένων. Π.χ. ένα Outlook.Folder μπορεί να έχει αντικείμενα διαφορετικών τύπων (MailItem, AppointentItem, NoteItem κτλ.). Χρησιμοποιώντας ένα Variant μπορείς να διαβάσεις όλα τα αντικείμενα ανεξαρτήτου προέλευσης και να τα ξεχωρίσεις βάση της ιδιότητας .Type. Αλλιώς τι θα κάνεις; Είτε Try είτε το αντίστοιχο On Error Goto της VB. Άλλη λύση υπάρχει;

Πρόσεξε, δεν ισχυρίζομαι ότι η VB 6 είναι του επιπέδου των Delphi, Powerbuilder. Άλλωστε πολλές φορές μου έχουν λήψει χαρακτηριστικά (Class Inheritance, κανονικοί Constructors/Desctructors, ΣΟΒΑΡΟ error handling (try/catch).
Αυτό που λέω είναι ότι η VB6 είναι εκπληκτικό RAD εργαλείο και σαφέστατα ένα πολύ αξιοπρεπές εργαλείο ΟΟ προγραμματισμού, ειδικά για αρχάριους. Φυσικά υπάρχει και η άλλη άποψη που λέει ότι αν είναι να αρχίσεις να προγραμματίζεις καλό είναι να το κάνεις εξ' αρχής σε μια πλήρως OO γλώσσα.
Αυτό το debate κρατά πολλά χρόνια.

Option Base 0... αλλά με προσοχή! Υπάρχουν συλλογές και ιδιότητες (π.χ. Recordset.AbsolutePosition) που το πρώτο στοιχείο είναι το (1) όχι το 0!!! Προσωπικά δε βάζω Option Base 1 μόνο και μόνο από συνήθεια, αλλιώς είναι σαφέστατα ποιο απλό και εύκολο.

ΥΓ. Χρησιμοποιώ VB από την έκδοση 1 και VBA από τότε που ονομαζόταν WordBasic (Word 2.0 αν θυμάμαι καλά). Δεν πέρασα στη .NET αφού σκέφτομαι σοβαρά να μεταπηδήσω σε Powebuilder μετά την ανακοίνωση της MS για τέλος υποστήριξης της VB6. Άλλωστε αν σταματάνε τη VB6 ποιος μου εγγυάται ότι δε θα σταματήσουν την 7; Άσε που με το .NET Framework υπάρχει ένας πανικός (πολλαπλές εκδόσεις, αδυναμία εκτέλεσης σε Win9x κτλ.κτλ.)

Sorry που βγήκα off topic :innocent:

yiapap
13-05-05, 12:48
Μήπως έχει κάποιος καλά links με online tutorials για Visual Basic? Δεν θέλω να γίνω expert - το μάθημα στα ΤΕΙ θέλω να περάσω! (Εψαξα στο Google αλλά έχει τόσα πολλά που δεν βγάζω άκρη...) Ευχαριστώ εκ των προτέρων!
chimaros το καλύτερο που έχεις να κάνεις είναι να ψάξεις για συγκεκριμένα παραδείγματα ανάλογα με την περίσταση. Δλδ έχετε να φτιάξετε μια εφαρμογή/εργασία/αλγόριθμο. Ψάξε ΤΟΤΕ στο Google για τα συγκεκριμένα. Αν ενδιαφέρεσε να ΜΑΘΕΙΣ (μαζί με το να περάσεις το μάθημα) ψάξε παραπάνω από μια πηγές. Ο κάθε (σοβαρός) προγραμματιστής έχει το δικό του στυλ και πολλές φορές το ίδιο πράγμα μπορεί να γίνει με διαφορετικούς τρόπους.

chimaros
13-05-05, 15:40
Ευχαριστώ και εσένα yiapap!

WAntilles
13-05-05, 15:59
Τα 1 & 2 είναι συνώνημα. Αν βάλεις Option Explicit, τότε οπωσδήποτε θα δηλώσεις τις μεταβλητές.

Το ξέρω.

Απλά του είπα καί τα 2 μέρη όπου φαίνεται με διαφορετικό τρόπο η ίδια ουσιαστικά ρύθμιση.


3 Variants και τα μυαλά στα κάγκελα. Εντάξει, είναι μαμακία να χρησιμοποιείς Variants για έναν For/Next βρόχο αλλά υπάρχουν περιπτώσεις που τα Variants είναι ΕΚΠΛΗΚΤΙΚΟ εργαλείο.

Τα Variants είναι ΚΑΚΙΣΤΗ και ΕΠΙΚΙΝΔΥΝΗ προγραμματιστική τακτική διότι δυσχεραίνουν τρομερά το debugging (και όχι μόνο).


Πρόσεξε, δεν ισχυρίζομαι ότι η VB 6 είναι του επιπέδου των Delphi, Powerbuilder.

Πάλι καλά.


Άλλωστε πολλές φορές μου έχουν λήψει χαρακτηριστικά (Class Inheritance, κανονικοί Constructors/Desctructors, ΣΟΒΑΡΟ error handling (try/catch).

Έτσι, έτσι.


Αυτό που λέω είναι ότι η VB6 είναι εκπληκτικό RAD εργαλείο και σαφέστατα ένα πολύ αξιοπρεπές εργαλείο ΟΟ προγραμματισμού, ειδικά για αρχάριους.

Τίποτα από αυτά δεν είναι.

1. Εξαιρετικό RAD εργαλείο είναι καί η Delphi και μάλιστα με ίσως μακράν το καλύτερο IDE.

2. Πλήρης γλώσσα με pointers, de-reference & address of, ρητή δήλωση μεταβλητών, classes με κανονικούς constructors & destructors & inheritance, typecasting κλπ.

3. Είναι καί για αρχάριους διότι σου φωνάζει με warnings & αδυναμία compile ακόμα καί για το παραμικρό. Δεν είναι "χαλαρή" όπως η C.


Φυσικά υπάρχει και η άλλη άποψη που λέει ότι αν είναι να αρχίσεις να προγραμματίζεις καλό είναι να το κάνεις εξ' αρχής σε μια πλήρως OO γλώσσα.
Αυτό το debate κρατά πολλά χρόνια.

Ακριβώς. Διότι θα μάθεις από την αρχή σωστά κάποιες πρακτικές που καλό είναι να τις ακολουθείς.


Option Base 0... αλλά με προσοχή! Υπάρχουν συλλογές και ιδιότητες (π.χ. Recordset.AbsolutePosition) που το πρώτο στοιχείο είναι το (1) όχι το 0!!! Προσωπικά δε βάζω Option Base 1 μόνο και μόνο από συνήθεια, αλλιώς είναι σαφέστατα ποιο απλό και εύκολο.

Γι' αυτό του το είπα προαιρετικά.

Και γω προτιμώ από το 1 αλλά εάν αργότερα ασχοληθεί με C όπου υποχρεωτικά ξεκινούν από το 0, καλό θα είναι να το συνηθίσει.

Στη Delphi πάντως συνήθως χρησιμοποιώ 1.


Sorry που βγήκα off topic :innocent:

Γιατί;

Αυτή είναι η δύναμη του adslgr.

GoofyX
13-05-05, 16:12
...

1. Εξαιρετικό RAD εργαλείο είναι καί η Delphi και μάλιστα με ίσως μακράν το καλύτερο IDE.Για ποια έκδοση μιλάς, γιατί η 2005 έχει αλλάξει τελείως το IDE της.


2. Πλήρης γλώσσα με pointers, de-reference & address of, ρητή δήλωση μεταβλητών, classes με κανονικούς constructors & destructors & inheritance, typecasting κλπ.

3. Είναι καί για αρχάριους διότι σου φωνάζει με warnings & αδυναμία compile ακόμα καί για το παραμικρό. Δεν είναι "χαλαρή" όπως η C.Συμφωνώ σε όλα αυτά, η Delphi είναι από τις δυνατότερες γλώσσες που υπακούει σε καλά "αντικειμενοστραφή πρότυπα".

WAntilles
13-05-05, 16:18
Για ποια έκδοση μιλάς, γιατί η 2005 έχει αλλάξει τελείως το IDE της.

Έχω δουλέψει από 5 μέχρι καί 7.

Μεταγενέστερες δεν έχω δει καθόλου.


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

Περιμένω επιτέλους οι της Free-Pascal & Lazarus:

- Να φτιάξουν τον compiler & το Lazarus σε native Windows x64 build.

- Στο Linux να φτιάξουν επιτέλους το Lazarus να γίνεται compile με gtk2 σε amd64.

yiapap
13-05-05, 16:39
Wan, για τις Variants όμως δε μου απάντησες επί της ουσίας! Πως θα κάνεις Late Binding, πως θα χειριστείς αντικείμενα διαφορετικών κλάσεων;
Και τα 2 παραδείγματα που σου έδωσα είναι πραγματικά. Δλδ έφαγα πολύ .... μέχρι να αποδεχτώ ότι θα δουλέψω με Variants και θα το χαρώ κιόλας!

Επίσης η VB έχει AddressOf αλλά μόνο για function pointers ;)

Όσο για το αν είναι καλό/κακό RAD εργαλείο δε θα το παλέψω πολύ. Άλλωστε, είπαμε, εγώ Windows δουλεύω ;)

GoofyX
13-05-05, 16:44
Έχω δουλέψει από 5 μέχρι καί 7.

Μεταγενέστερες δεν έχω δει καθόλου.
...Ίσως το πιο αξιοζήλευτο χαρακτηριστικό του IDE του Delphi 2005 είναι το refactoring που έχει, η δυνατότητα δηλαδή να επιλέγεις ένα μπλοκ κώδικα και να το μετατρέπεις σε συνάρτηση, βάζοντας η Delphi αυτόματα όλες τις παραμέτρους που χρειάζεται! Όπως και η αλλαγή του ονόματος μιας μεταβλητής σε όλο τον κώδικα (προσοχή, όχι ένα απλό search & replace). Στα μείον του 2005 είναι ο αργός χρόνος εκκίνησης της εφαρμογής (μάλλον όλο το 2005 είναι γραμμένο σε .net, παρόλο που βγάζει και κώδικα για Win32, σε αντίθεση με την 8 που έβγαζε μόνο για .net).

ikyriakidis
21-05-05, 03:35
http://www.mentalis.org/agnet/appdown.shtml
http://www.developerfusion.com/vb/76/
http://www.codearchive.com/search.php?search=calculator&cat=0200&start=10&sdescr=on&scomm=on
http://www.a1vbcode.com/code.asp?type=vb&intPage=2
http://www.planet-source-code.com/vb/
Elpizo na sou ftanoun.Allios Goggle it

zaranero
21-05-05, 03:47
Παρε κανα βιβλιο καλυτερα για αρχη και χρησιμοποιησε το διαδικτυο σαν βοηθητικο για τα σημεια που θες να ξεκαθαρισεις περισσοτερο ή να επεκτεινεις.

johnmaroudas
22-05-05, 18:32
Φίλε για ρίξε μια ματιά εδώ :

http://www.officecomputertraining.com/vbtutorial/tutpages/default.asp

και αν δε μείνεις ικανοποιημένος ξαναμίλα ...

chimaros
22-05-05, 19:49
Σας ευχαριστώ πολύ για τα links!

teacake
22-05-05, 21:45
ΥΓ. Χρησιμοποιώ VB από την έκδοση 1 και VBA από τότε που ονομαζόταν WordBasic (Word 2.0 αν θυμάμαι καλά). Δεν πέρασα στη .NET αφού σκέφτομαι σοβαρά να μεταπηδήσω σε Powebuilder μετά την ανακοίνωση της MS για τέλος υποστήριξης της VB6. Άλλωστε αν σταματάνε τη VB6 ποιος μου εγγυάται ότι δε θα σταματήσουν την 7; Άσε που με το .NET Framework υπάρχει ένας πανικός (πολλαπλές εκδόσεις, αδυναμία εκτέλεσης σε Win9x κτλ.κτλ.)

Το .NET framework παίζει και στα Win9x. Το Visual Studio δεν τρέχει σε 9x. To Framework θα παίζει για μια πενταετία το λιγότερο. Ακόμα και οι τελευταίες εκδόσεις της Delphi, παράγουν κώδικα .NET. Πολλαπλές εκδόσεις θα υπάρχουν εφόσον υπάρχει εξέλιξη. Υπάρχει όμως προς τα πίσω συμβατότητα. Επίσης υπάρχει και το mono το οποίο είναι port του .NET για Linux

WAntilles
23-05-05, 01:17
...αδυναμία εκτέλεσης σε Win9x

Αυτό είναι πολύ θετικό.

iceblade
24-05-05, 07:48
To "Visual Basic .NET: How To Program" των Deitel θα πρότεινα σε όποιον ήθελε να μάθει VB .NET. Και για όποιον θέλει να γίνει Expert το Programming Visual Basic .NET του Francesco Balena. Από 1600 σελίδες το καθένα :D

troll
24-05-05, 11:25
Φίλε χείμαρε δεν έχεις παράπονο σε πήξανε στις πληροφορίες :D

Εγώ θα σε συμβούλευα να άρχιζες με ένα βιβλίο για αρχάριους στα Ελληνικά όπως το "Πληρης Οδηγός της Visual Basic 6 για αρχάριους" του Β. Γκούρδα είναι λίγο παλιό είναι τρομερά απλό και επεξηγηματικό και έχει και cd με το trial του visual studio 6 ...

XPHSTOS29
24-05-05, 13:24
...αδύναμια εκτέλεσης σε Win9xΑυτό είναι πολύ θέτικο.

100% WANtilles

:rotfl::rotfl::rotfl::rotfl::rotfl:

WAntilles
24-05-05, 13:31
Η καλύτεροι δάσκαλοί σου στις γλώσσες προγραμματισμού είναι:

- το help (καί η VB-6 καί οι Delphi 5-7 έχουν εξαιρετικό τέτοιο)

- trial & error (+ φυσικά το "βρίσιμο" του compiler)

yiapap
24-05-05, 18:20
Η καλύτεροι δάσκαλοί σου στις γλώσσες προγραμματισμού είναι:

- το help (καί η VB-6 καί οι Delphi 5-7 έχουν εξαιρετικό τέτοιο)

- trial & error (+ φυσικά το "βρίσιμο" του compiler)

Ξέχασες το Google :mrgreen:

iceblade
24-05-05, 23:57
Καλό το Internet αλλά κατά τη γνώμη μου αν κάποιος το σκέφτεται σοβαρά καλά θα κάνει να πάρει 2-3 καλά βιβλία. Κοστίζουν βέβαια αλλά αξίζουν τα λεφτά τους. Εγώ για να καταλάβετε τα αγόρασα αφού τα είχα διαβάσει σε ηλεκτρονική μορφή (άλλο πράμα το βιβλίο πως να το κάνουμε)

yiapap
25-05-05, 03:12
Καλά τα βιβλία, αλλά κατά τη γνώμη μου (20+ χρόνια, από VB ver. 1.0) αν δεν έχεις αντικείμενο δε μαθαίνεις μια γλώσσα. Αν δεν έχεις ακαδημαϊκές γνώσεις δεν μαθαίνεις Προγραμματισμό.
Άρα on-line help, το MSDN αν μπορείς να το βρείς (ακόμη και παλιό) και Google είναι εργαλεία πρώτης γραμμής.
Ότι έχω εκτυπώσει (γιατί βαρέθηκa να το ξαναψάχνω)... πάλι το ψάχνω. Ο προγραμματισμός είναι κάτι "ζωντανό". Ο μόνος λόγος να αγοράσεις βιβλίο είναι να σου έχει επιβληθεί (π.χ. αλλαγή εταιρείας) μια ριζiκή αλλαγή γλώσσας (π.χ. από Java σε VB)

geo71
27-05-05, 08:47
Καλά τα βιβλία, αλλά κατά τη γνώμη μου (20+ χρόνια, από VB ver. 1.0) αν δεν έχεις αντικείμενο δε μαθαίνεις μια γλώσσα.

Η γλώσσα είναι ένα εργαλείο, μπορεί σαν hobby να σου αρέσει και να σε βοηθήσει μελλοντικά, δεν το αποκλείεις a priori. Μπορεί να αφορά το πιό απλό πράγμα μέχρι το ποιό σύνθετο και δεν μπορεί να χαρακτηρίζει μονάχα τους καθαρά προγραμματιστές (ώς επάγγελμα). Μπορεί να μην εξαντλήσουν το 100% των δυνατοτήτων μιας γλώσσας αλλά τα βασικά θα τα μάθουν, όσοι αποφασίσουν να ασχοληθούν.


Αν δεν έχεις ακαδημαϊκές γνώσεις δεν μαθαίνεις Προγραμματισμό.

Δηλαδή ένας φιλόλογος μπορεί να μάθει Προγραμματισμό? Δεν συμφωνώ με τον γενικό πλαίσιο, συμφωνώ όμως με το ειδικό (συγκεκριμένες ακαδημαϊκές γνώσεις) για να μπορέσει κάποιος να ανταπεξέλθει στις ανάγκες του προγράμματος. Πιστεύω ότι ο προγραμματισμός είναι καθαρά συνδιασμός "εμπειρίας" και "διάβασματος".

yiapap
27-05-05, 12:46
@geo71,
Αντικείμενο δεν εννοούσα, επαγγελματικό! Αντικείμενο εννοούσα το να κάνεις ένα project. Μπορεί να είναι η διπλωματική σου, ή απλά μια ιδέα που είχες και θα την υλοποιήσεις στον ελεύθερό σου χρόνο.

Strictly speaking οποιοσδήποτε μπορεί να μάθει να προγραμματίζει. Αρκεί να έχει το κουράγιο (και το χρόνο) να διαβάσει πρώτα θεωρία. Αν ο φιλόλογός σου μπορεί να διαβάσει και να κατανοήσει έννοιες Άλγεβρας σαφώς και μπορεί να μάθει Προγραμματισμό. Αν μπορεί να διαβάσει και να κατανοήσει τη θεωρία του αντικειμενοστραφούς προγραμματισμού κανένα πρόβλημα. Όπως κατάλαβες αναφέρομαι στις ΣΧΕΤΙΚΕΣ ακαδημαϊκές/θεωρητικές γνώσεις!!!
Αν δεν κάνει τίποτε από τα παραπάνω, αλλά βρίσκεται μπροστά από το PC του 10 ώρες προγραμματίζοντας για την ευχαρίστησή του, σαφώς και θα μπορέσει στο τέλος να κάνει μια εφαρμογή διαχείρισης π.χ. της βιβλιοθήκης του. Αλλά δε θα το κάνει με τον βέλτιστο τρόπο (-πους) και αν μετά από 6 μήνες θελήσει να αλλάξει την εφαρμογή θα τα βρει μπαστούνια. Αν η εφαρμογεί ξεφύγει από ένα "διαχειρίσιμο" μέγεθος και αυξηθεί πολύ, θα σηκώσει τα χέρια.

Συνοψίζω:
Ο καθένας μπορεί να προγραμματίζει. Κατ' εξαίρεση ακόμη και χωρίς ακαδημαϊκές γνώσεις (πρόσεξε, ΟΧΙ περγαμηνές) μπορείς να γίνεις καλός προγραμματιστής. Αν όμως ΕΧΕΙΣ και τις γνώσεις τότε τα πράγματα γίνονται πολύ πιο εύκολα και σαφέστατα μπορούν να σε βοηθήσουν να περάσεις στο επόμενο επίπεδο.
Στο επίπεδο εκείνο που μπορείς να μεταπήδήσεις π.χ. από την VB στη Java ή στην Powerbuilder ή στην Delphi χωρίς να αυτοπυρποληθείς. Δες γύρω σου πόσοι από τους "προγραμματιστές" Flash, PHP ή ASP μπορούν να γράψουν μια εφαρμογή π.χ. σε Java ;)

WAntilles
27-05-05, 13:03
Πολύ σοφά εμίλησε ο Yiapap.

geo71
27-05-05, 13:27
@yiapap
Τώρα έγινες σαφής και με βρίσκεις απόλυτα σύμφωνο :thumbsup1

@ ADSLgr.com All rights reserved.