Roder ikke selv på nuværende tidspunkt så meget med win-forms, men der er en komponent kaldet "Progressbar" under toolbox der er lige til at smide ind i formen.
jeg ved hvordan den bruges, jeg kan bare ikke finde ud af at bruge den, så den kan indikere hvor meget data der er sendt! eller om det er mailmessage og mailSMPT der skal bruges?
Synes godt om
Slettet bruger
27. august 2005 - 22:47#3
Igen, uden at være den store ekspert. Jeg fandt noget ved en søgning:
[C#] private void CopyWithProgress(string[] filenames) { // Display the ProgressBar control. pBar1.Visible = true; // Set Minimum to 1 to represent the first file being copied. pBar1.Minimum = 1; // Set Maximum to the total number of files to copy. pBar1.Maximum = filenames.Length; // Set the initial value of the ProgressBar. pBar1.Value = 1; // Set the Step property to a value of 1 to represent each file being copied. pBar1.Step = 1;
// Loop through all files to copy. for (int x = 1; x <= filenames.Length; x++) { // Copy the file and increment the ProgressBar if successful. if(CopyFile(filenames[x-1]) == true) { // Perform the increment on the ProgressBar. pBar1.PerformStep(); } } }
Her er det kopiering af x-antal filer, men du kan vel sætte det til antallet af poster i din database. Jeg regner med at du vil sende til nogle brugere fra en database.
nope, jeg skal sende en fil (attachment), og vil lave en indikator på hvor langt den er nået med denne ene mail! problemet ligger i at jeg ikke synes at kunne splitte maildelen ad, så man kan lave en step funktion som den du har lavet!
hvis det var et spg om at steppe gennem alle de mails jeg har i udbakke kan jeg godt lave det, men jeg vil have en der viser at der er sendt 56% af meddelelsen (håber du forstår det nu).
Synes godt om
Slettet bruger
27. august 2005 - 22:55#5
Hvis du benytter streams via en socket burde det vel være muligt at se hvor langt du er nået løbende. Bare en tanke :-)
1. det er lige det jeg ønsker, og bruger SmtpMail.Send() til at afsende! dette er ikke til web brug men windows application.
2. lige præcis, status over hvor langt den er nået!
Synes godt om
Slettet bruger
28. august 2005 - 10:04#9
Kan du ikke lave det i en tråd? Så kan du starte den når tråden starter og slutte den når tråden har udført sit job.
Ved ikke lige hvordan man ellers kan gøre det. Ud fra den kode jeg fandt ser det jo netop ud som om den skal have et minimum og et maksimum og jeg kan ikke lige se hvordan man skal kunne trække et maksimum ud for afsendelsen af en email.
Hvornår er en mail sendt i din verden? Du bliver nød til at tænke lidt over dette spørgsmål for at du kan lave ne progressbar - for hvad er det den skal tælle op til? Til mailen er sendt til den første smtp server? Til den er modtaget af den endelige modtager? Eller ?
og en sidste ting er at du slet ikke vil kunne lave sådan en progressbar med SmtpMail.Send(), da denne ikke giver nogen mulighed for at følge med i hvor langt i processen den er med at sende mailen.
Som thomasso er inde på skal du selv ind og rode med sockets. Du skal connecte til en smtpserver på port 25. Splitte din mail op i bidder af f.eks. 1024 bytes størrelse, og sende en bid af gangen, hvorefter du incrementerer din progressbar.
det var det jeg søgte svar på, så det er jo helt fint med alle de gode besvarelser :D
thomasso gider du smide et svar, du fortjener point :o)
Synes godt om
Slettet bruger
28. august 2005 - 20:03#13
Tak :-)
Synes godt om
Slettet bruger
28. august 2005 - 20:03#14
Og igen...
Tak :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.