Σελίδα 6 από 7

Re: Visual basic

Δημοσιεύτηκε: 27 Οκτ 2020, 19:35
από wooded glade
axilmar έγραψε: 27 Οκτ 2020, 19:21
wooded glade έγραψε: 27 Οκτ 2020, 14:31
axilmar έγραψε: 27 Οκτ 2020, 09:29

Φυσικά και δεν στο έκανε, γιατί είναι εντελώς χαζό. Στο .ΝΕΤ κανείς new τα objects.
Δεν κατάλαβα.
https://docs.microsoft.com/en-us/dotnet ... etcore-3.1

ουτε καν τα βασικα;
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.

Re: Visual basic

Δημοσιεύτηκε: 28 Οκτ 2020, 17:46
από klg
wooded glade έγραψε: 27 Οκτ 2020, 19:35
axilmar έγραψε: 27 Οκτ 2020, 19:21
wooded glade έγραψε: 27 Οκτ 2020, 14:31

Δεν κατάλαβα.
https://docs.microsoft.com/en-us/dotnet ... etcore-3.1

ουτε καν τα βασικα;
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;

Κώδικας: Επιλογή όλων

Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
        For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
        	controls(i) = New TextBox()
        Next i

Re: Visual basic

Δημοσιεύτηκε: 23 Νοέμ 2020, 20:36
από bedouin024
wooded glade έγραψε: 14 Οκτ 2020, 10:33 Αλλά σε basic δεν υπάρχει κάτι να ξεφύγει κανείς από τον τσιπάκια ;
Προτείνω την BlitzMax

Re: Visual basic

Δημοσιεύτηκε: 23 Νοέμ 2020, 20:47
από Δημοκρατικός
klg έγραψε: 28 Οκτ 2020, 17:46
wooded glade έγραψε: 27 Οκτ 2020, 19:35
axilmar έγραψε: 27 Οκτ 2020, 19:21

https://docs.microsoft.com/en-us/dotnet ... etcore-3.1

ουτε καν τα βασικα;
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;

Κώδικας: Επιλογή όλων

Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
        For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
        	controls(i) = New TextBox()
        Next i
Πονέσαν τα κεφάλια μας :011:

Γράψτο μία σε C# να ξαναμπούν τα μυαλά στο κεφάλι :003:

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2020, 22:02
από klg
Δημοκρατικός έγραψε: 23 Νοέμ 2020, 20:47
klg έγραψε: 28 Οκτ 2020, 17:46
wooded glade έγραψε: 27 Οκτ 2020, 19:35

tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;

Κώδικας: Επιλογή όλων

Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
        For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
        	controls(i) = New TextBox()
        Next i
Πονέσαν τα κεφάλια μας :011:

Γράψτο μία σε C# να ξαναμπούν τα μυαλά στο κεφάλι :003:
Καλά, γενικά δεν χρειάζεται ποτέ να γράψεις κάτι τέτοιο (ούτε σε C#, ούτε σε VB), PoC για τον κάφτη τον wooden ήταν.

Re: Visual basic

Δημοσιεύτηκε: 26 Νοέμ 2020, 19:17
από Γιάννης
wooded glade έγραψε: 14 Οκτ 2020, 09:01 Η visual basic είναι καλούτσικη γλώσσα και γρήγορη.
Έχω την vb6 και τη χρησιμοποιώ για να φτιάχνω διάφορα apps και επίσης για υπολογισμούς.

Αλλά ξέρετε από πότε είναι ;
Από το ... 1998 είναι !
Φυσικά η Microsoft δεν την υποστηρίζει πιά και επίσης κάποια από τα βοηθητικά αρχεία dll της λείπουν εντελώς από τις νεώτερες εκδόσεις των windows (7.00 - 10.00).
Τι γίνεται ;

Υπάρχουν νεώτερες εκδόσεις - ίσαμε 10.
Έχω εγώ μία του 2006.
Αλλά από την vb6 και μετά είναι όλες οικτρά υποβαθμισμένες.
Έδοξε τω τσιπάκια να είναι οικτρά υποβαθμισμένες.

Δεν το λέω μόνο εγώ αυτό. Το λένε όλοι και μάλιστα υπάρχουν πολλά φόρουμ vb6 users στο διαδίκτυο όπου συζητιώνται διάφορα προγραμματιστικά θέματα, με βάση την vb6 του 1998 πάντα.

Κάποιο αντίστοιχο νεώτερο προϊόν υπάρχει λοιπόν ή θα μείνουμε με αυτό ;
+έλεοc+

Είμαστε στον 20ο αιώνα, μην ασχολείσαι με πτώματα νεκρών γλωσσών. Βάλε python να κάνεις τη δουλειά σου σαν άθρωπος.

Η έστω C# αν καίγεσαι περισσότερο για Windows apps.

Άκου VB... πού τη θυμήθηκες χριστιανέ μου...

Re: Visual basic

Δημοσιεύτηκε: 26 Νοέμ 2020, 19:27
από parafrwn
Γιάννης έγραψε: 26 Νοέμ 2020, 19:17
wooded glade έγραψε: 14 Οκτ 2020, 09:01 Η visual basic είναι καλούτσικη γλώσσα και γρήγορη.
Έχω την vb6 και τη χρησιμοποιώ για να φτιάχνω διάφορα apps και επίσης για υπολογισμούς.

Αλλά ξέρετε από πότε είναι ;
Από το ... 1998 είναι !
Φυσικά η Microsoft δεν την υποστηρίζει πιά και επίσης κάποια από τα βοηθητικά αρχεία dll της λείπουν εντελώς από τις νεώτερες εκδόσεις των windows (7.00 - 10.00).
Τι γίνεται ;

Υπάρχουν νεώτερες εκδόσεις - ίσαμε 10.
Έχω εγώ μία του 2006.
Αλλά από την vb6 και μετά είναι όλες οικτρά υποβαθμισμένες.
Έδοξε τω τσιπάκια να είναι οικτρά υποβαθμισμένες.

Δεν το λέω μόνο εγώ αυτό. Το λένε όλοι και μάλιστα υπάρχουν πολλά φόρουμ vb6 users στο διαδίκτυο όπου συζητιώνται διάφορα προγραμματιστικά θέματα, με βάση την vb6 του 1998 πάντα.

Κάποιο αντίστοιχο νεώτερο προϊόν υπάρχει λοιπόν ή θα μείνουμε με αυτό ;
+έλεοc+

Είμαστε στον 20ο αιώνα, μην ασχολείσαι με πτώματα νεκρών γλωσσών. Βάλε python να κάνεις τη δουλειά σου σαν άθρωπος.

Η έστω C# αν καίγεσαι περισσότερο για Windows apps.

Άκου VB... πού τη θυμήθηκες χριστιανέ μου...
:+1:

Re: Visual basic

Δημοσιεύτηκε: 22 Νοέμ 2023, 15:19
από ΑΧΑΡΙΣΤΟΣ
Γνωριζει κανεις VB?

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]

Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.

Στο excel that is....

:sal5:

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 14:39
από Isildur
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19 Γνωριζει κανεις VB?

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]

Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.

Στο excel that is....

:sal5:
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range

Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
:102:

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 16:52
από ΑΧΑΡΙΣΤΟΣ
Isildur έγραψε: 24 Νοέμ 2023, 14:39
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19 Γνωριζει κανεις VB?

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]

Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.

Στο excel that is....

:sal5:
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range

Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
:102:
Ευχαριστω αλλα το εχω δοκιμασει και δε δουλευει. Πιο συγκεκριμενα μου δινει #NAME? sto column R. Εχω δοκιμασει διαφορους τροπους αλλα τιποτα. Ειμαι ψιλοασχετος με VB αλλα δε μπορω να καταλαβω γιατι μου δινει #NAME?

Κώδικας: Επιλογή όλων


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
   
   Dim lastRow As Long
    
    Dim RangeL As Range
    Dim RangeQ As Range
    Dim RangeO As Range
    Dim RangeR As Range
        
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row
    
    Set RangeL = Range("L4:L" & lastRow)
    Set RangeO = Range("O4:O" & lastRow)
    Set RangeQ = Range("Q4:Q" & lastRow)
    Set RangeR = Range("R4:R" & lastRow)
    
     RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
    
    Application.ScreenUpdating = True

End If

End Sub


Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 18:43
από Isildur
ΑΧΑΡΙΣΤΟΣ έγραψε: 24 Νοέμ 2023, 16:52
Isildur έγραψε: 24 Νοέμ 2023, 14:39
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19 Γνωριζει κανεις VB?

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]

Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.

Στο excel that is....

:sal5:
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:

Κώδικας: Επιλογή όλων

lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range

Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
:102:
Ευχαριστω αλλα το εχω δοκιμασει και δε δουλευει. Πιο συγκεκριμενα μου δινει #NAME? sto column R. Εχω δοκιμασει διαφορους τροπους αλλα τιποτα. Ειμαι ψιλοασχετος με VB αλλα δε μπορω να καταλαβω γιατι μου δινει #NAME?

Κώδικας: Επιλογή όλων


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
   
   Dim lastRow As Long
    
    Dim RangeL As Range
    Dim RangeQ As Range
    Dim RangeO As Range
    Dim RangeR As Range
        
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row
    
    Set RangeL = Range("L4:L" & lastRow)
    Set RangeO = Range("O4:O" & lastRow)
    Set RangeQ = Range("Q4:Q" & lastRow)
    Set RangeR = Range("R4:R" & lastRow)
    
     RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
    
    Application.ScreenUpdating = True

End If

End Sub

Το

Κώδικας: Επιλογή όλων

RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]


είναι σωστό; Κάτι δεν μ' αρέσει στη σύνταξη, αλλά μπορεί να κάνω και λάθος. Εννοώ, εκείνο το " INDEX((RangeL +INDEX((RangeO),) " είναι εντάξει;

Επίσης, τα Set RangeL = Range("L4:L" & lastRow) κλπ είναι σωστά;
Μήπως χρειάζεται η πλήρης σύνταξη Set RangeL = Range("L4:L" & lastRow).Range;

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 18:57
από Yochanan

Κώδικας: Επιλογή όλων

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
        Dim lastRow As Long
        Dim RangeL As Range
        Dim RangeQ As Range
        Dim RangeO As Range
        Dim RangeR As Range

        lastRow = Cells(Rows.Count, "A").End(xlUp).Row
        Set RangeL = Range("L4:L" & lastRow)
        Set RangeO = Range("O4:O" & lastRow)
        Set RangeQ = Range("Q4:Q" & lastRow)
        Set RangeR = Range("R4:R" & lastRow)
        
        RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
        Application.ScreenUpdating = True
    End If
End Sub
ChatGPT

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 19:00
από Isildur
Yochanan έγραψε: 24 Νοέμ 2023, 18:57

Κώδικας: Επιλογή όλων

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
        Dim lastRow As Long
        Dim RangeL As Range
        Dim RangeQ As Range
        Dim RangeO As Range
        Dim RangeR As Range

        lastRow = Cells(Rows.Count, "A").End(xlUp).Row
        Set RangeL = Range("L4:L" & lastRow)
        Set RangeO = Range("O4:O" & lastRow)
        Set RangeQ = Range("Q4:Q" & lastRow)
        Set RangeR = Range("R4:R" & lastRow)
        
        RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
        Application.ScreenUpdating = True
    End If
End Sub
ChatGPT
Εικόνα

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 19:09
από Dwarven Blacksmith
Το δοκίμασα κι εγώ

Εικόνα

Re: Visual basic

Δημοσιεύτηκε: 24 Νοέμ 2023, 19:23
από ΑΧΑΡΙΣΤΟΣ
Yochanan έγραψε: 24 Νοέμ 2023, 18:57

Κώδικας: Επιλογή όλων

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
        Dim lastRow As Long
        Dim RangeL As Range
        Dim RangeQ As Range
        Dim RangeO As Range
        Dim RangeR As Range

        lastRow = Cells(Rows.Count, "A").End(xlUp).Row
        Set RangeL = Range("L4:L" & lastRow)
        Set RangeO = Range("O4:O" & lastRow)
        Set RangeQ = Range("Q4:Q" & lastRow)
        Set RangeR = Range("R4:R" & lastRow)
        
        RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
        Application.ScreenUpdating = True
    End If
End Sub
ChatGPT
Run-time error '13':
Type mismatch


Chat G T P

Isildur έγραψε: 24 Νοέμ 2023, 18:43
Το

Κώδικας: Επιλογή όλων

RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]


είναι σωστό; Κάτι δεν μ' αρέσει στη σύνταξη, αλλά μπορεί να κάνω και λάθος. Εννοώ, εκείνο το " INDEX((RangeL +INDEX((RangeO),) " είναι εντάξει;

Επίσης, τα Set RangeL = Range("L4:L" & lastRow) κλπ είναι σωστά;
Μήπως χρειάζεται η πλήρης σύνταξη Set RangeL = Range("L4:L" & lastRow).Range;
Δε ξερω. το Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)] δουλευει μια χαρα.

Set RangeL = Range("L4:L" & lastRow).Range; Αν βαλω .Range μου γυριζει λαθος.

Θa ξανακοιταξω aργοτερα ή αυριο γιτι επιασα το hardware τωρα.