Ergebnis 1 bis 9 von 9
  1. #1
    Bad Times Virus Avatar von Th3_Cr4xX
    Registriert seit
    28.07.2008
    Beiträge
    646

    Standard Schuldenprogramm

    Hi,
    hab wieder ein kleines Programm geschrieben. Es hat den Zweck, Zigarettenschulden zu speichern, zu begleichen, und abzurufen. Mein Bruder und ich leihen uns öfters gegenseitig Zigaretten. So werden wir immer darin erinnert xD Falls das jemand braucht kann man ja in Geldschulden ect. umschreiben.



    Code:
    Imports System.IO
    Imports System.Text.RegularExpressions
    
    Public Class Form1
        Dim d As String
        Dim TempString() As String
        Dim Zaehler As Integer = 0
        Dim FILE_NAME As String = "C:\X.txt"
        Dim FILE_NAME_D As String = "C:\D.txt"
        Dim FILE_NAME_P As String = "C:\P.txt"
        Dim aktZeileD As String, aktIntD As Integer, ZahlenSummeD As Integer
        Dim aktZeileP As String, aktIntP As Integer, ZahlenSummeP As Integer
    
    
    
    Dim PWD As String = "passwordD"
    
    Dim PWP As String = "passwordP"
    
    
    
    
        Private Sub Speichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Speichern.Click
    
    
            If ComboBox2.Text = "" Then
                MsgBox("Fail,wähle einen Schuldner!")
                Me.Close()
            End If
    
    
    
            Dim EnteredD As String = InputBox("NameD")
    
    
            If EnteredD = PWD Then
                MsgBox("Correct", MsgBoxStyle.Information)
            Else
                MsgBox("Fail", MsgBoxStyle.Critical)
                Me.Close()
    
            End If
    
            Dim EnteredP As String = InputBox("NameP")
    
            If EnteredP = PWP Then
                MsgBox("Correct", MsgBoxStyle.Information)
            Else
                MsgBox("Fail", MsgBoxStyle.Critical)
                Me.Close()
            End If
    
    
            If System.IO.File.Exists(FILE_NAME) = True Then
                Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
    
                objWriter.Write(vbNewLine + vbNewLine + "Datum: " + DateTimePicker1.Value.ToString + vbNewLine + "Beschreibung: " + TextBox1.Text + vbNewLine + "Anzahl: " + NumericUpDown1.Value.ToString + vbNewLine + ComboBox2.Text + " ist der Schuldner" + vbNewLine + vbNewLine + "_________________________________________________________________")
                objWriter.Close()
                MsgBox("Saved", MsgBoxStyle.Information)
    
    
    
            End If
            If System.IO.File.Exists(FILE_NAME_P) = True Then
                Dim objWriterP As New System.IO.StreamWriter(FILE_NAME_P, True)
    
                If ComboBox2.Text = "NameP" Then
                    objWriterP.Write(NumericUpDown1.Value.ToString + vbNewLine)
                    objWriterP.Close()
    
    
    
                End If
            End If
            If System.IO.File.Exists(FILE_NAME_D) = True Then
                Dim objWriterD As New System.IO.StreamWriter(FILE_NAME_D, True)
    
                If ComboBox2.Text = "NameD" Then
                    objWriterD.Write(NumericUpDown1.Value.ToString + vbNewLine)
                    objWriterD.Close()
    
    
    
                End If
            End If
        End Sub
        Private Sub Abrufen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Abrufen.Click
            If ComboBox2.Text = "" Then
                MsgBox("Fail, wähle einen zum Abrufen!")
                Me.Close()
            End If
    
    
           
    
    
    
    
    
            Dim ZahlenSummeD As Integer
            Dim ZahlenSummeP As Integer
            Label3.Visible = False
    
    
    
    
            If ComboBox1.Text = "NameD" Then
                Dim srD As New System.IO.StreamReader(FILE_NAME_D)
                Dim aktZeileD As String, aktIntD As Integer
    
                'Zeilenweise die Datei lesen
                While (Not srD.EndOfStream)
                    'Aktuelle Zeile in die Variable lesen
                    aktZeileD = srD.ReadLine()
    
                    'Prüfen, ob die aktuelle Zeile eine Zahl ist
                    If (Integer.TryParse(aktZeileD, aktIntD)) Then
                        'Wenn ja, aufsummieren
                        ZahlenSummeD += aktIntD
                    End If
                End While
            End If
    
            If ComboBox1.Text = "NameP" Then
                Dim srP As New System.IO.StreamReader(FILE_NAME_P)
                Dim aktZeile As String, aktIntP As Integer
    
                'Zeilenweise die Datei lesen
                While (Not srP.EndOfStream)
                    'Aktuelle Zeile in die Variable lesen
                    aktZeile = srP.ReadLine()
    
                    'Prüfen, ob die aktuelle Zeile eine Zahl ist
                    If (Integer.TryParse(aktZeile, aktIntP)) Then
                        'Wenn ja, aufsummieren
                        ZahlenSummeP += aktIntP
                    End If
                End While
            End If
    
    
    
            If CheckBox1.Checked Then
                Dim Abr As New System.IO.StreamReader(FILE_NAME)
                Label3.Text = Abr.ReadToEnd
                MsgBox(Label3.Text, MsgBoxStyle.Information)
    
    
            Else
                If ComboBox1.Text = "NameD" Then
                    MsgBox("NameD schuldet " + ZahlenSummeD.ToString + " Zigarette(n)")
    
                End If
                If ComboBox1.Text = "NameP" Then
                    MsgBox("NameP schuldet " + ZahlenSummeP.ToString + " Zigarette(n)")
    
                End If
            End If
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If ComboBox2.Text = "" Then
                MsgBox("Fail,wähle einen zum Begleicher!")
                Me.Close()
            End If
    
    
    
            Dim EnteredD As String = InputBox("NameD")
    
    
            If EnteredD = PWD Then
                MsgBox("Correct", MsgBoxStyle.Information)
            Else
                MsgBox("Fail", MsgBoxStyle.Critical)
                Me.Close()
    
            End If
    
            Dim EnteredP As String = InputBox("NameP")
    
            If EnteredP = PWP Then
                MsgBox("Correct", MsgBoxStyle.Information)
            Else
                MsgBox("Fail", MsgBoxStyle.Critical)
                Me.Close()
            End If
    
    
    
    
    
    
    
            If ComboBox3.Text = "NameD" Then
                Dim objWriterD As New System.IO.StreamWriter(FILE_NAME_D, True)
                objWriterD.Write(vbNewLine + "-" + NumericUpDown2.Value.ToString)
                objWriterD.Close()
                MsgBox("Es wurden " + NumericUpDown2.Value.ToString + " Zigarette(n) beglichen", MsgBoxStyle.Information)
            End If
    
    
    
            If ComboBox3.Text = "NameP" Then
                Dim objWriterP As New System.IO.StreamWriter(FILE_NAME_P, True)
                objWriterP.Write(vbNewLine + "-" + NumericUpDown2.Value.ToString)
                objWriterP.Close()
                MsgBox("Es wurden " + NumericUpDown2.Value.ToString + " Zigarette(n) beglichen", MsgBoxStyle.Information)
            End If
    
    
    
    
            If ComboBox3.Text = "NameD" Then
                Dim schD As New System.IO.StreamWriter(FILE_NAME, True)
                schD.Write(vbNewLine + vbNewLine + "Datum: " + DateTimePicker1.Value.ToString + vbNewLine + "NameD hat " + NumericUpDown2.Value.ToString + " Zigarette(n) beglichen" + vbNewLine + vbNewLine + "_________________________________________________________________")
                schD.Close()
            End If
            If ComboBox3.Text = "NameP" Then
                Dim schP As New System.IO.StreamWriter(FILE_NAME, True)
                schP.Write(vbNewLine + vbNewLine + "Datum: " + DateTimePicker1.Value.ToString + vbNewLine + "NameP hat " + NumericUpDown2.Value.ToString + " Zigarette(n) beglichen" + vbNewLine + vbNewLine + "_________________________________________________________________")
                schP.Close()
            End If
        End Sub
    End Class

  2. #2
    Wicked Wonderland Avatar von aL1ien
    Registriert seit
    08.07.2007
    Beiträge
    434

    Standard

    Der Code ist absolut mies.
    - Nichts aussagende Variablennamen
    - Viele Codeleichen
    - Schlecht formatiert
    - Rechtschreibfehler
    - Alles in eine Funktion gepackt
    - z.T. überflüssige Codezeilen
    - Unübersichtlicher Code
    - Controls wurden nicht benannt
    - Mal englisch / mal deutsch
    - Keine Konsistenz
    - Filenames wurden hart kodiert
    ...
    ...
    ...
    gäbe da noch etliches zu verbessern. Schau' dir doch mal einen Leitfaden zur Codeformatierung / wartbarkeit an.
    und jetzt dein grösster Fehler:
    Du hast es in VB geschrieben .

    Und solch eine Person schreibt "Skills: ... ... ... VB.NET" -.-'

    Warum denkt jeder, dass es "cool" wäre, dass das Programm so kryptisch als möglich aussieht? Nennt doch die Variablen richtig. Ich wette mit dir, dass, wenn du den code nach einem Monat anschaust, du den Code nicht mehr verstehen wirst, geschweige denn, du es erweitern könntest (Stichwort: wartbarkeit).
    Geändert von aL1ien (14.04.2010 um 14:47 Uhr)
    Tu peut t'le mettre dans l'cul.

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    blackberry (15.04.2010), DarkFire (14.04.2010), Nicke (16.04.2010), psyborg (14.04.2010), Slawa (14.04.2010), sp1nny (16.04.2010)

  4. #3
    Bad Times Virus Avatar von Th3_Cr4xX
    Registriert seit
    28.07.2008
    Beiträge
    646

    Standard

    Das Programm tut was es soll und erleichtert mir das Leben, was willst du mehr ?
    Wenn du die Variabelnamen nicht verstehst musst du deren Funktion betrachten und dann darfst du dir eigene Namen ausdenken.
    Also deine Kritik ist wirklich sehr oberflächlich aber ja der Code ist dahingeschmissen nicht gegliedert usw. aber war ja auch für mich selbst geplant und nicht für die Augen anderer.

  5. #4
    Trojaner
    Registriert seit
    21.06.2009
    Beiträge
    72

    Standard

    Der Code ist absolut mies.
    - Nichts aussagende Variablennamen
    - Viele Codeleichen
    - Schlecht formatiert
    - Rechtschreibfehler
    - Alles in eine Funktion gepackt
    - z.T. überflüssige Codezeilen
    - Unübersichtlicher Code
    - Controls wurden nicht benannt
    - Mal englisch / mal deutsch
    - Keine Konsistenz
    - Filenames wurden hart kodiert
    ...
    ...
    ...
    gäbe da noch etliches zu verbessern. Schau' dir doch mal einen Leitfaden zur Codeformatierung / wartbarkeit an.
    und jetzt dein grösster Fehler:
    Du hast es in VB geschrieben .

    Und solch eine Person schreibt "Skills: ... ... ... VB.NET" -.-'

    Warum denkt jeder, dass es "cool" wäre, dass das Programm so kryptisch als möglich aussieht? Nennt doch die Variablen richtig. Ich wette mit dir, dass, wenn du den code nach einem Monat anschaust, du den Code nicht mehr verstehen wirst, geschweige denn, du es erweitern könntest (Stichwort: wartbarkeit).
    Wegen solchen Leuten bin ich nur noch sehr selten in Fh online so Besserwisser omg ey ich hasse es

    Wo ist das Problem wenn es für dich unübersichtlich erscheint Pech er muss doch damit klar kommen und wenn du den Code benutzen willst und ihn kacke findest dann benutze den einfach nicht oder schreib den um


    Ich sag einfach ma is ne gute Idee
    Ich kenn es ich leih mir au mal öfter kippen oder verleih welche an meine Bros
    Du möchtest 24/7 Lang die Besten Folgen schauen ? Dann geh auf
    www.warez-vision.org

  6. #5
    W32.iDrop.Gen
    Registriert seit
    03.12.2008
    Beiträge
    485

    Standard

    naja ich finde die idee gut, aber für zigaretten ists doch lächerlich.

    in der familie ist das ein geben und nehmen, wenn man sich da alles aufschreibt und abgleicht ist das doch irre!

    für richtige geld schulden wär ein programm gut.
    wer mir wieviel schuldet und bis wann ich das zurück haben sollte...
    ev noch mit smtp email service um automatisch erinnerungen oder mahnungen anzuschicken...

  7. #6
    Edelgas Avatar von krypt0n
    Registriert seit
    31.03.2010
    Beiträge
    247

    Standard

    Zitat Zitat von Th3_Cr4xX Beitrag anzeigen
    Wenn du die Variabelnamen nicht verstehst musst du deren Funktion betrachten und dann darfst du dir eigene Namen ausdenken.
    Also deine Kritik ist wirklich sehr oberflächlich aber ja der Code ist dahingeschmissen nicht gegliedert usw. aber war ja auch für mich selbst geplant und nicht für die Augen anderer.
    Glaub mir: Gewöhn dir von Anfang an an, möglichst übersichtlich und durchdacht zu coden. Bei grösseren Projekten oder sogar im Beruf wirst du diesem Rat nochmals dankbar sein und dich fragen, wieso du früher nicht einfach etwas mehr Zeit aufgewendet hast, um später den Code auch noch zu verstehen. Es zahlt sich zu 100% aus!

    Zitat Zitat von snowbase Beitrag anzeigen
    Wegen solchen Leuten bin ich nur noch sehr selten in Fh online so Besserwisser omg ey ich hasse es
    Wenn man nicht einmal objektive und konstruktive Kritik an dem Quellcode erhält, wie soll man sich dann weiterentwickeln? Der User ist keineswegs besserwisserisch, sondern er versucht eher dem Threadstarter zu zeigen, was er bei seinem nächsten Programm besser machen kann.
    You've been krypt0nized!

  8. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    aL1ien (14.04.2010), DarkFire (14.04.2010), pima (14.04.2010), sp1nny (16.04.2010)

  9. #7
    Wicked Wonderland Avatar von aL1ien
    Registriert seit
    08.07.2007
    Beiträge
    434

    Standard

    Zitat Zitat von Th3_Cr4xX Beitrag anzeigen
    Das Programm tut was es soll und erleichtert mir das Leben, was willst du mehr ?
    Wenn du die Variabelnamen nicht verstehst musst du deren Funktion betrachten und dann darfst du dir eigene Namen ausdenken.
    Also deine Kritik ist wirklich sehr oberflächlich aber ja der Code ist dahingeschmissen nicht gegliedert usw. aber war ja auch für mich selbst geplant und nicht für die Augen anderer.
    Wessen Funktionen? Ich sehe keine. Warum ist meine Kritik "oberflächlich"? Es ist also NUR für dich selbst. Warum stellst du ihn dann in ein FORUM mit dem CODE, dass es JEDER sehen kann?

    Wir hatten bei uns in der Firma viele Leute wie dich. Etwas dahin geschludert, hauptsach es funktionierte. Leider haben sie nicht daran gedacht, dass auch andere Leute damit arbeiten müssen. Die Wartungszeit / Entwicklungszeit hat sich dabei enorm erhört. Zudem hast DU ja geschrieben, dass man ihn für andere Zwecke anpassen darf. Nur wie soll man das machen, wenn man sich erstmal 1h in den Code einleses / debuggen muss, bis man ihn versteht? Dann schreibt man es in der Zeit lieber neu, dafür sauber.

    @Snowbase: Ein Forum ist für Kritik, Hilfestellungen etc. da. Was wäre ein Forum, wenn man leute nicht verbessern darf? Schliesslich besucht man ein Forum um zu LERNEN. Ohne Kritik wird man nunmal nicht besser.

    Ach ja, eventuell kam es bei meinem Post nicht richtig rüber. Ich will dich nicht fertig machen oder blosstellen. Ich wollte dir lediglich helfen.
    Geändert von aL1ien (14.04.2010 um 16:05 Uhr)
    Tu peut t'le mettre dans l'cul.

  10. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    DarkFire (14.04.2010)

  11. #8
    Gesperrt
    Registriert seit
    28.08.2009
    Beiträge
    354

    Standard

    Ja klar, eigentlich kann ich das Programm gebrauchen, jetzt ist das auch nicht so wichtig, obs gute Struktur hat oder nicht, aber für die Zukunft: einfach mal sauber arbeiten, wenn du größere Projekte schreibst wie z.B. Stealer oder sonst was, dan wird es etwas schwierig alles durchzuschauen.

    Also gute Arbeit!

    Gruß

    Slawa

  12. #9
    Bad Times Virus Avatar von Th3_Cr4xX
    Registriert seit
    28.07.2008
    Beiträge
    646

    Standard

    Das weiß ich zu schätzen alien. Hab einfach auf die schnelle das Ding gebaut. Wenn ich Projekte anfange achte ich sicherlich auf die Gliederung und packe auch Comments hinzu. Aber bei dem kleinen Teil hab ich mir da keine Gedanken gemacht und werde das auch nicht, da ich sicher nichts großes erweitern werden. Denn wie gesagt ist das eigentlich nur für private Zwecke, eine einmalige Sache. Ich dachte vllt brauch das jemand und habs hier reingepostet.

    Wessen Funktionen? Ich sehe keine.
    Na du siehst ja dass ich NameA und NameB immer habe bzw. P und D. Wenn ich dann einen Streamreader reinpacke namens srD kannst du dir doch denken dass das der Streamreader ist, der NameD ausliest.[QUOTE]

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •