Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von blutiger_anfänger
Thema: Form eine "feste" Location geben
Am im Forum: GUI: Windows-Forms

Irgendwie scheint mich heute das Glück mal wieder verlassen zu haben, oder ich hau' einfach die falschen Tags in Google...

Ich habe eine kleines Form (245px*151px), dass unten recht als Statusfenster angezeigt werden soll, bis der User ein weiteres, von mir festgelegtes Event auslöst.

Gut, gut - die positionierung bekomm ich hin, jedoch soll der User das Form nicht verschieben können. Ich finde nun aber leider keine Property in der ich festlegen kann, dass das Form nicht verschoben werden kann.

Meine momentane Notlösung sieht wie folgt aus:


private void FormCaptcha_LocationChanged(object sender, EventArgs e)
        {
            Rectangle r = Screen.PrimaryScreen.WorkingArea;
            this.Location = new Point(r.Width - 245, r.Height - 151);
        }
Sprich, wenn der User das Form verschiebt, wird es wieder an seinen Platz gerückt. Das sieht dank ständigem aufrufen der PaintMethode des Forms aber nicht gerade schick aus...

Ich hatte auch schon überlegt einfach das MouseDown-Event abzufangen, sodass der User das Form erst garnicht "packen" kann, doch in den MouseEvents scheint es sowas wie


e.Handled = true;
ja leider auch nicht zu geben...

Ich hoffe ihr könnt mir helfen eine elegantere Lösung zu finden.

Liebe Grüße,
ein blutiger_anfänger ;)

Thema: [gelöst] Zeit kontinuierlich anzeigen - GUI hängt sich auf
Am im Forum: GUI: Windows-Forms

Hast du das Problem mit den Nullen hinbekommen?
Wenn nicht schau ich da nochmal drüber, weil ich das heute morgen nicht mehr geschafft hab. Bloß wär' ja blöde, wenn ich mir da jetzt die Arbeit mache und du hast die Lösung längst...

Thema: [gelöst] Zeit kontinuierlich anzeigen - GUI hängt sich auf
Am im Forum: GUI: Windows-Forms

Das mit dem Hänger lässt sich leicht lösen. Füge mal einen Timer hinzu mit einem Intervall von (logischerweise) 1 Sekunde.

Dann baust du in das onclick Event von button2

timer1.start();
ein.

In das Tick-Event vom Timer haust du alles, was du vorher im click-event des button2 hattest.
Durch die for-Schleife die du vorher verwendet hast ist es logisch das das GUI nicht mehr ansprechbar ist, weil der Thread für das GUI voll ausgelastet ist, da die Schleife dein Form voll auslastet. Durch den Timer trennst du das GUI einigermaßen vernünftig von deiner Zeichenerei... ;)

Thema: webbrowser ShowSaveAsDialog() automatisieren
Am im Forum: Web-Technologien

Ok, auch wenn ich das Problem mit dem Webrequest jetzt gelöst habe, würd's mich immernoch interessieren, wie/ob man solche Dialoge automatisieren kann ;)

Thema: HttpWebRequest POST - Login Problem
Am im Forum: Web-Technologien

So nun klappts endlich! An dieser Stelle vielen Dank an Gordon Breuer der mir mit folgendem Artikel (http://gordon-breuer.de/post/2009/01/05/Twitter-Fehler-417-(Expectation-Failed).aspx) sehr weitergeholfen hat!

Es fehlte nur ein "simples" (darauf muss man erstmal kommen!)

System.Net.ServicePointManager.Expect100Continue = false;  
vor den HTTPrequest...

Liebe Grüße,
ein blutiger Anfänger

Thema: webbrowser ShowSaveAsDialog() automatisieren
Am im Forum: Web-Technologien

Guten Morgen!
Da mir der Login über reine HTTPrequests nicht glücken will (HttpWebRequest POST - Login Problem) bin ich weiterhin auf das WebbrowserControl angewiesen. Ich möchte gern eine Bild speichern, was nur im eingeloggten Zustand richtig angezeigt wird. Die Url aus dem Document.InnerHtml herauszusuchen bringt mir nichts, da ich ja dann wieder das Problem mit den Cookies habe.
Wenn ich jedoch die Seite über ShowSaveAsDialog() speichere, dann klappts wunderbar.
Jedoch wollte ich eigentlich keine User Interaktion mit drin haben und Frage euch nun, ob es möglich ist irgendwo einzusehen, was bei einem DialogResult.Ok ausgeführt wird um so den Dialog zu umgehen und das Speichern zu automatisieren...
Bzw. ob es möglich ist die entsprechenden Parameter (Speicherort, Dateityp) beim Aufruf schon mitzugeben und dann ein Dialogresult zu "provozieren".

liebe Grüße,
ein blutiger Anfänger

Thema: Listview per Drag and Drop befüllen
Am im Forum: GUI: Windows-Forms

Ich danke schonmal für die Antwort! Die Grundfunktionalität ist nun soweit gegeben.
Jedoch stehe ich nun vor einem weiteren Problem. Gibt es fertige Methoden/Funktionen um das zuverschiebene Control beim ziehen anzuzeigen? So wie die Icons auf dem Windows Desktop?

liebe Grüße,
ein blutiger Anfänger

Thema: Listview per Drag and Drop befüllen
Am im Forum: GUI: Windows-Forms

Hallo liebe myCSharpler,
ich bräuchte mal wieder eure Unterstützung. Und zwar geht es um folgendes. Ich habe einen SplitContainer, der in einem Panel 5 Buttons enthält und im andere Panel ein Listview.
Nun möchte ich die Buttons per Drag and Drop über das Listview ziehen können und dann testweise einfach erstmal ein Item mit dem Namen des Buttons erstellen.
Leider habe ich gerade einfach 0-Ansatz und weiß nicht wirklich, wo ich anfangen soll.
Ich habe mcih schon ein wenig umgeschaut, aber die meisten Sachen die ich gefunden habe, waren entweder viel zu komplex, oder nur für listviewItem per Drag and Drop in ein anderes Listview.
Ich würde mich über jeden Denkanstoß/jede Hilfe freuen!

liebe Grüße,
ein, was d'n'd angeht besonders, blutiger anfänger ;)

Thema: HttpWebRequest POST - Login Problem
Am im Forum: Web-Technologien

Einen wunderschönen Sonntag,
ich zerbrech mir hier gerade den Kopf. Ich möchte per HttpWebRequest Daten in einem geschützten Bereich anfordern, doch ich komme nicht an dem Login vorbei.

Ich bekomme immer folgende Meldung, wenn ich die POST-Variablen versende:

Der Remoteserver hat einen Fehler zurückgegeben: (417) Expectation Failed.

Vielleicht findet ja jemand von euch den Fehler...


Meine Code bis jetzt:


HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.jappy.de");
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(res.GetResponseStream());

            string html = string.Empty;
            string ts = string.Empty;
            string key = string.Empty;

            //Hole Quelltext der Seite im die Parameter der HiddenInputs zu holen für die 
            //Post-Variable
            req = (HttpWebRequest)HttpWebRequest.Create("https://www.jappy.de/password");
            req.CookieContainer = cookieContainer;
            req.Method = "GET";
            req.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)";
            res = (HttpWebResponse)req.GetResponse();
            sr = new StreamReader(res.GetResponseStream());
            html = sr.ReadToEnd();

            ts = html.Substring(html.IndexOf("login[ts]\" value=\"") + 18, 10);
            key = html.Substring(html.IndexOf("login[key]\" value=\"") + 19, 32);
            
            //Setze die Post-Variable zusammen
            string loginData = "login%5Bts%5D=" + ts + "&login%5Bkey%5D=" + key + "&login%5Bu%5D=" + user + "&login%5Bp%5D=" + pass + "&Submit=login";
            

            // Logge ein
            req = (HttpWebRequest)HttpWebRequest.Create("https://www.jappy.de/password");
            req.CookieContainer = cookieContainer;
            req.Method = "POST";
            req.KeepAlive = true;
            req.Referer = "https://www.jappy.de/password";
            req.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)";
            req.ContentType = "application/x-www-form-urlencoded";
            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] loginDataBytes = encoding.GetBytes(loginData);
            req.ContentLength = loginDataBytes.Length;
            MessageBox.Show(req.ContentLength.ToString());
            Stream stream = req.GetRequestStream();
            stream.Write(loginDataBytes, 0, loginDataBytes.Length);
            stream.Close();
            res = (HttpWebResponse)req.GetResponse();
            
            
            

            // Überprüfe ob eingeloggt
            req = (HttpWebRequest)HttpWebRequest.Create("http://www.jappy.de");
            req.CookieContainer = cookieContainer;
            req.Method = "GET";
            req.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)";
            res = (HttpWebResponse)req.GetResponse();
            sr = new StreamReader(res.GetResponseStream());
            html = sr.ReadToEnd();
            sr.Close();
            if (html.Contains("Mein Profil"))
            {
                MessageBox.Show("login ok");
            }
            else
            {
                MessageBox.Show("login error");
            }



Das originale Form sieht so aus:
[php]
<form method="post" action="/password" id="login" onsubmit="javascript:ssl();" accept-charset="UTF-8">
<input name="login[ts]" value="1234700129" type="hidden">
<input name="login[key]" value="a2cbb8a9d8c0a9dab89ec8e24014e8a5" type="hidden">
<div class="libo">
<div style="height: 10px;"></div>
<div style="text-indent: 8pt;">Login:</div>
</div>
<div class="lib">
Mitgliedsname:<br><input name="login" class="libf" type="text"><br>

Passwort:<br><input name="login[p]" class="libf" type="password"><input name="Submit" value="login" type="submit"><br>
<a href="/password" class="ql" style="font-size: 9px;">Passwort vergessen?</a><br>
<input id="ssl_login" checked="checked" type="checkbox"><a href="/infos/ssl/" class="ql" style="font-size: 10px; font-family: arial;">mit SSL-Verschlüsselung</a><br>
</div>
</form>
[/php]


und der httprequest laut livehttpheaders so:

https://www.jappy.de/password

POST /password HTTP/1.1
Host: www.jappy.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://www.jappy.de/password
Cookie: __gads=ID=dd83110ec66f23f3:T=1234630405:S=ALNI_MZAJXQTJ0smQXM4Aaycw_jUzC4aGg; __utma=70291851.1543608365.1234630404.1234630404.1234697006.2; __utmz=70291851.1234630404.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); gd=62549424; __utmb=70291851; __utmc=70291851; ad=a%253A1%253A%257Bs%253A9%253A%2522adtigerfs%2522%253Ba%253A2%253A%257Bs%253A1%253A%2522a%2522%253Bi%253A5%253Bs%253A1%253A%2522z%2522%253Bi%253A1234699269%253B%257D%257D
Content-Type: application/x-www-form-urlencoded
Content-Length: 145
login%5Bts%5D=1234699268&login%5Bkey%5D=0f5b56424c57a3c88d7d177d1749901d&login%5Bu%5D=raffiausgoslar&login%5Bp%5D=Porsche01603543657&Submit=login
HTTP/1.x 200 OK
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
Set-Cookie: SID=4a236761177c26a19e9c9bf567975885; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sun, 15 Feb 2009 12:01:34 GMT
Server: lighttpd

ich hoffe ihr könnt mir helfen!

liebe Grüße,
Raffi

Thema: Bei GetResponse (503) Server nicht verfügbar
Am im Forum: Web-Technologien

Dann würd' ich doch mal glatt behaupten, dass der Server vielleicht einfach mal wirklich nciht erreichbar war...

Thema: Seiten auslesen, bei denen JavaScript aktiviert sein muss - Wie?
Am im Forum: Web-Technologien

Hallo jauny,
hast du schon mal probiert einen UserAgent mitzuschicken?

webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5";

liebe Grüße,
der blutige_anfänger

Thema: HTML source code aus Webseite auslesen
Am im Forum: Web-Technologien

Um welche Seite handelt es sich denn, von der du den Quelltext haben willst? Dann schau ich da mal rüber!

Thema: HTML source code aus Webseite auslesen
Am im Forum: Web-Technologien

Da müsste es zwei Möglichkeiten geben. Entweder du nimmst die zum Beispiel das Plugin Firebug (für'n Firefox) und analysierst die HTTP Header und Aufrufe und versuchst die auch von Hand zu senden, in der Hoffnung, dass du als Response den Quellcode bekommst... Oder du rufst die Seite in einem WebbrowserControl auf, wartest auf "DocumentCompleted" und holst die den Quelltext dann über "Webbrowser.DocumentText", da dies alles umfasst, sprich auch deinen "neuen Frame" der sich nur im DOM befindet...

Thema: Auf welche Art größere Datenmengen speichern
Am im Forum: Rund um die Programmierung

Zitat von iNVi
...Access wäre da noch. setzt aber Office vorraus...

Also wenn ich mich nicht irre, dann brauchen die Clients am Ende doch gar kein Office. Reicht es nicht, wenn du dir mit Office einmal eine .mdb anlegst und die dann mitgibst? Auslesen und beschreiben läuft doch auch so, ohne das man Office haben muss.

Thema: Externe Applikation im "Hide-Mode" starten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Funktioniert 1A! Ich bedanke mich wie immer ganz herzlich!

ProcessStartInfo pinfo = new ProcessStartInfo();
            pinfo.WindowStyle = ProcessWindowStyle.Hidden;            
            pinfo.FileName = "notepad";
            Process.Start(pinfo);

Liebe Grüße,
ein blutiger Anfänger

Thema: Weitere SqlExceptions, obwohl kein Fehler mehr auftreten dürfte
Am im Forum: Datentechnologien

Doofe Frage, aber hast du's schonmal ohne continue; probiert?
Also so:

foreach (DataRow row in archivDatas.Rows)
            {
                try
                {
                    archiv.ImportRow(row);
                    archivAdapter.Update(archiv);
                }
                catch (SqlException ex)
                {
                    
                }
            }

Thema: Externe Applikation im "Hide-Mode" starten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo liebe myCSharpler,
ich bin auf der Suche nach einer Lösung, wie ich aus meinem Programm heraus andere Anwendungen im Hide starten kann.

Bis jetzt starte ich die Anwendung:

Process.Start("iexplore", "http://192.168.2.1/cgi-bin/connect.exe");

und verstecke sie dann wie folgt:

private const int SW_HIDE = 0;

        [DllImport("User32")]
        private static extern int ShowWindow(int hwnd, int nCmdShow);

        int hWnd;

      

        private void timer3_Tick(object sender, EventArgs e)
        {
            Process[] pp = Process.GetProcessesByName("iexplore");
            foreach (Process p in pp)
            {
                hWnd = p.MainWindowHandle.ToInt32();
                ShowWindow(hWnd, SW_HIDE);
            }
           
        }


Gibt es eine Möglichkeit das Fenster direkt beim Starten in den Hide-Modus zu versetzen?

liebe Grüße,
ein blutiger Anfänger

Thema: Alle Cookies des Webbrowser-Controls löschen
Am im Forum: Web-Technologien

ich danke dir! ist mir nicht schlimm drum - ich nutze eh nur firefox, außer vielleicht mal zum testen von homepages und da das projekt ausschließlich für mich ist, passt das schon!

Wenn ich die Lösung so betrachte, dann hatt' ich sie sogar fast schon... Hat nur das "GetFolderPath" gefehlt.

Thema: Alle Cookies des Webbrowser-Controls löschen
Am im Forum: Web-Technologien

Hallo liebe my CSharpler,
ich würde gerne wissen, wie man alle Cookies löschen kann, auf die das Webbrowsercontrol Zugriff hat. Ich hoffe ihr könnt mir helfen!

Liebe Grüße,
ein blutiger Anfänger

Thema: Richtextbox Cursor/Caret Position auslesen und setzen
Am im Forum: GUI: Windows-Forms

Ich danke dir für die schnelle Antwort. Haut alles wunderbar hin mit SelectionStart - hätt' ich auch früher draufkommen können, dachte bloß wenn ich nicht's markiert hab gibt's auch kein SelectionStart. ;)


Was die Sache mit dem "Anfängerfehler" angeht lass ich mich natürlich auch gern belehren.

Liebe Grüße,
ein blutiger Anfänger

Thema: Richtextbox Cursor/Caret Position auslesen und setzen
Am im Forum: GUI: Windows-Forms

Hallo erstmal,
ich bin auf der Suche nach einer Möglichkeit die Postion des Cursors in einer Richtextbox auszulesen und wieder zu setzen.

Folgendes Problem. Ich möchte, dass bestimmt Wörter, sollten sie eingetippt werden in der Box, Rot angezeigt werden. Das klappt auch schon ganz gut.

private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
           
                       

            if (richTextBox1.Text.Contains("#Uploadtitel#") == true)
            {
                richTextBox1.Select(richTextBox1.Text.IndexOf("#Uploadtitel#"), 13);
                richTextBox1.SelectionColor = Color.Red;
            }
richTextBox1.DeselectAll();


}

Wenn ich jetzt jedoch weiterschreiben will, springt er jedes mal mit dem Cursor hinter das Wort. Logisch, da nach dem DeselectAll(); der Cursor hinter dem letzten markierten Wort ist. Das macht ein Arbeiten leider unmöglich. Nun dachte ich mir ich frage vor dem Markieren der entsprechenden Wörter die Cursor Postion ab und setze den Cursor nach dem DeselectAll(); wieder an seine ursprängliche Position.

Jedoch hab ich keinen schimmer, wie ich die Position auslesen/setzen kann.

Ich hatte zwar auch schon das hier gefunden: http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.caretposition.aspx aber das ist nur für Vista und da ich mit XP arbeite bringt mich das leider auch nicht weiter.


Ich hoffe die Problematik ist ersichtlich und ihr könnt mir helfen.

Liebe Grüße,
ein blutiger Anfänger

Thema: Einzelne Combobox-Items formatieren
Am im Forum: GUI: Windows-Forms

Danke für die Antwort! Ich werd mich dann mal mit der Alternative beschäftigen ;)

Thema: Einzelne Combobox-Items formatieren
Am im Forum: GUI: Windows-Forms

Hallo liebe Community,
ich bin jetzt schon einige Zeit am Suchen, aber finde irgendwie nicht das, was ich suche. Und zwar möchte ich die einzelnen Items einer Combobox unterschiedlich formatieren. Sprich - Item[0] in Bold, Item[1] in Italic, etc...
Die Combobox selber lässt sich ja mit Font formatieren, aber wie stelle ich es an nur einzelne Items der Combobox zu formatieren?

Ich hoffe ihr könnt mir helfen.

Liebe Grüße,
ein blutiger Anfänger

Thema: Fehlermeldung beim Programmstart - Ursache unbekannt
Am im Forum: Rund um die Programmierung

Danke dir! Problem gelöst - ich hab bei den Verweisen vergessen, die Infragistics Komponenten Local mitzugeben^^

Thema: Fehlermeldung beim Programmstart - Ursache unbekannt
Am im Forum: Rund um die Programmierung

Da hast du wohl recht - an die Namensgeschichte hab ich auch schon gedacht. Ich denke, ich werde das ganze Projekt wohl auch zeitnah umbenennen. (MultiVauZett Tools, etc.)


Habe grad nochmal probiert den Fehler rauszubekommen. Ich würde mich freuen, wenn nochmal jemand einen Blick drauf werfen könnte. (Sinnvollerweise nur Leute bei denen die "alte" Version nicht funktioniert.)

Liebe Grüße,
ein blutiger Anfänger

neue Version --> http://87.118.114.153/multivz-myCSharp-version.zip

Thema: Fehlermeldung beim Programmstart - Ursache unbekannt
Am im Forum: Rund um die Programmierung

Vielen Dank, dass bringt mich schonmal ein großes Stück weiter!

Die Komponente (Infragistics2.Win.UltraWinExplorerBar.v8.1) wird in meinem Programm für das Menü verwendet. Und ist teil einer "Erweiterung" der VS.

Mich wundert es bloß, dass es bei manchen läuft und bei manchen nicht. Normalerweise dürfte es doch entweder nur bei mir funktionieren, weil den Anderen die Komponente fehlt, oder bei Allen!?

Thema: Fehlermeldung beim Programmstart - Ursache unbekannt
Am im Forum: Rund um die Programmierung

Hallo liebe Community,
gleich vorneweg - Frohe Weihnachten! Ich habe ein kleines Programm geschrieben, dass den Umgang mit Schueler-, Studi- & MeinVZ erleichtern soll. Bei mir funktioniert auch alles prima, jedoch bekomme ich immer wieder Mails von Usern aus meinem Blog, dass sie das Programm nicht starten können.
Ich kann den Fehler leider nicht reproduzieren und wäre daher ein wenig auf eure Hilfe angewiesen.

Ich würde mich freuen, wenn ihr einfach mal probieren würdet das Programm zu starten und wenn es abschmiert, mir vielleicht ein paar Details geben könntet, da die Messagebox von Windows mit dem Fehlerbericht leider "readonly" ist und die Bloguser mir somit die Fehlermeldung nicht zukommenlassen können.


liebe Grüße,
ein blutiger Anfänger

Downloadlink --> http://87.118.114.153/blog/downloads/MultiVZ-Tools-V4.zip
Blogpost mit Information zum Programm --> http://www.net-blog.net/blog/index.php/2008/12/16/multivz-tools-version-4-ist-da/

Thema: .txt-Dateien splitten ist sehr langsam
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke :) habe das mal übernommen, bringt zwar im Schnitt nur 0,3-0,5 Sekunden bei einer 26mb großen Datei, die in ca. 10-11 Blöcke gelegt wird, aber ist trotzdem ein Geschwindikeitszuwachs...

Thema: .txt-Dateien splitten ist sehr langsam
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich danke euch schonmal ganz herzlich für die vielen Tipps! Ich habe probiert Alles umzusetzen.

Endergebnis für eine 55kb große .txt Datei braucht das Tool nun ~3,3 Sekunden statt ~27,5 Sekunden.

Der Code sieht nun so aus:


StreamReader sr = File.OpenText(textBox2.Text);

            int Lines = 1;
            int Part = 1;

            string Save = textBox1.Text + "Scanhandler-" + Part.ToString() + ".txt";

            StreamWriter sw = File.CreateText(Save);

            string Line = sr.ReadLine();
            while (Line != null)
            {
                if (Lines < numericUpDown1.Value + 1)
                {
                    sw.WriteLine(Line);
                }
                else
                {
                    sw.Close();
                    Part++;
                    Lines = 1;
                    Save = textBox1.Text + "Scanhandler-" + Part.ToString() + ".txt";
                    sw = File.CreateText(Save);
                    sw.WriteLine(Line);
                    
                }
                Line = sr.ReadLine();
                Lines++;
            }
            sw.Close();
            sr.Close();

Wenn euch noch was einfällt/auffällt, dann lasst es mich wissen.

liebe Grüße,
ein blutiger Anfänger

Thema: .txt-Dateien splitten ist sehr langsam
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Guten Abend liebe Gemeinde,
ich stehe momentan wieder vor einem kleinem Problem. Ich möchte .txt-Dateien zerteilen. Als Maß, wann geteilt werden soll, soll eine beliebige Anzahl an Zeilen genutzt werden.


Das ganze funktioniert auch alles Fehlerfrei, aber es ist extrem langsam! Bei einem 26mb großem Logfile, sitzt man schon eine gefühlte halbe Ewigkeit.

Im folgenden nochmal meine Lösung:


StreamReader sr = File.OpenText(textBox2.Text); //Logfile öffnen
            
            int Lines = 1; 
            int Part = 1;
            
            string Line = sr.ReadLine();
            while (Line != null)
            {
                if (Lines < numericUpDown1.Value + 1) //numericUpDown1.Value == Zeilenanzahl bei der gesplittet werden soll
                {
                    File.AppendAllText(textBox1.Text + "Scanhandler-" + Part.ToString() + ".txt", Line + "\r\n");
                   
                }
                else
                {
                    Part++;
                    Lines = 1;
                    File.AppendAllText(textBox1.Text + "Scanhandler-" + Part.ToString() + ".txt", Line + "\r\n");
              
                }
                Line = sr.ReadLine();
                Lines++;
            }
            sr.Close();
            ready = true;


Könnt ihr mir nen Tipp geben, wie ich das ganze effizienter handhaben könnte? Funktionieren tut es zwar, aber schön ist was anderes...

Liebe Grüße,
ein blutiger Anfänger