PDA

Επιστροφή στο Forum : visual basic 6.0



johny16
03-10-06, 22:18
παιδια εχω σοβαρο προβλημα προσπαθω να κανω μια εφαρμογη visual basic χρησιμοποιοντας την παραληλλη θυρα του υπολογιστη εχω βαλει ενα module ετσι ωστε να μπορω να ανταλαξω δεδομενα αλλα το προβλημα ειναι οτι καθε φορα που παω να κανω εφαρμογη το προγραμμα μου βγαζει error
"cannot find input 32.dll" το προγραμμα το εβγαλα και το ξανακανα εγκατασταση και τωρα δεν μου το ανοιγει καθολου λεει cannot "find file DAO350.DLL" ααα! ξεχασα να πω οτι τον κωδικο της παραληλλης τον βαζω σωστα παλια ηταν h378 και τωρα αφου εκανα φορματ και εβαλα ξανα τα windows (xp παντα)
μου αλλαξε την διευθυνση της και τωρα εχει γινει 0378-037f. λετε να ξανακανω εγκατασταση τα windows πειτε μου αν μπορειτε γιατι εχω :shock: :shock: φρικαρει αγρια πρωτη φορα το κανει στην vb αυτο το πραμα.

^Active^
04-10-06, 01:40
Βρες τα συγκεκριμενα dll αρχεια η απο αλλο ενα συστημα windows XP η απο το Google και κατεβασε τα και ριξε τα στo windows\system32. Good luck

aeonios
04-10-06, 02:06
Επίσης κοίτα αν η νέα διεύθυνση που πήρε σου δημιουργεί και κάποια διένεξη με άλλη συσκευή συστήματος από τον πίνακα ελέγχου->σύστημα

johny16
04-10-06, 13:22
Κοιτα το αποκλειω αυτο διοτι εχω ναι μεν κανει εγκατασταση τον εκτυπωτη μου χωρις cd γιατι τον αναγνωριζει αυτοματα αλλα δεν νομιζω οτι παιζει καποιο ρολο μιας και οταν βαζω την μικροκατασκευη
βγαζω απο την παραληλλη τον εκτυπωτη αρα δεν νομιζω οτι υπαρχει προβλημα.

chip
04-10-06, 13:37
Δεν ξέρω τι λάθος μπορεί να υπάρχει (υποθέτω οτι κάποια dll λήπει) αλλά το σίγουρο είναι οτι δεν άλλαξε η διεύθυνση. h378 ήταν και έμεινε 0378 (δηλαδή το ίδιο). Απλά όταν λέμε h378 εννοείτε και τις επόμενες διευθύνσεις έως h37f. (Η παράλληλη θύρα δεν καταλαμβάνει μία μόνο διεύθυνση αλλά μια ομάδα διευθύνσεων (από την εποχή του πρώτου PC) )

johny16
04-10-06, 15:54
ναι ναι καταλαβα λοιπον εκανα ακριβως αυτα που μου ειπατε για τα dll αρχεια βρηκα αυτα που ηθελα και τα περασα ομως δεν ανοιγε παλι κανω λοιπον ΞΑΝΑ εγκατασταση το προγραμμα και τελικα ανοιξε το προγραμμα ελα ομως που παρολο που εβαλα το 'dll input 32' στην θεση που μου ειπατε και το module για το προγραμμα και παλι μου βγαζει σφαλμα και αυτη την φορα που παω να κανω εφορμογη στο project μου κλεινει ολο το προγραμμα! ρε να κανω κανα format να ισιωσει μια και καλη???

frogman
04-10-06, 19:54
Που μπορώ να βρώ το visual basic 6.0 :?:

aeonios
05-10-06, 02:09
Που μπορώ να βρώ το visual basic 6.0 :?:
Νίκο η VB 6 είναι μια σειρά προϊόντων της MS που καθένα ανάλογα με τις ανάγκες σου πωλείται σε καταστήματα πληροφορικής κ δεν υπάρχει σε δωρεάν μορφή.

Θα σου πρότεινα για να αποφύγεις το κόστος, να πάρεις την VB 2005 Express Edition που διανέμεται δωρεάν από την επίσημη πηγή χωρίς να υστερεί σε δυνατότητες σε σχέση με την 6. Θέλει απλά λίγο υπομονή σε γρήγορη γραμμή.

http://msdn.microsoft.com/vstudio/express/vb/download/default.aspx

frogman
05-10-06, 14:11
aeonios σε ευχαριστώ πολλύ. :D

johny16
05-10-06, 19:54
παιδια κατεβασα και εγω την visual basic 2005 express edition αλλα διαφερει πολυ απο την 6.0 ειναι τελιως διαφορετικη οσον αφορα τις εφαρμογες και δυσκολη αφου για κανω a=5 print a και να μου εμφανισει το a οπως στην παλια εκδοση θελει 1002 ιστοριες ειναι φοβερα δυσκολη στο χειρισμο.[/img]

aeonios
05-10-06, 21:08
παιδια κατεβασα και εγω την visual basic 2005 express edition αλλα διαφερει πολυ απο την 6.0 ειναι τελιως διαφορετικη οσον αφορα τις εφαρμογες και δυσκολη αφου για κανω a=5 print a και να μου εμφανισει το a οπως στην παλια εκδοση θελει 1002 ιστοριες ειναι φοβερα δυσκολη στο χειρισμο.[/img]

Δύσκολη ? 8)

Ρίξτε μια ματιά εδώ:

http://msdn2.microsoft.com/en-us/library/ms364065.aspx

Επίσης για τις παλιές εφαρμογές της vb 6 υπάρχει αυτοματοποιημένη διαδικασία για την μεταφορά τους στην νέα έκδοση....το μόνο μεμπτό που έχω βρει είναι το ότι δεν μπορεί να μεταφέρει σωστά type libraries (αρχεία .tlb) που συνδέονται με εφαρμογές της 6.

johny16
06-10-06, 23:23
το προβλημα ειναι οτι δεν ξερω πως να το αρχισω ναι μεν με βγαζει στην φορμα εργασιας αλλα
μου λεει κατι οτι δεν "χτιστικε καλα" κατι για assemply κατι τετοια. αντε να δω τι θα κανω παντως οποιος μπορει ας βοηθησει μπηκα στο site αλλα δεν καταλαβα και πολλα!:(

aeonios
07-10-06, 04:16
Πες το μήνυμα που σου λέει για να το δούμε μαζί!
Φυσικά σου προτείνω να πάρεις ένα βιβλίο περί της γλώσσας όμως χοντρά χοντρά θα σου έλεγα πως στο απλοικό παράδειγμα που ανέφερες το αποτέλεσμα μια πράξης αν θες να το δείξεις στην αρχική φόρμα μπορείς απλά να βάλεις ένα πχ textbox και να μεταφέρεις το αποτέλεσμα στην ιδιοτητα text του textbox.

johny16
07-10-06, 17:02
Error 2 Name 'a' is not declared. F:\Documents and Settings\johnsen\My Documents\Visual Studio 2005\Projects\Form2.vb 5 15 inputbox




Error 3 Comma, ')', or a valid expression continuation expected. F:\Documents and Settings\johnsen\My Documents\Visual Studio 2005\Projects\Form2.vb 5 17 inputbox


Error 4 Name 'a' is not declared. F:\Documents and Settings\johnsen\My Documents\Visual Studio 2005\Projects\UserControl1.vb 4 9 inputbox




Error 5 Name 'a' is not declared. F:\Documents and Settings\johnsen\My Documents\Visual Studio 2005\Projects\UserControl1.vb 5 15 inputbox




και εκτος απο αυτα μεσα στον κωδικα μου εχει και αυτα:
Imports System.Reflection
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.


' TODO: Review the values of the assembly attributes


<Assembly>
<Assembly>
<Assembly>
<Assembly>
<Assembly>
<Assembly>
<Assembly>

' Version information for an assembly consists of the following four values:

' Major version
' Minor Version
' Build Number
' Revision

' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:

<Assembly>

αυτα βγαζει και οταν κανω
a=5
text=a
μου βγαζει τα errors που εχω ποιο πανω!

aeonios
07-10-06, 17:47
Σε λίγο καιρό θα δεις πόσο απλό θα σου φανεί φίλε!
Πήγαινε και βάλε στην φόρμα σου ένα πλαίσιο κειμένου (textbox). Θα το βρεις στο toolbox αριστερά από την φόρμα!!
Ονόμασε το πχ myTexbox από το τα properties κάτω δεξιά στην ιδιότητα (Name)

Kάνε διπλό κλικ στην φόρμα και αντικατέστησε στον κώδικα της φόρμας σου ότι βλέπεις παρακάτω!

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim A As Integer
A = 5



myTextBox.Text = A

End Sub
End Class

Τρέξε το κ με γειά σου!


Οπως είδες στην VB και σε αλλες γλώσσες κάθε μεταβλητή που χρησιμοποιούμε πρέπει ΑΠΑΡΑΙΤΗΤΑ να την δηλώνουμε και να τις δίνουμε αμέσως μετά ΑΡΧΙΚΗ ΤΙΜΗ!

kopla
07-10-06, 20:05
aeonios
Οπως είδες στην VB και σε αλλες γλώσσες κάθε μεταβλητή που χρησιμοποιούμε πρέπει ΑΠΑΡΑΙΤΗΤΑ να την δηλώνουμε και να τις δίνουμε αμέσως μετά ΑΡΧΙΚΗ ΤΙΜΗ!

Σκέψου το καλύτερα.

aeonios
07-10-06, 23:17
Πιστεύω πως αν έχεις εμπειρία προγραμματιστική θα ξέρεις ακριβώς τι εννοώ ! ;)
Για σκέψου το λίγο καλύτερα.... με βάση το σφάλμα του φιλου μας αλλά και με κάποια άλλη έννοια :)

kopla
08-10-06, 00:08
Έχω εμπειρία, από αρκετή έως πάρα πολύ.
Δεν έχω διαβάσει όλα τα post, απλά απάντησα βάσει αυτού που έγραψες εσύ. Ναι, πρώτα δηλώνεις μια μεταβλητή και μετά τη χρησιμοποιείς (τουλ. στην VB.NET, C# ...). Η μετάβαση από τη vb6 στην VB.NET είναι λίγο tricky ... ουσιαστικά μαθαίνεις μία καινούργια γλώσσα. Γι όσους διαβάζουν αυτό το thread, μετά τη vb6 ΔΕΝ έρχεται η vb7 ή VB.NET. Ο λόγος είναι ότι η μία είναι event driven ενώ η άλλη fully Object Orientated γλώσσα.
Ένα κοινό πρόβλημα είναι να χρησιμοποιήσεις μία μεταβλητή σε πράξεις, και η οποία να είναι NULL - δηλαδή να προκύψει runtime σφάλμα null reference (λογκό σφάλμα - μη ανιχνεύσιμο εκτός αν τρέξουμε την εφαρμογή). Αυτό, η μη αρχικοποίηση, αποτελεί τεχνική κάποιες φορές (δε θα αναφέρω λεπτομέρειες).

Dim a As Integer
TextBox1.Text = a ' Δε θα προκαλέσει σφάλμα... η default τιμή είναι 0
' Το ίδιο θα συμβεί και αν έγραφες Dim a As Integer = New Integer

Επίσης, κάτι τελευταίο. Το πιο σωστό είναι να γίνεται get-set σε όμοιους τύπους. Δεν προκαλέι σφάλμα στη VB.. (αν θες όμως μπορεί) αλλά το σωστό είναι:
TextBox1.Text = a.ToString()

_______________
Μην το πάρεις με αυτά που έγραψα ότι σε έστησα στα 3 μέτρα. :roll:

aeonios
08-10-06, 00:25
Αν είδες μίλησα γενικά και όχι για την vb!!

Πιστεύω να μην διαφωνείς πως δεν πρέπει ο προγραμματιστής να αφήνει στην τύχη μια μεταβλητή και να μην την αρχικοποιεί στο τμήμα κώδικα που γράφει ιδίως σε περιπτώσεις που πιθανόν η μεταβλητή χρησιμοποιείται σε διαφορετικά σημεία του κώδικα (αυτό το παλιο-Scoping) και σε πολλές ρουτίνες που μπορεί να έχουν γράψει άλλοι!

Eκει είναι ευαγγέλιο η αρχικοποίηση και περί αυτού μίλησα !

Μην το βλέπεις μόνο στα "στενά" όρια της vb...

Δεν ξέρω που σπούδασες προγραμματισμό αλλά πιστεύω πως για όσους ξεκίνησαν από άλλες εποχές όπως εγώ (sco unix/bull - c/cobol κτλ) οι καθηγητές τους τους είχαν ταράξει στην συμβουλή που ανέφερα. Φαντάζεσαι τι σκουπίδια θα εμφάνιζε μια μεταβλητή σε τέτοια περιβάλλοντα αν δεν της είχες περάσει αρχική τιμή αφού κάποιες γλώσσες ΔΕΝ φροντίζουν γιαυτό απλά παίρνουν χύμα στο κύμα ότι βρουν στη διεύθυνση μνήμης που δείχνει η μεταβλητή σου;

Στη vb δεν προκαλεί σφάλμα όπως είπες γιατί η κάθε μεταβλητη παίρνει Null τιμή by default ( από ότι ξέρω).

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

Kανείς δεν πιστεύω πως βγήκε ζημιωμένος από κάτι τέτοιο !

Οσο για το χύμα casting που έκανα έχεις δίκιο αν θέλουμε να είμαστε τυπικοί αλλά αφού όπως είπες η vb αποτυπώνει την εικόνα της μεταβλητής στο textbox k αυτό μας νοιάζει στο παράδειγμα του φίλου μας του Γιάννη! :)))Δεν ήθελα να το μπλέξω περισσότερο !

btw Δεν τα πήρα k δεν νοιώθω στημένος σε καμιά απόσταση, νομίζω τα ίδια φρονούμε ;)

kopla
08-10-06, 01:15
:D Ναι, τα ίδια φρονούμε.

Θα θίξω κάποια πράγματα,... μήπως θέλουν και άλλα members του forum να μπουν στο "παιχνίδι"!

Το scope των μεταβλητών και η χρήση τους από διάφορα σημεία της κλάσης ή του project
Θα αρχίσω με ένα δικό μου παράδειγμα-πραγματικό. Είχα φτιάξει ένα πρόγραμμα... Ο κύκλος ζωής ενός προγράμματος είναι γνωστός (τα στάδια είναι πάνω κάτω: Ιδέα, Προγραμματισμός, Αναβάθμιση, Τέλος). Έβγαλα τελική έκδοση του προγράμματος, και μετά από καιρό έφτασε το σημείο της αναβάθμισης (προσθήκη νέων στοιχείων (new functionallity + code optimizations)). Είχα κάνει τόση κακή χρήση των μεταβλητών, που έπεφτα εύκολα σε λογικά λάθη... δηλαδή χρησιμοποιούσα τη μεταβλητή πριν ακόμα καλέσω τη ρουτίνα που πχ κάνει πράξεις και την αρχικοποιεί. Ο compiler εννοείται δεν χτυπούσε, αλλά το αποτέλεσμα δεν ήταν σωστό. Τελικά αναγκάστηκα να ξαναφτιάξω το πρόγραμμα από την αρχή (χρόνος ~8μήνες δουλειά).
Με αυτό θέλω να πω ότι το scope των μεταβλητών είναι σημαντικό, και είναι πολύ καλό να είναι όσο το δυνατόν πιο μικρό (private, friend, protected ...). Αλλά θα μου πεις ότι, όσο μικρό και να είναι, η μεταβλητή θα είνια ορατή μέσα στην κλάση. Εδώ ακριβώς έρχονται τα properties.

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

Τώρα, όσο αφορά την αρχικοποίηση:
Dim a As String = String.Empty ' ή = ""
a = "Hello"

Εδώ δεν είναι αναγκαία γιατί κάνω ανάθεση και όχι χρήση. Παρόλα αυτά, εγώ κάνω αρχικοποίηση.

Η αρχικοποίηση, θα έλεγα ότι είναι σημαντική στις γλώσσες C, όπου γίνεται χρήση των pointers (* &)... Έτσι είναι πολύ εύκολο να πάρεις τα σκουπίδια που έχει η μνήμη σε εκείνο το σημείο!

Αυτά! :lol:

aeonios
08-10-06, 04:45
Η αρχικοποίηση, θα έλεγα ότι είναι σημαντική στις γλώσσες C, όπου γίνεται χρήση των pointers (* &)... Έτσι είναι πολύ εύκολο να πάρεις τα σκουπίδια που έχει η μνήμη σε εκείνο το σημείο!

.... :lol:


Μια χαρά!

Υπάρχει ένας λόγος για τον οποίο οι γλώσσες όπως C# και η VB δεν υποστηρίζουν τους δείκτες και εκείνος ο λόγος είναι ότι ένας δείκτης μπορεί να μην δειχνει σε τίποτα !!! Οι προγραμματιστές των γλωσσών αυτών δεν θέλανε να μπλέξουν τους απλούς χρήστες με τα ζόρια που τραβάνε όσοι παίζουν με δείκτες!

Είναι σημαντικό να αναφερθεί ότι τα σύγχρονα λειτουργικά συστήματα επιβάλλουν την έννοια της προστασίας μνήμης. Κάθε πρόγραμμα που γράφουμε κατέχει μερικες σελίδες μνήμης, όχι το ολόκληρο διάστημα διευθύνσεων του Η/Υ μας. Eπίσης τμήματα του προγράμματος μπορεί να αλλάζουν τη θέση μνήμης που βρίσκονται με την πάροδο του χρόνου με βάση τις ανάγκες του ΛΣ.

Εάν, τυχαία, ή με το στανιό ένας δείκτης συμβεί να δείξει σε μια διεύθυνση μνήμης που δεν ανήκει στο πρόγραμμα μας (πχ δείχνει σε μια διεύθυνση μνήμης στο χώρο που έχει ρεζερβέ ο Internet explorer που έχουμε ανοίξει κατά τύχη και προσπαθησουμε να διαβάσουμε ή να γράψουμε εκείνη την μνήμη τότε ο επεξεργαστής θα ρίξει μια εξαίρεση και το λειτουργικό σύστημα θα τερματίσει πιθανώς το πρόγραμμα-μπορεί να δούμε και την πολυαγαπήμενη μας μπλε οθόνη.

Η αγαπημένη γλώσσα μου είναι η C++, έτσι δεν μπορώ να αποφύγω τους δείκτες. Τι κάνω; Υπάρχουν δύο πράγματα .

1) όποτε παίρνω έναν δείκτη από κάποιο function πχ τον τσεκάρω . Σιγουρευομαι ότι δεν είναι ΝULL. Eπίσης τσεκάρω εάν ένας δείκτης που πρόκειται να γράψω μέσω αυτού είναι writeable πρίν προσπαθήσω να γράψω σε αυτόν. Ομοια ότι εάν είναι ένας δείκτης που πρόκειται να διαβάσω από αυτόν είναι αναγνώσιμος πρίν διαβάσω.

2) εάν ο κώδικάς επιστρέφει έναν δείκτη πρέπει να είσαι πολύ βέβαιος ότι επιστρέφει έναν δείκτη που ταιριάζει με τη σύμβαση του καλούμενου τμήματος αλλιώς καλύτερα να επιστρέφει NULL αλλά με την προοπτική πάλι πως το καλών τμήμα κώδικα ελέγχει για NULLS αλλιώς το σύστημα πάει πάλι για κρασάρισμα!

Αν αυτά σας φαίνονται κινέζικα η VB είναι η γλώσσα που για αρχή σας ταιριάζει!!

johny16
08-10-06, 13:17
παιδια ευχαριστω πολυ για την κατατοπιση ωστοσο εγω ειχα βολευτει με την vb 6.0 διοτι ολα γινονταν αμεσως χωρις να δωσω στην μεταβλητη ιδιοτητα και οσο να ναι ειναι πολυ βολικο! :) ιδιοτητα επρεπε να δωσεις οταν εκανες πολυπλοκο προγραμμα για να υπαρχει ασφαλεια και καλη λειτουργεια.

johny16
08-10-06, 13:37
λοιπον το προσπαθησα αυτο που μου ειπες αλλα μου βγαζει και αυτο το error :evil: :evil: :evil: :Visual studio cannot start debugging because the debug target
'F:\Documents and Settings\johnsen\Local Settings\Application Data\Temporary Projects\WindowsApplication1\bin\Debug\WindowsAppl ication1.exe is missing
Please build the project and retry or set the outputpath and Assemply Name properties appropriately to point at the correct location for the target assembly.


τα νευρααα μουυυυ!!!! :x :x :x :x :x :x :x :x :x :x

kopla
08-10-06, 15:52
Υπάρχει ένας λόγος για τον οποίο οι γλώσσες όπως C# και η VB δεν υποστηρίζουν τους δείκτες ...

Μία μικρή διόρθωση: Μπορείς στην C# να χρησιμοποιήσεις pointers! Πρέπει όμως να το δηλώσεις στον compiler και, να ενεργοποιήσεις - και να τους χρησιμοποιήσεις σε unsafe μεθόδους. Εδώ μπλέκουν πολύ τα πράγματα...

aeonios
08-10-06, 17:58
Υπάρχει ένας λόγος για τον οποίο οι γλώσσες όπως C# και η VB δεν υποστηρίζουν τους δείκτες ...

Μία μικρή διόρθωση: Μπορείς στην C# να χρησιμοποιήσεις pointers! Πρέπει όμως να το δηλώσεις στον compiler και, να ενεργοποιήσεις - και να τους χρησιμοποιήσεις σε unsafe μεθόδους. Εδώ μπλέκουν πολύ τα πράγματα...

Oρθόν!!

Γιαυτό και η MS λέει πως δεν τους υποστηρίζει (και δεν κάνει support στους developers από ότι θυμάμαι) και δεν προτρέπει να τους δουλεύουμε από την C# !!

Ενα παράδειγμα προς αποφυγή http://msdn2.microsoft.com/en-us/library/zftak1k3.aspx

@Johny16 Δοκίμασε να ανοίξεις το απλοικό project που προσάρτησα και πες μου αν τρέχει...

johny16
08-10-06, 19:22
οκ παιδια ευχαριστω για την κατατοποιση κατι καταφερα να στε καλα!

Angel
19-12-06, 01:51
Παιδιά SOS, το κεφάλι μου....
Είμαι κανούργιος στην VB 6, φτιάχνω ένα project για τη σχολή.
Έχω τοποθετήσει ένα flexgrid και δε μπορώ να βρω τον τρόπο να κάνει autoscroll στο τελευταίο εισαχθέν κελί μόνο του! Τα νεύρα μου παιδιά βοήθεια....

GEWKWN
19-12-06, 04:40
στα ορχικο μυνημα ρε συ αφου απαντησω και
αφου προσπαθησω να σου δωσω μια λυση διοτι το ποτο
(*ξυδια*) αυτη την στιγμη στην ουσια μιλανε
χαχαχα( ειμαι μαλλον τυφλα)
τεσπα το "input32.dll" εχω την εντυπωση
(δεν ειμαι σιγουρος) οτι θελει ειδικη εκδοση για τα xp
παντως το γεγονος οτι δεν σου βρισκει το συκγεκριμενο
dll μαλλον συμαινει οτι το dll για καποιο τροπο που
δεν μπορω νβα καταλαβω για την ωρα δεν ειναι "συσχετισμενο"
στον υπολογιστη σου αν τορα δεν "τρεχει" σε αλλο υπολογιστη τοτε μαλλον
φταιει το setup του προγραματος διοτι δεν εχει φωρτωσει το συνολο των dll
του serivce pack της vb
τωρα οσο αναφορα το "374" ειναι η τιμη σε hex που δινει την access της παραλληλησ για
εξοδο δεδομενων χωρις χρηση περεταιρω μνημωμ εισοδου εξοδου-ειδοδου
που δινει σαν δυνατοτητα η παραλληλη θυρα (υπαρχει ενα σχετικο Pdf σε καποια
συζητηση αλλα δεν ειμαι σε θεση να το βρω, "τιφτικι") λοιπων
για απλη εξοδο σε μορφη hex η access ειναι &Η378&
η σε dec 888
τωρα ο υπολογιστης σου δινει παντα σε hex μορφη την access του υπολογιστη
για την καθε χρηση
****
αυτο που ουσιαστικα θελω να γραψω ειναι
περα παο την απαντηση στον φιλο με την απορια
ειναι οτι για κανενα λογο δεν πρεπει να πινουμε
παραπανω απο οτι "βασταει" ο οργανισμος μας
αν για καποιο απροδιοριστο λογο καταλαβες αυτο που εγραψα φιλε
Angel σε ολο το μηκος της ουσιαστιακα για μενα τουλαχιστων "μεθυσμενης"
απαντησης επλιζω να σου εδωσα ενα βημα παραπερα για την επιλιση του προβληματος σου
Αν τορα δεν εβγαλεσ ακρη απο το γραπτο μου μυνημα τοτε απλα
προς ολους τους χρηστες του φορουμ
ΜΗΝ ΠΙΝΕΤΕ ΠΑΡΑΠΑΝΩ ΑΠΟΤΙ ΣΑΣ ΠΑΙΡΝΕΙ'

φΙΛΙΚΑ ΓΙΩΡΓΟς.

GEWKWN
19-12-06, 04:47
τελικα ειμαι " τιφτικι"
δεν βγαζω ουτε εγω ακρη απο το μυνημα μου

παρακαλω τα παιδια στον συντονισμο του
φορουμ να βαλουν τομυνημα μου σαν μυνημα
(οσο αυτο ειναι δυνατον) για να μην πινουμε παραπανω
αποσο πρεπει
Φιλε Angel μην με παρεξειγεις θα προσπαθησω να σου γραψω μια
σωστη λυση σε καθεστος "νυφαλεοτιτας"
Φιλικα γιωργος

aeonios
19-12-06, 10:16
Υποθέτω δουλεύεις την MSFlexGrid και όχι κάποιο custom activex control.


Δοκίμασε να κάνεις την τρέχουσα γραμμή .visible αν η προηγούμενη είναι επίσης .visible !

Θες να το δεις και να μας πεις γιατί δεν έχω vb εδώ !

Angel
19-12-06, 13:28
Ναι το msflexgrid έχω, και αυτό που λες δεν γίνεται για μια συγκεκριμένη γραμμή. .visible κάνει για ολόκληρη τη δομή.
Καμιά άλλη ιδέα; Εχω φάει τα ebooks τίποτα δε βρήκα πάνω στο συγκεκριμένο θέμα...

aeonios
19-12-06, 15:56
Ναι το msflexgrid έχω, και αυτό που λες δεν γίνεται για μια συγκεκριμένη γραμμή. .visible κάνει για ολόκληρη τη δομή.
Καμιά άλλη ιδέα; Εχω φάει τα ebooks τίποτα δε βρήκα πάνω στο συγκεκριμένο θέμα...

Οκ............ κάνεις δουλεια αν με τo sendkeys στείλεις CTRL + END και πριν έχεις κάνει focus στο grid ; (το βρήκα κάπου στο internet)

Angel
19-12-06, 17:01
focus πως κάνω; Ευχαριστώ πολύ, θα το δοκιμάσω και θα σας ενημερώσω.

aeonios
19-12-06, 17:30
focus πως κάνω; Ευχαριστώ πολύ, θα το δοκιμάσω και θα σας ενημερώσω.

Καλή τύχη!
Κάνε κάτι στο στυλ

if flex.rows > 0 then
flex.rowsel=flex.rows-1
end if

Angel
19-12-06, 18:26
Το έκανα!
MSFlexGrid2.SetFocus
SendKeys ("^{end}")

Ευχαριστώ πολύ...αν ξέρατε τώρα και πως γίνεται ένα γράφημα με real time ανανέωση.......

aeonios
19-12-06, 19:40
Ευχαριστώ πολύ...αν ξέρατε τώρα και πως γίνεται ένα γράφημα με real time ανανέωση.......

Συγχαρητήρια από μένα!

Από που παίρνει τιμές το γράφημα?

Angel
19-12-06, 23:40
Το γράφημα παίρνει τιμές από ένα προσωρινό πίνακα ακριβώς για αυτή τη δουλειά. Δεν ξέρω αν γίνεται να παίρνει τις τιμές του flexgrid, θα ήταν πολύ καλύτερο.
Δουλεύει πάντως, μένει τώρα να κάνω και τη σειριακή επικοινωνία με τον 8051.

aeonios
20-12-06, 01:19
Το γράφημα παίρνει τιμές από ένα προσωρινό πίνακα ακριβώς για αυτή τη δουλειά. Δεν ξέρω αν γίνεται να παίρνει τις τιμές του flexgrid, θα ήταν πολύ καλύτερο.
Δουλεύει πάντως, μένει τώρα να κάνω και τη σειριακή επικοινωνία με τον 8051.
Αν μπορείς να ελέγχεις την αλλαγή στις τιμές του πίνακα (προσθαφαίρεση/σορτάρισμα) τότε μπορείς υποθέτω να κάνεις refresh στις τιμές του γραφήματος μετά την αλλαγή !
Εναλλακτικά μπορείς να του κάνεις ένα refresh σε ένα χρονικό διάστημα σταθερό πχ 2 sec εξαρτάται φυσικά ποιο control χρησιμοποιείς και τι δεδομένα περιέχει ο πίνακας σου. Με ποιο control κάνεις γράφημα;

Angel
20-12-06, 14:43
Κάθε φορά που αλλάζω τον πίνακα, δηλαδή τα δεδομένα μου κάνω κι ένα refresh το γράφημα. ΟΚ δουλεύει μια χαρά, απλά δεν ξέρω αν γίνεται να παίρνει τιμές το mschart1 από το flexgrid1. Το δοκίμασα δηλαδή και δεν το πήρε.
Δεν πειράζει, δουλεύει κι έτσι και είναι ΟΚ.
Ευχαριστώ πολύ για όλα. (αυτό το με ποιο control κάνω γράφημα σόρι δεν καταλαβαίνω τι εννοείς)
Πάμε για τη σειριακή τώρα και τελειώσαμε!
Αν δηλώσω μια μεταβλητή ως variant μπορεί να παίρνει και νούμερο, και χαρακτήρα;
Ρωτάω γιατί θέλω να κάνω το εξής. Να στέλνω από τον 8051 "Τ" (δηλαδή θερμοκρασία) και μετά το νούμερο, μετά πάλι "Η" (υγρασία) και μετά πάλι το νούμερο...

aeonios
20-12-06, 16:05
Κάθε μεταβλητή που ΔΕΝ δηλώνουμε διαφορετικά είναι πάντα σε μορφή variant οπότε παίρνει τιμές όπως είπες!
Αν θες να πάρεις την θερμοκρασία από τη μεταβλητή σε ακέραια τιμή χρησιμοποίησε την CInt ενώ αν έχεις την θερμοκρασία με ακρίβεια υποδιαστολή ίσως να προτιμήσεις την CLng.Για να διαχωρίσεις πάλι τις τιμές ανάμεσα στην θερμοκρασία και την υγρασία παίξε με τις Right και Left (χειρισμός strings)

Angel
20-12-06, 23:41
Πώς παίζεις με τις right και left; Πως απομονώνεις δηλαδή κάποια strings?

aeonios
21-12-06, 00:31
Πώς παίζεις με τις right και left; Πως απομονώνεις δηλαδή κάποια strings?

Επειδή δεν μπορώ να σου δώσω από εδώ τα βιβλία μου ορίστε τι λένε οι μπαμπάδες των εντολών:

http://support.microsoft.com/kb/141287

Angel
21-12-06, 01:20
Ευχαριστώ πολύ aeonios.

Angel
24-12-06, 18:20
Το project έχει σχεδόν τελειώσει. Ένα πραγματάκι μου λείπει και μου σπάει τα νεύρα.
Μπορώ να ανοίξω ένα arxeio.xls και να μη ξεκινήσω να γράφω από την αρχή, αλλά να συνεχίσω από εκεί που ήμουνα;
Αυτό που έκανα είναι data logger, ανοίγει το .xls και γράφει ημερομηνία, ώρα, τιμή σε τρία διπλανά κελιά και μετά πάει από κάτω μόνο του.
Το πρόβλημά μου είναι ότι ανοίγει το αρχείο για logging και ουστιαστικά σβήνει το προηγούμενο και αρχίζει από την αρχή! Βοήθεια...

aeonios
24-12-06, 23:58
Το project έχει σχεδόν τελειώσει. Ένα πραγματάκι μου λείπει και μου σπάει τα νεύρα.
Μπορώ να ανοίξω ένα arxeio.xls και να μη ξεκινήσω να γράφω από την αρχή, αλλά να συνεχίσω από εκεί που ήμουνα;
Αυτό που έκανα είναι data logger, ανοίγει το .xls και γράφει ημερομηνία, ώρα, τιμή σε τρία διπλανά κελιά και μετά πάει από κάτω μόνο του.
Το πρόβλημά μου είναι ότι ανοίγει το αρχείο για logging και ουστιαστικά σβήνει το προηγούμενο και αρχίζει από την αρχή! Βοήθεια...

Φίλε μου η απάντηση του append είναι πάλι στους μπαρμπάδες της vb και το κάνουν μέσα από σύνδεση με ADO.

http://support.microsoft.com/kb/257819

για να μην χρειάζεται να κάνεις ψευτο-references για το τελευταίο editing :)

Angel
25-12-06, 20:15
Δεν έχω βρει άκρη ακόμα, αλλά δεν έχω ασχοληθεί και πολύ. Μεθαύριο μάλλον θα έχω τελέψει...

aeonios
25-12-06, 22:43
Για το append πρόσεξε τι λέει:

You can add records to your Excel recordsource as space allows. However, if you add new records outside the range that you originally specified, these records are not visible if you requery on the original range specification. See earlier under "A caution about specifying ranges."

In certain circumstances, when you use the AddNew and Update methods of the ADO Recordset object to insert new rows of data into an Excel table, ADO may insert the data values into the wrong columns in Excel. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
314763 (http://support.microsoft.com/kb/314763/EN-US/) FIX: ADO Inserts Data into Wrong Columns in Excel

Angel
16-03-07, 04:20
Παιδιά sos θα τρελαθώ. Εκείνο το project τελείωσε όλα καλά. Τώρα ασχολούμαι με άλλο και είπα να αναβαθμιστώ σε visual basic 2005. Πως ψαχουλεύω δεν βρίσκω τη γραμμή. Χρειάζομαι να ζωγραφίσω γραμμές που θα πατάω κουμπάκια και άλλες θα εμφανίζονται άλλες θα εξαφανίζονται σαν animation ένα πράμα. Πως γίνεται αυτό ρε παιδιά στην visual basic 2005? Έτοιμος είμαι να ξαναβάλω την 6 που ήταν εύκολα αυτά απλά θα δουλεύω στα XP και όχι στα vista... Ευχαριστώ..