AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 Hei igjen! Lurer på om det er mulig å legge til en progressbar funksjon inne i den rekursive funksjonen? Og er det mulig å legge til en Textbox.text = "TEKST" på slutten når den er ferdig? Altså, når den er ferdig med å kopiere en fil gjør den dette: ProgressBar1.Value = ProgressBar1.Value + 1 Men, på en eller annen måte må man jo finne ut hvor stor progressbaren skal være da, slik at det ikke blir for mye eller for lite. Progressbar1.Maximum = ? Kan noen hjelpe meg? Lenke til kommentar
Spartakus Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Først må du finne ut av hvor mange filer du skal kopiere, evt totalt antall bytes. Deretter må du holde styr på hvor lang i prosessen du har kommet i kopieringa og rapportere om progress deretter. Hvis du bruker en BackgroundWorker, så har denne en ReportProgress event som du kan bruke. For prosentvis progress: (antall_filer_kopiert_hittil / antall_filer_totalt) * 100 Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 Hmm... Den må testes! Hittil har jeg bare brukt denne: ProgressBar1.Maximum = 1 + ProgressBar1.Value + 1 Og det ser faktisk ut til at den virker.. Men er jo mulig at den ikke er helt stabil da.. Lenke til kommentar
GeirGrusom Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 ProgressBar1.Maximum = 1 + ProgressBar1.Value + 1 hva faen? du kunne like godt skrevet ProgressBar1.Value + 2 Sett den til 100, og bruk prosent. Lenke til kommentar
Spartakus Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Jeg mener progressBar er stilt opp i %, altså verdi-intervallet 0-100. Det er vel ingen grunn til å endre på det? Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 ProgressBar1.Maximum = 1 + ProgressBar1.Value + 1 hva faen? du kunne like godt skrevet ProgressBar1.Value + 2 Sett den til 100, og bruk prosent. 9058609[/snapback] Er du sikker? Her er koden: ' Recursively copy all files and subdirectories from the ' specified source to the specified destination. Private Sub RecursiveCopyFiles( _ ByVal sourceDir As String, _ ByVal destDir As String, _ ByVal fRecursive As Boolean, ByVal overWrite As Boolean) Dim i As Integer Dim posSep As Integer Dim sDir As String Dim aDirs() As String Dim sFile As String Dim aFiles() As String ' Add trailing separators to the supplied paths if they don't exist. If Not sourceDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then sourceDir &= System.IO.Path.DirectorySeparatorChar End If If Not destDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then destDir &= System.IO.Path.DirectorySeparatorChar End If ' Recursive switch to continue drilling down into dir structure. If fRecursive Then ' Get a list of directories from the current parent. aDirs = System.IO.Directory.GetDirectories(sourceDir) For i = 0 To aDirs.GetUpperBound(0) ' Get the position of the last separator in the current path. posSep = aDirs(i).LastIndexOf("\") ' Get the path of the source directory. sDir = aDirs(i).Substring((posSep + 1), aDirs(i).Length - (posSep + 1)) ' Create the new directory in the destination directory. System.IO.Directory.CreateDirectory(destDir + sDir) ' Since we are in recursive mode, copy the children also RecursiveCopyFiles(aDirs(i), (destDir + sDir), fRecursive, overWrite) Next End If ' Get the files from the current parent. aFiles = System.IO.Directory.GetFiles(sourceDir) ' Copy all files. For i = 0 To aFiles.GetUpperBound(0) ' Get the position of the trailing separator. posSep = aFiles(i).LastIndexOf("\") ' Get the full path of the source file. sFile = aFiles(i).Substring((posSep + 1), aFiles(i).Length - (posSep + 1)) Try ' Copy the file. System.IO.File.Copy(aFiles(i), destDir + sFile, False) ProgressBar1.Maximum = 1 + ProgressBar1.Value + 1 ProgressBar1.Value = ProgressBar1.Value + 1 Label4.Text = ("Copied " & sFile & " to " & destDir) Catch ex As Exception If overWrite = False Then Label4.Text = (ex.Message) Label4.Text = ("Skipping..." & ex.Message) Else System.IO.File.Copy(aFiles(i), destDir + sFile, True) Label4.Text = ("Overwriting old " & sFile & " in " & destDir) End If End Try Next End Sub Jaja, jeg får prøvde den Backgroundworkeren da.. Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 Oj oj oj oj OJ! Dette her var heftig... Hvordan skal jeg egentlig få den til å fungere? Jeg må vel få Backgroundworkeren til å jobbe med den koden jeg postet rett over her? Lenke til kommentar
j000rn Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 (endret) Det gikk 9 minutter fra du fikk vite om BackgroundWorker til neste innlegg hvor du spør om hvordan du skal bruke den! Jeg nekter å tro at du har gjordt noe som helst forsøk på å finne ut av dette selv. Og vi er IKKE her for å programmere hele programmet ditt for deg! GOOGLE!! Endret 12. juli 2007 av jorn79 Lenke til kommentar
GeirGrusom Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 (endret) edit: Det du gjør med progressbaren vil virke, men det vil gi helt feil resultat, da den vil begynne med å fylle 1/3 av progressbaren, og forskjellen bare vil bli mindre og mindre, og vil egentlig være helt uten forhold til det faktiske resultatet du prøver å vise. Backgroundworkeren skal ikke vise noe data, den skal kun behandle det. Endret 12. juli 2007 av GeirGrusom Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 (endret) Hvis du bare er her for å klage og surre etter meg, så kan du finne et annet sted. Faktisk er dette forumet til å hjelpe folk, ikke bare si: Google er din venn. Jeg tror egentlig programmeringsavdelingen er den desidert dårligste delen til å her på forumet! Og kvaliteten gjør det ikke noe bedre med deg jorn79. Har dere tatt en titt på andre avdelinger her? Det er mange folk som gidder å bruke tiden sin på å hjelpe! Det er veldig mange av dem her også! Dere veit selv hvem jeg mener...! Det er ikke det. Men det er noen som gjør kvaliteten dårligere.. Herregud, for en oppførsel... Er det mulig... EDIT: Forresten, istedet for å spamme ned hele forumet med klaging, kan du heller sende meg en PM. Da slipper alle andre å se på alt sytet ditt. Takk Endret 12. juli 2007 av AnaXyd Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 edit: Det du gjør med progressbaren vil virke, men det vil gi helt feil resultat, da den vil begynne med å fylle 1/3 av progressbaren, og forskjellen bare vil bli mindre og mindre, og vil egentlig være helt uten forhold til det faktiske resultatet du prøver å vise. Backgroundworkeren skal ikke vise noe data, den skal kun behandle det. 9058796[/snapback] Så jeg skal ikke sette den til å gjøre noe altså? Bare bruke den til progressbar liksom? Takk for svar! Lenke til kommentar
GeirGrusom Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Vi prøver å hjelpe, men det virker ikke som om du er mottakelig for det, det vi prøver å si, er at du burde prøve å få det til å fungere selv, før du poster her. Vi vil ikke lage programmet for deg, men vi vil gjerne hjelpe. Lenke til kommentar
j000rn Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Herregud, for en oppførsel... Er det mulig... 9058801[/snapback] Jeg er helt enig. Det er ekstremt dårlig oppførsel å komme hit og misbruke andre sin verdifulle tid når man ikke har gjordt det minste forsøk på å finne ut av problemet selv! Lenke til kommentar
Manfred Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 AnaXyd: j0rn gjør nok TEMMELIG mye mer for kvaliteten her på forumet enn det du gjør. Han er en person som kan mye, og som kan være en ressurs, som flere andre her også. Det er sånne som deg, som ikek GIDDER å prøve en DRITT selv, men som forventer at alle andre skal skrive masse kode til deg, som gjør noe med kvaliteten her. Det er noe som heter "hjelp til selvhjelp". Med andre ord, kan vi peke deg i riktig retning, men vi bærer deg faen ikke hele veien. Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 Vi prøver å hjelpe, men det virker ikke som om du er mottakelig for det, det vi prøver å si, er at du burde prøve å få det til å fungere selv, før du poster her. Vi vil ikke lage programmet for deg, men vi vil gjerne hjelpe. 9058812[/snapback] Jeg har faktisk testet alt. Før jeg spurte! Var innom MSDN, og smalt inn noen koder. Men det ble rett og slett for heavy, for det var jo flere sider. Og jeg veit jo ikke hva halvparten gjør engang. Derfor spurte jeg spm mitt! Lenke til kommentar
j000rn Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 (endret) Jeg har faktisk testet alt. Før jeg spurte! Var innom MSDN, og smalt inn noen koder. Men det ble rett og slett for heavy, for det var jo flere sider. Og jeg veit jo ikke hva halvparten gjør engang. Derfor spurte jeg spm mitt! 9058839[/snapback] Hvis du mener at 9 minutter holder så kan du like gjerne slutte å programmere... Det samme gjelder hvis du ikke engang klarer å søke etter "backgroundworker tutorial vb.net" på google. Og når du har gjordt DET er du velkommen hit for å spørre om ting du lurer på. Endret 12. juli 2007 av jorn79 Lenke til kommentar
GeirGrusom Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 (endret) vi slutter med flamewaren da, ellers kommer ilpostino og sletter postene dine. postcount++ Endret 12. juli 2007 av GeirGrusom Lenke til kommentar
Wabby Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Her har du noe som vil hjelpe deg godt på vei: http://www.google.no/search?hl=no&q=jfgi Lenke til kommentar
AnaXyd Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 (endret) Men har dere ikke skjønt at der er en del enklere å spørre her da? Jeg ble pekt i en retning mot backgroundworkeren ja.. Men det er jo ganske enkelt å svare på om jeg skal bruke den til å kjøre hele kopieringskoden, eller ikke? GeirGrusom gjorde jo det, og det er jo bra.. Men det er noen andre her som bare venter på at jeg skal spørre ett riktig spm. til man kan bare fyre av og syte til meg. Jeg skjønner jo at dere ikke gidder å skrive hele greia for meg, og det er noe dere heller ikke har gjort! LANGT ifra! Men dere hjelper meg på vei! Og ja, jeg har vært mye på MSDN, og skaffet mye selv derfra. Men å surve og klage sånn syntes jeg er unøvdendig. Kan vi ikke bare kjøre inn en fred, så skal jeg passe meg for de spm. dere blir så irritert over..? Endret 12. juli 2007 av AnaXyd Lenke til kommentar
j000rn Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Men har dere ikke skjønt at der er en del enklere å spørre her da? 9058897[/snapback] Enklere å bruke opp vår verdifulle tid enn å gidde å gjøre noe selv. Jepp jeg forstår den. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå