Click here to Skip to main content
15,887,337 members
Home / Discussions / WPF
   

WPF

 
AnswerRe: WPF Custom Control & User Control Pin
Gerry Schmitz31-Dec-22 10:58
mveGerry Schmitz31-Dec-22 10:58 
GeneralRe: WPF Custom Control & User Control Pin
Kevin Marois31-Dec-22 14:59
professionalKevin Marois31-Dec-22 14:59 
GeneralRe: WPF Custom Control & User Control Pin
Gerry Schmitz1-Jan-23 2:59
mveGerry Schmitz1-Jan-23 2:59 
GeneralRe: WPF Custom Control & User Control Pin
Kevin Marois1-Jan-23 14:27
professionalKevin Marois1-Jan-23 14:27 
QuestionPath Image Pin
Kevin Marois28-Dec-22 16:27
professionalKevin Marois28-Dec-22 16:27 
AnswerRe: Path Image Pin
Gerry Schmitz28-Dec-22 17:02
mveGerry Schmitz28-Dec-22 17:02 
GeneralRe: Path Image Pin
Kevin Marois28-Dec-22 18:53
professionalKevin Marois28-Dec-22 18:53 
GeneralRe: Path Image Pin
Gerry Schmitz29-Dec-22 4:40
mveGerry Schmitz29-Dec-22 4:40 
QuestionWPF editor is duplicating my image files Pin
tbenner196016-Dec-22 4:54
tbenner196016-Dec-22 4:54 
AnswerRe: WPF editor is duplicating my image files Pin
Dave Kreskowiak16-Dec-22 11:32
mveDave Kreskowiak16-Dec-22 11:32 
GeneralRe: WPF editor is duplicating my image files Pin
tbenner196017-Dec-22 3:27
tbenner196017-Dec-22 3:27 
GeneralRe: WPF editor is duplicating my image files Pin
Dave Kreskowiak17-Dec-22 5:25
mveDave Kreskowiak17-Dec-22 5:25 
QuestionCustomizing the TabPanel section of the TabControl (simple solution found) Pin
Maximilien15-Dec-22 4:33
Maximilien15-Dec-22 4:33 
QuestionWPF .Net Core Dependency Injection & View Models Pin
Kevin Marois14-Dec-22 12:06
professionalKevin Marois14-Dec-22 12:06 
AnswerRe: WPF .Net Core Dependency Injection & View Models Pin
Graeme_Grant31-Dec-22 3:15
mvaGraeme_Grant31-Dec-22 3:15 
Question(ANSWERED) (newbie) I'm confused about ListView ItemSource bindings. Pin
Maximilien8-Dec-22 2:42
Maximilien8-Dec-22 2:42 
AnswerRe: (newbie) I'm confused about ListView ItemSource bindings. Pin
Richard Deeming8-Dec-22 3:58
mveRichard Deeming8-Dec-22 3:58 
GeneralRe: (newbie) I'm confused about ListView ItemSource bindings. Pin
Maximilien8-Dec-22 4:22
Maximilien8-Dec-22 4:22 
Questionfast directory infos for a lot of files Pin
pitwi6-Dec-22 2:14
pitwi6-Dec-22 2:14 
I'm writing a WPF (C#) app for my MP3 collection with more then 350,000 files.
I'm reading path and filenames directly from the HD and store the infos in a SQLite Database.
Because of reorganizationes I have to do that in periodic intervals.
But the current code needs 17 hours (!!!) for that. I'm sure there must be a faster way.
Does anyone have an idea?


private void ButtonImport_Click(object sender, RoutedEventArgs e)
{
    // Import

    string initdir = @"H:\mp3\";

    Cursor cu = this.Cursor;
    this.Cursor = Cursors.Wait;
    string errtxt = "";
    // delete all existing database entries
    ToolStripStatusLabel1.Text = "deleting ..."
    try
    {
        SQLiteCommand dbCom = new SQLiteCommand("DELETE FROM Dateien", dbConn);
        dbCom.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "delete error", MessageBoxButton.OK, MessageBoxImage.Error);
        return;
    }
    sPfad = initdir;
    // import
    DateTime t1 = DateTime.Now;
    int z = 0;
    loopDir(sPfad);
    DateTime t2 = DateTime.Now;
    txt = "";
    txt += z.ToString() + " files saved in ";
    txt += ((t2 - t1).TotalSeconds / 60).ToString("0.0") + " min.";
    txt += errtxt != "" ? Environment.NewLine + Environment.NewLine + errtxt : "";
    this.Cursor = cu;
    MessageBox.Show(txt, "Import", MessageBoxButton.OK, MessageBoxImage.Information);
}


private void loopDir(string strPath)
{
    // read directories and files
    string dn = "";
    DirectoryInfo ofs = new DirectoryInfo(strPath);
    bool f = false;
    int n = 0;
    try
    {
        n = ofs.GetDirectories().Length;
    }
    catch (Exception ex)
    {
        f = true;
        errtxt += ex.Message + Environment.NewLine;
    }
    if (f == false)
    {
        foreach (DirectoryInfo d in ofs.GetDirectories())
        {
            dn = strPath + "\\" + d.Name;
            dn = dn.Replace("\\\\", "\\");
            loopDir(dn);  // recursive call
        }
        // file loop
        bool ok = false;
        foreach (FileInfo fl in ofs.GetFiles())
        {
            ok = false;
            for (int i = 0; i < fext.Length; i++)   // only files with spec. extensions
            {
                if (fl.Name.ToLower().EndsWith(fext[i]))
                    ok = true;
            }
            if (ok == true)
            {
                string sqls = "";
                sqls += "INSERT INTO Dateien (Pfad, Datei) VALUES (";
                sqls += "'" + sqlready(strPath).ToString().Substring(2) + "\\', ";
                sqls += "'" + sqlready(fl.Name) + "')";
                try
                {
                    SQLiteCommand dbCom = new SQLiteCommand(sqls, dbConn);
                    dbCom.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "database save error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                z++;
            }
        }
    }
}


Thanks
AnswerRe: fast directory infos for a lot of files Pin
pitwi6-Dec-22 2:29
pitwi6-Dec-22 2:29 
GeneralRe: fast directory infos for a lot of files Pin
Dave Kreskowiak6-Dec-22 5:40
mveDave Kreskowiak6-Dec-22 5:40 
AnswerRe: fast directory infos for a lot of files Pin
Richard Deeming6-Dec-22 2:51
mveRichard Deeming6-Dec-22 2:51 
GeneralRe: fast directory infos for a lot of files Pin
pitwi6-Dec-22 6:56
pitwi6-Dec-22 6:56 
QuestionCustom Control Styling Pin
Kevin Marois2-Dec-22 8:58
professionalKevin Marois2-Dec-22 8:58 
AnswerRe: Custom Control Styling Pin
Richard Deeming5-Dec-22 0:27
mveRichard Deeming5-Dec-22 0:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.