tutorials.de Buch-Aktion 05/2012
Seite 3 von 3 ErsteErste 123
ERLEDIGT
NEIN
ANTWORTEN
40
ZUGRIFFE
1252
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #31
    Nadriel Nadriel ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Ort
    Villach (Kärnten)
    Beiträge
    33
    Hallo.

    Zitat Zitat von headhuner Beitrag anzeigen
    Zu meinem Problem mit: ArgumentOutOfRangeException wurde nicht behandelt , es liegt daran da in der Textdatei die letzte Zeile eine leere Zeile ist. So stürzt das Programm immer ab.

    Das liegt daran das ich mit WriteLine() beim StreamWriter in die Textdatei schreibe.


    Nun will ich versuchen die letzte Zeile mit FileStream.SetLength. zu entfernen.
    Normalerweise dürfte dies bereits behandelt werden. Da ich aus dem File rauslese und manuell den String editiere indem ich die letzte Zeile einfach ignoriere siehe
    Code :
    1
    2
    3
    4
    
    if (s3.Equals(s2[i].Remove(s2[i].Length-1)) && (i < max-1))
    {
        b = true;
    }
    --> i<max-1 sollte die letzte Zeile ignorieren.

    Poste bitte noch mal jetzt deinen neuen Code, falls du jetzt was kritisches geändert hast.

    Zitat Zitat von headhunter Beitrag anzeigen
    und Nadriel wenn du möchtest / Zeit hast darfste mir gerne den ganzen Code erklären =D.

    Weil ich interessiere mich für sowas
    Sag mir konkret was du nicht verstehst, weil ich glaube nicht dass du wirklich den ganzen Code nicht verstehst, so Sachen wie eine einfache if-Anweisung.

    MfG Nadriel
     

  2. #32
    headhuner Tutorials.de Gastzugang
    Moin,

    als erstes muss ich mich mal entschuldigen.

    Da ich immer noch nicht registriert bin, wie ich es eig. machen wollte, bitte ich euch nicht vor Wut mit irgednwas nach mit zu werfen :o. Ich war von Freitag bis Dienstag in Italien im Urlaub, und hatte so keine möglichkeit die Registrierung abzuschließen.

    Ich versuch es so schnell ich kann und hoffe das ich heute Abend dran denke es zu machen.

    Ansonsten:

    1. Wieso [] Klammern anstatt () wo liegt der Unterschied?

    2. Unterschied zwischen String und String[]

    3. .Length Befehl, was bedeutet er, was macht er?

    4. int i = 0; i < max; i++ Was passiert in diesem Teil des Codeabschnittes?

    5. s3.Equals(s2[i].Remove(s2[i].Length-1) Was passiert in diesem Teil des Codeabschnittes?

    6. (i < max-1)) hattest du ja bereits erklärt


    Ein paar Fragen weichen auch vom Code ab oder sind total Simpel. Aber ich lerne C# eigenständig,
    da wir in der Schule nur C++ Konsolenanwendungen üben. Bei diesen schreiben wir kleine Programme,
    mit Befehlen die man braucht um das Betriebssystem Windows programmieren zu können. Also wir tasten
    uns ran.


    Also ich hab immer noch den gleichen Quellcode wie du ihn gepostet hast.

    Hab halt nur bsp:

    private void bLogin_Click(object sender, EventArgs e)

    zu

    private void button1_Click(object sender, EventArgs e)

    gemacht.

    Und das bei allen. Natürlich hab ich das ganze dann auch im Quellcode geändert.

    Aber wenn du den Qellcode willst, dann warte ich poste ihnn gleich nach.
     

  3. #33
    headhuner Tutorials.de Gastzugang
    Hab mich mal schlau gemacht.

    Fehler beim Programm:

    ArgumentOutOfRangeException wurde nicht behandelt.

    StartIndex cannot be less than zero.
    Parameter name: startIndex


    Dann hab ich online bei msdn mal ein bisschen gesucht und bin auf folgednes gestoßen:

    ArgumentOutOfRangeException wird ausgelöst, wenn eine Methode aufgerufen wird und mindestens eines der übergebenen Argumente nicht NULL (Nothing in Visual Basic) ist und keinen gültigen Wert enthält.

    ...

    http://msdn.microsoft.com/de-de/libr...=VS.80%29.aspx



    Ausnahmetyp: ArgumentOutOfRangeException

    Bedingung: Es wurde versucht, den value-Parameter auf einen kleineren Wert als 0 festzulegen.

    http://msdn.microsoft.com/de-de/libr...8VS.80%29.aspx


    gruß
    headhuner
     

  4. #34
    headhuner Tutorials.de Gastzugang
    sry für nen weiteren doppelpost, hab den quellcode vergessen zu posten.

    Form1.cs

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Loginmaske
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
     
                Keko k = new Keko("C:\\test.txt");
     
                String s = k.read();
                char[] a = new char[1];
                a[0] = '\n';
     
                String[] s2 = s.Split(a);
                bool b = false;
     
                String s3 = textBox1.Text + " " + textBox2.Text;
     
                int max = s2.Length;
     
                for (int i = 0; i < max; i++)
                {
                    if (s3.Equals(s2[i].Remove(s2[i].Length-1)) && (i < max-1))
                    {
                        b = true;
                    }
                    else if(s3.Equals(s2[i]))
                    {
                        b = true;
                    }
     
     
                }
                if (b)
                {
                    MessageBox.Show("Login erfolgreich!");
                }
                else
                {
                    MessageBox.Show("Login fehlgeschlagen!");
                }
            }
     
          private void textBox1_TextChanged(object sender, EventArgs e)
          {
     
          }
     
          private void textBox2_TextChanged(object sender, EventArgs e)
          {
     
          }
     
          private void button2_Click(object sender, EventArgs e)
          {
            Form2 form2 = new Form2();
            form2.Show();
          }
        }
    }


    Keko.cs

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Windows.Forms;
     
    namespace Loginmaske
    {
        class Keko
        {
            private string fileName = "";
     
            public Keko(string fileName)
            {
                this.fileName = fileName;
            }
     
            public string read()
            {
                StreamReader myReader = File.OpenText(fileName);
                String s = myReader.ReadToEnd();
                myReader.Close();
                return s;
            }
        }
    }

    So hier is noch der Quellcode.

    Und ochma verzeihung wegen Doppelpost.

    gruß
    headhunter
     

  5. #35
    Nadriel Nadriel ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Ort
    Villach (Kärnten)
    Beiträge
    33
    Zitat Zitat von headhuner Beitrag anzeigen
    1. Wieso [] Klammern anstatt () wo liegt der Unterschied?

    2. Unterschied zwischen String und String[]

    3. .Length Befehl, was bedeutet er, was macht er?

    4. int i = 0; i < max; i++ Was passiert in diesem Teil des Codeabschnittes?

    5. s3.Equals(s2[i].Remove(s2[i].Length-1) Was passiert in diesem Teil des Codeabschnittes?

    6. (i < max-1)) hattest du ja bereits erklärt
    zu 1.: was du jetzt konkret meinst verstehe ich nicht ganz aber um gleich die 2. Frage auch einzubauen, mit Datentyp[] definierst du ein Array von deinen angegeben Datentyp. Da du die Frage stellst denke ich mal du weißt auch nicht was ein Array ist. Um das zu beantworten solltest du dich lieber auf C#-Tutorials umschaun. Wie gesagt deine andere Frage zu "()" versteh ich nicht ganz meinst du zB String asdf = new String()? () kennzeichnen zB Funktionsklammern, aber das solltest du glaube ich wissen und der konkrete Unterschied zwischen String und String[] liegt darin, dass String bloß eine Zeichenkette beinhaltet/ beinhalten kann und String[] eine Menge von Zeichenketten beinhaltet/ beinhalten kann.

    zu 3.: .Length gibt dir die Länge eines beliebigen Datentyps zurück. Bei einem String[] die Länge des Arrays zB bei String[5] liefert es 5. Bei Nicht-Arrays also bei Standarddatentypen wie int, char, String etc. liefert er die Länge des Wertes die die Variable beinhaltet.

    zu 4.: Das ist das was man in eine for-Schleife immer einträgt.
    Mit einem Beispiel einfacher erklärlich:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    for(int i = 0; i < MAX; i ++) 
    // die Variable i wird temporär angelegt, dh bis die for-Schleife zu Ende geht
    // i = 0 gibt an bei welchem Wert die Schleife beginnt
    // i < MAX gibt an bei welchem Wert die Schleife endet
    // i++ entspricht i = i + 1 dh bei jedem fertigen Durchlauf wird i um 1 erhöht
    {
    //hier irgendwas tun ^^
    }

    zu 5.: Das habe ich schon mal erklärt, hattest du dass da nicht verstanden?

    zu 6.: Hoffe du hasts auch verstanden

    MfG Nadriel
     

  6. #36
    headhuner Tutorials.de Gastzugang
    Moin,

    über Arrays hab ich mich bereits informiert, doch die [] Klammern vergessen und etc. Ich schau mirs einfach nochma an.

    zu 5., ich hatte bemerkt das du mir das bereits erklärt hattest, als ich den Thread nochmal durchgegangen bin, mein fehler

    Mit dem i++ und etc. hab ich nun verstanden, danke

    zu 6. Joa hab ich inzwischen auch verstanden

    Jedoch besteht das Problem immer noch. Anscheinend wird diese Funktion nicht behandelt, wenn ich mich nicht irren sollte.

    Ist keine Leere Zeile an dem Textdokument vorhanden, so funktioniert alles einwandfrei. Ist die leere Zeile vorhanden, so kommt die Fehlermeldung .

    Nur wo der Haken an der Sache ist, lässt mich vor einem Rätsel stehen.

    Achja, ich hab mal die && Zeichen zu einem + gemacht, dann hat es nicht geklappt, und bei einem & hat es keine Probleme gegeben, jedoch das Ergebnis war gleich.

    gruß
    headhunter
     

  7. #37
    Nadriel Nadriel ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Ort
    Villach (Kärnten)
    Beiträge
    33
    Zitat Zitat von headhuner Beitrag anzeigen
    Achja, ich hab mal die && Zeichen zu einem + gemacht, dann hat es nicht geklappt, und bei einem & hat es keine Probleme gegeben, jedoch das Ergebnis war gleich.
    Mit dem spiel lieber nicht rum, "&&" bedeutet was ganz anderes als "+" oder "&" also lass das lieber, kannst dich ja im internet umsehen was das genau bedeutet

    gruß Nadriel
     

  8. #38
    headhuner Tutorials.de Gastzugang
    Moin,

    jo werd ich machen

    Das Ergebnis war zwa es gleiche aber ma schauen xD


    ps:
    Code :
    1
    
    ( i < max -1))

    Wird anscheinend nicht behandelt oder funktioniert nicht so wie es funktionieren soll, weil das Problem besteht immer noch

    Naja ich hab mir ne Sicherheitskopie gemacht und spiel an der ma en bisschen rum, vllt. schaff ichs ja aus glück das Problem zu beheben xD

    Oder hast du vllt. noch ne Idee? :o

    Gruß
    headhuner
     

  9. #39
    badday badday ist offline Mitglied Brokat
    Registriert seit
    Dec 2009
    Beiträge
    321
    Blog-Einträge
    1
    Es gibt wohl 2 Möglichkeiten:
    1.) Du schaust dir das ganze mal im Debugger an und gehst das Schritt für Schritt durch
    2.) Du postest den gesamten Code und ein netter Mensch aus dem Forum geht das ganze durch

    Gruß,

    badday
     
    Galaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )

  10. #40
    headhuner Tutorials.de Gastzugang
    Ich registriere mich nachher.

    Dann kommt der quellcode hier rein

    dann gehe ich debugger gleichzeitig durch.


    gruß
     

  11. #41
    HeaDHunteR HeaDHunteR ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Beiträge
    41
    So..

    Nach langer zeit rufe ich das thema doch mal wieder auf.. :o

    Ich werde in den nächsten tagen meinen alten quellcode (den ich mal wieder herausgekramt habe) hier posten und ich hoffe ihr könnt mir dabei helfen mein problem endlich zu finden..

    Also ich werd den code auf jedenfall diese Woche noch posten

    mfg
    HeaDHunteR
     

Ähnliche Themen

  1. Quellcode-Datei aufteilen?
    Von SabineenibaS im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 19.10.05, 08:11
  2. Aus *.java-Datei eine *.class Datei machen!
    Von Unlimited im Forum Java
    Antworten: 4
    Letzter Beitrag: 23.06.05, 11:19
  3. mit Exe Datei verknüpfen
    Von vbanfaenger im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 29.06.04, 18:20
  4. 2 class dateien verknüpfen
    Von Schatti im Forum Java
    Antworten: 4
    Letzter Beitrag: 14.10.03, 15:02
  5. Datei mit CON CON Verknüpfen
    Von foxx21 im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 07.01.02, 10:01