Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


FilsystemWatcher

Postades av 2007-04-03 14:47:08 - Niklas Györi, i forum c# (c-sharp), Tråden har 10 Kommentarer och lästs av 581 personer

Har följande problem..
Koden nedan av någon anledning som jag tydligen inte fattat loopar igenom 4ggr?
Varför gör den det? Även om filen som läses innehåller bara 1 rad.

private void DoLabel(object sender, FileSystemEventArgs e)
        {
            string filename = "C:\\pickup1\\jojo.dat";
            string line;
            string[] myArr;

            using (TextReader tx = new StreamReader(filename, System.Text.Encoding.Default, false))
            {
                while ((line = tx.ReadLine()) != null)
                {
                    line = line.Replace('\"', ' ');
                    myArr = line.Split(new Char[] { ',' });
                    if (myArr[0].Trim() == "H")
                    {
                        headerText = myArr[2].ToString();
                        ordernrText = myArr[1].ToString();
                        HeaderLabel.OriginAtMargins = false;
                        HeaderLabel.PrinterSettings.Copies = 1;
                        MessageBox.Show(myArr[0].Trim().ToString(), "HEADER", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        //HeaderLabel.Print();
                    }
                    else
                    {
                        picturePath = "C:\\Pictures\\" + myArr[6].Replace(" ", "") + ".gif";
                        slrText = myArr[5].ToString();
                        benamning = myArr[3].TrimStart().ToString();
                        JokerEtikett.OriginAtMargins = false;
                        JokerEtikett.PrinterSettings.Copies = 1;
//                        JokerEtikett.Print();
MessageBox.Show(myArr[5].Trim().ToString(), "LABEL", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);


                    }

                }
                tx.Close();
                tx.Dispose();
               
            }
           
                toolStripStatusLabel1.Text = "Senaste körning: " + GetTime();
        }


Svara

Sv: FilsystemWatcher

Postades av 2007-04-03 14:52:23 - Johan Jonsson

Loopar den 4 gånger i while eller är det så att du typ inte satt nått NotifyFilter så att den går in i denna metod fyra gånger när en file släpps i en katalog?


Svara

Sv:FilsystemWatcher

Postades av 2007-04-03 14:58:39 - Johan Jonsson

Om man kortar ner till:
Om man kortar ned till kod till det som spelar roll:
private void DoLabel()
{
string filename = @"C:\temp\tet.dat";
string line;
string[] myArr;

using (TextReader tx = new StreamReader(filename, System.Text.Encoding.Default, false))
{
while ((line = tx.ReadLine()) != null)
{
line = line.Replace('\"', ' ');
}
tx.Close();
}

Den loopar en gång om filen har en rad. Således går ditt filewatcher event fler gånger eller så är det något strul med din inputfil.


Svara

Sv:FilsystemWatcher

Postades av 2007-04-03 14:59:59 - Niklas Györi

Ja den loopar 4 ggr när en filen skapas i katalogen.

Notify filter är satt till LastWrite.


Svara

Sv: FilsystemWatcher

Postades av 2007-04-03 15:09:47 - Johan Jonsson

Jamen då är koden ovan rätt oväsentlig? Då är det ju hur du gjort din filewatcher som är av intresse?


Svara

Sv:FilsystemWatcher

Postades av 2007-04-03 15:15:06 - Niklas Györi

            this.JojoWatcher.EnableRaisingEvents = true;
            this.JojoWatcher.Filter = "jojo.dat";
            this.JojoWatcher.NotifyFilter = System.IO.NotifyFilters.LastWrite;
            this.JojoWatcher.Path = "C:\\JokerEtikett\\Pickup";
            this.JojoWatcher.SynchronizingObject = this;
            this.JojoWatcher.Changed += new System.IO.FileSystemEventHandler(this.DoLabel);

Ändrade koden ovan
Felet kvarstår dock..

Känns som om det är här det felar..


Svara

Sv: FilsystemWatcher

Postades av 2007-04-04 08:37:10 - Johan Jonsson

Detta är en ren chansning. Fungerar .size bättre notifyfilter?


Svara

Sv:FilsystemWatcher

Postades av 2007-04-04 09:17:33 - Niklas Györi

Nix..

Men jag provade att göra så här:
Skapade en knapp som startar inläsningen av filen. Då går den bara en gång.

Men om jag låter "watchern" starta den så startas den 4 ggr.

Skumt..


Svara

Sv: FilsystemWatcher

Postades av 2007-04-04 09:47:07 - Niklas Györi

Saxat från MSDN:

Common file system operations might raise more than one event. For example, when a file is moved from one directory to another, several OnChanged and some OnCreated and OnDeleted events might be raised. Moving a file is a complex operation that consists of multiple simple operations, therefore raising multiple events. Likewise, some applications (for example, antivirus software) might cause additional file system events that are detected by FileSystemWatcher.



Får kanske komma upp med någon annan lösning... Om inte någon annan har nån bra idé?


Svara

Sv:FilsystemWatcher

Postades av 2007-04-04 10:09:39 - Johan Jonsson

Du kan ha en tråd som kollar med ett visst återkommande intervall och därimellan är sövd.
En annan alternativ lösning kan vara att ha koll på filen som skapas i katalogen och om du redan fixat med denna fil så hoppa över all action och låt enbart eventet gå.


Svara

Sv: FilsystemWatcher

Postades av 2007-04-04 10:55:23 - Niklas Györi

Bytte till en timer och lite annan kodning så löste det sig.

Tack för input iaf.


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 878
27 965
271 771
783
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies