Naddel42 Geschrieben 18. Januar 2011 Teilen Geschrieben 18. Januar 2011 Guten Morgen ihr lieben, ich habe folgendes Problem, bei dem ich eure Hilfe benötigen könnte: Ich möchte ein Skript schreiben, das mich automatisch mit Benutzername 'User' und Kennwort 'Quersumme Datum' anmeldet. leider scheitere ich schon bereits beim auslesen des Datums und übergabe als String. Module Module1 Dim Datum(getdatefromserver("")), ausgabe As String Private Sub Main() Datum = Str(GetDateFromServer("")) ausgabe = Str(Quersumme(Of Date)) MsgBox("Die Quersumme von heute ist " + ausgabe + ".") End Sub Private Function Quersumme(ByVal stringbuffer As String) As Integer Dim loopcount As Integer Quersumme = 0 For loopcount = 1 To Len(stringbuffer) Quersumme = Quersumme + Val(Mid(stringbuffer, loopcount, 1)) Next loopcount End Function End Module Leider wirft er mir hier schon diverse Fehler aus, und ich bin blutige Anfängerin in Sachen VB. HILFE! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 18. Januar 2011 Teilen Geschrieben 18. Januar 2011 Dim Datum(getdatefromserver("")) Was soll denn das für eine Deklaration sein? Sollen wir jetzt raten welche Fehler bei dir geworfen werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Naddel42 Geschrieben 18. Januar 2011 Autor Teilen Geschrieben 18. Januar 2011 Ich habe mir den Code aus mehreren Foren zusammengebastelt, habe auch ein wenig Änderungen vorgenommen. Der Teil sollte eigentlich von meinem Rechner das aktuell eingestellte Datum nehmen. verbesserter code nun hier:Module Bla Public Datum As DateFormat, ausgabe As Integer Private Sub Main() Datum = DateString ausgabe = Str(Quersumme(Of DateFormat)) MsgBox("Die Quersumme von heute ist " + ausgabe + ".") End Sub Private Function Quersumme(ByVal stringbuffer As String) As Integer Dim loopcount As Integer Quersumme = 0 For loopcount = 1 To Len(stringbuffer) Quersumme = Quersumme + Val(Mid(stringbuffer, loopcount, 1)) Next loopcount End Function End Module Fehlermeldungen: Fehler 1 "Sub Main" wurde nicht in "ConsoleApplication1.Module1" gefunden. ConsoleApplication1 Fehler 2 "Private Function Quersumme(stringbuffer As String) As Integer" hat keine Typparameter und kann daher keine Typargumente haben. \ConsoleApplication1\Module1.vb Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Naddel42 Geschrieben 18. Januar 2011 Autor Teilen Geschrieben 18. Januar 2011 Na denn... ich hab´s. Für alle, die´s vlllt mal brauchen sollten: Module Bla Public ausgabe As String Public Datum As Date Sub Main() Datum = Date.Today ausgabe = Str(Quersumme(Datum)) MsgBox("Die Quersumme von heute ist " + ausgabe + ".") End Sub Private Function Quersumme(ByVal stringbuffer As String) As String Dim loopcount As Integer Quersumme = 0 For loopcount = 1 To Len(stringbuffer) Quersumme = Quersumme + Val(Mid(stringbuffer, loopcount, 1)) Next loopcount End Function End Module Danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 18. Januar 2011 Teilen Geschrieben 18. Januar 2011 Erstens danke für das Posten deines Ergebnisses, aber ... ...warum sind ausgabe und Datum public? ...wenn deine Funktion Quersumme() einen String zurückgibt, dann brauchst du das Ergebnis nicht mittels Str() nochmal zum String casten. ... könnte man die Stringverkettung in der Msgbox mit & statt + mikrooptimieren. ... das die Funktion quersumme() nur für numerische Parameter sinnvoll ist, sollte man das z.B. mit isnumeric() prüfen. Gruß Martin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Naddel42 Geschrieben 18. Januar 2011 Autor Teilen Geschrieben 18. Januar 2011 ...warum sind ausgabe und Datum public? Weil ich Newcomer auf dem Bereich bin und es so funktioniert. Wahrscheinlich könnte ich Datum als Private setzen, aber benötige ich die Ausgabe nicht nachher für die anmeldung an meinem Programm, so das ich das doch Public mach muss?!!? ...wenn deine Funktion Quersumme() einen String zurückgibt, dann brauchst du das Ergebnis nicht mittels Str() nochmal zum String casten. Ok... teste ich mal aus, ob ich das hinbekomme... ... könnte man die Stringverkettung in der Msgbox mit & statt + mikrooptimieren.... das die Funktion quersumme() nur für numerische Parameter sinnvoll ist, sollte man das z.B. mit isnumeric() prüfen. Ist es nicht so, das das Datum vom System genommen wird und dies eh Zahlen sind?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 19. Januar 2011 Teilen Geschrieben 19. Januar 2011 Deine Funktion Quersumme arbeitet erstmal auf einem String und der kann eben auch Zeichen enthalten, die für eine Quersummenberechnung eher unpassend sind. Der Unterschied zwischen + und & ist der, dass in VB & die Stringverknüpfung ist und + eine typübergreifende Operation, nämlich die Addition bei Zahlen und die Verkettung bei Strings. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Naddel42 Geschrieben 23. Januar 2011 Autor Teilen Geschrieben 23. Januar 2011 Aaaahh... Habe deine Änerungen auf jeden Fall angewendet. läuft auch immer noch! SAugeil! Man lernt nicht aus! Vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.