Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Βοήθεια για VB2008
Καλησπέρα. Υπάρχει καμία εφαρμογή σε VB 2008 που να διαβάζει από ένα αρχείο .txt κωδικούς. Για παράδειγμα: να γράφω σε ένα textbox ένα κωδικό και να ψάχνει στο αρχείο (kodikoi.txt) τους κωδικούς. Αν τον βρει να βγάλει μήνυμα ότι ο κωδικός είναι στο αρχείο αλλιώς είναι λάθος. Οι κωδικοί είναι ο ένας κάτω από τον άλλων. Έχω φτιάξει ένα πρόγραμμα αλλά βλέπει μόνο των τελευταίο κωδικό ότι υπάρχει στο αρχείο δεν μπορώ να καταλάβω τι λάθος κάνω. Έχετε καμία ιδέα το πώς θα γίνει. |
#2
| ||||
| ||||
Καλησπέρα Γιώργο και καλωσόρισες στο φόρουμ! Το καλύτερο θα ήταν να δημοσίευες τον προβληματικό κώδικα για να δούμε κι εμείς το πρόβλημα. Σου δίνω τρεις παραδειγματικούς κώδικες παρακάτω που ίσως σε βοηθήσουν. Κώδικας: '''VB - VBA Sub checkSerial() If SerialExists("G-123456") Then MsgBox "Serial found!" End If End Sub Function SerialExists(StrCode As String) As Boolean Dim fso As Object, oStream As Object, strText As String Set fso = CreateObject("Scripting.FileSystemObject") Set oStream = fso.OpenTextFile("C:\test.txt", 1) strText = oStream.ReadAll If InStr(1, strText, StrCode) > 0 Then SerialExists = True End If oStream.Close End Function '''VB.Net 'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Dim fileReader As String ' fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt") ' If fileReader.Contains("G_123456") Then ' MsgBox ("Serial found!") ' End If ' End Sub '''// C# '// private void Button1_Click(System.Object sender, System.EventArgs e) '// { '// string fileReader = null; '// fileReader = My.Computer.FileSystem.ReadAllText("C:\\test.txt"); '// if (fileReader.Contains("G_123456")) { '// Interaction.MsgBox("Serial found!"); '// } '// } Καλή συνέχεια! Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Ευχαριστώ για την βοήθεια αυτό που έχω κάνει εγώ είναι να διαβάζει το αρχείο Να το βάζει σε ένα <<txtNote>> για να δω ότι όντως το διαβάζει και προσπάθησα να το κάνω να ελέγχει μια μια τις γραμμές εάν είναι ίσες με το <<Txtkodikos>> αλλά μου έβγαζε μόνο την πρώτη γραμμή του αρχείου. Άλλαξα το StreamToDisplay.ReadLine σε StreamToDisplay.ReadΤοEnd αλλά σε αυτή τη περίπτωση διάβαζε το αρχείο αλλά ότι και να έβαζα στο <<txtkodikos>> μου έλεγε άκυρος κωδικός. Private Sub OKToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKToolStripMenuItem.Click Dim StreamToDisplay As IO.StreamReader Do StreamToDisplay = New IO.StreamReader("C:Energa klidia.txt") txtNote.Text = StreamToDisplay.ReadLine StreamToDisplay.Close() txtNote.Select(0, 0) If txtkodikos.Text = txtNote.Text Then TextBox1.Text = ("O kodikos einai sto arxio") Else TextBox1.Text = ("Akiros kodikos") End If Loop Until 1 End Sub |
#4
| ||||
| ||||
Αγαπητέ Γιώργο, Ο κώδικας σου στο μήνυμα έχει ένα τυπογραφικό λάθος (C:Energa klidia.txt χωρίς "\"). Δοκίμασε: Κώδικας: Private Sub OKToolStripMenuItem_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles OKToolStripMenuItem.Click Dim StreamToDisplay As IO.StreamReader Dim x As String, CompareString As String, CodeFound As Boolean Me.TextBox1.Text = vbNullString CompareString = Me.txtkodikos.Text Try StreamToDisplay = New IO.StreamReader("C:\Energa klidia.txt") Catch If StreamToDisplay Is Nothing Then MsgBox("File not found!") Exit Sub End If End Try Do Until StreamToDisplay.EndOfStream x = StreamToDisplay.ReadLine If x = CompareString Then CodeFound = True Exit Do End If Loop If CodeFound = True Then TextBox1.Text = ("Ο κωδικός υπάρχει") Else TextBox1.Text = ("Άκυρος κωδικός!") End If StreamToDisplay.Close() End Sub Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 06-05-11 στις 23:52. |
#5
| |||
| |||
Τάσο Χίλια Eυχαριστώ!!! για την βοήθεια. Δουλεύει μια χαρά. Πάνω που είχα αγανακτήσει. Ευχαριστώ πάρα πολύ !!! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Η ώρα είναι 17:04.