Class Datei mit Quellcode verknüpfen

1. Sry wegn dem neuen Namen, wollte den anderen Registrieren. Kann aber grad nich auf mein E-mail postfach zugreifen :s

2. Ich bin en Schritt weiter glaub ich.

Ich hab ma den gesamten Quellcode aus der Class1.cs Datei genommen und in meinen Quellcode Form1 eingebunden.
Den hab ich direkt unter:


public Form1() eingebunden.

mom hier der Code:

#
public Form1()
{
InitializeComponent();
}

static void Main(string[] args)
{
Keko keko = new Keko("TextFile1.txt");

bool hallo = keko.Match("Hallo");
}
}

public class Keko
{
private HashSet<string> _hs;

public Keko(string fileName)
{
IEnumerable<string> lines = File.ReadLines(fileName);
IEnumerable<string> words = from line in lines
let ws = line.Split(' ')
from w in ws
select w;

_hs = new HashSet<string>(words);
}

public bool Match(string word)
{
return _hs.Contains(word);
}
}
#


ps: Wegn Gastzugang gibts bei mir kein Raute-zeichen zum klicken oO

Gruß
HeaDHunteR
 
Wenn du auf das Raute dings klickst als registrierter, obwohl ich dachte das geht so auch, erscheint folgendes:
[ CODE ]
[ /CODE ] .. ohne Blanks

Gruß
 
Hi.

Hab ich das jetzt richtig verstanden...

Du hast 2 Textfelder: zB Username: Max Pw: pw
Danach vergleichst du das mit dem TextFile1.txt...
Da steht drin:
Max pw
asdf pw2
etc.

Dann soll irgendwas geschehen wie erfolgreich eingeloggt oder so..

Gruß
Nadriel
 
jo oke danke

[ CODE ]
public Form1()
{
InitializeComponent();
}

static void Main(string[] args)
{
Keko keko = new Keko("TextFile1.txt");

bool hallo = keko.Match("Hallo");
}
}

public class Keko
{
private HashSet<string> _hs;

public Keko(string fileName)
{
IEnumerable<string> lines = File.ReadLines(fileName);
IEnumerable<string> words = from line in lines
let ws = line.Split(' ')
from w in ws
select w;

_hs = new HashSet<string>(words);
}

public bool Match(string word)
{
return _hs.Contains(word);
}
}
[ /CODE ]

Das funktioniert auch soweit mit dem Compiler. Das Programm lässt sich starten und ausführen.

Was mir noch fehlt:


1. Das er den Text aus textBox1 mit dem in dem textfile vergleicht.

2. Das er den Text aus textBox2 mit dem in dem textfile vergleicht.

3. Eine if - else Abfrage, ob der Wert vorhanden ist.

für 1 und 2 brauch ich somit Variablen, nur ich weiß nicht wie ich die definiere, damit die abgefragt werden.

Und bei der Abfrage bin ich selbst noch am knobeln wie ich die einbaue. Aber will au nich so recht.

Hab mir das bei der Abfrage so vorgestellt (fürn anfang):

Wenn die id und das pw richtig sind, soll sich n fenster öffnen mit: richtig
Wenn die id oder das pw falsch is, dann soll sich n fenster öffnen mit: id oder pw falsch.


Sry für meine lange Texte^^

gruß
HeaDHunteR
 
Ja genau so^^

Fürn anfang solln sich halt nur ormale Fensterchen öffnen,

in denen eben steht ob id und pw richtig oder falsch sind.

Den reste passe ich dann an.
 
Hab da jetzt ne Lösung gefunden:

Form1.cs:
Code:
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 pFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void bLogin_Click(object sender, EventArgs e)
        {

            Keko k = new Keko("TextFile1.txt");

            String s = k.read();
            char[] a = new char[1];
            a[0] = '\n';

            String[] s2 = s.Split(a);
            bool b = false;

            String s3 = tbLogin.Text + " " + tbLogin2.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!" + "'" + s + "'");
            }

        }
    }
}

dann die Klasse wos main drin steht:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace pFile
{
    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

        }
    }
}

Keko.cs:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;

namespace pFile
{
    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;
        }
    }

}

Ich hoffe dies ist eine Lösung deiner Vorstellung enstprechend.

MfG
Nadriel

EDIT: Bei Fragen frag einfach, hab den Code nicht kommentiert oder den Variablen sinnvollen Namen gegeben^^
 
Also erstmal BIG THX für deine Mühe die du dir gemacht hast :)

Den Code hab ich noch nicht getestet aber hoffe er t :D

Und ne ich arbeite mit C# Express-Edition :/
VS will ich mir demnächst kaufen. :)

Aber ich denke mal das es so sicher auch t ^-^

gruß
HeaDHunteR
 
Also hier is was dabei was ich noch nich verstehe :D

Code:
(s3.Equals(s2[i].Remove(s2[i].Length-1)) && (i < max-1))


was bedeutet das mit dem i dann -1 und etc.? :eek:

Das is mir neu :eek:

ps: Weißte zufällig was is < i++ und etc. is?

Kenn ich leider alles noch nich.

Gruß
HeaDHunteR
 
Zurück