Anfängerfrage: ProgressBarGadget(...)
Anfängerfrage: ProgressBarGadget(...)
Also wenn ich Dateien auf die Festblatte kopier(Also Installiere) wie bekomm ich das dann hin das der Fortschritt angezeigt wird. Also wie soll der befehl wissen wie viel schon Kopiert ist?
Ich will ja nicht jedes Prozent einzeln angeben.
(Alles was ich in der suche gefunden habe ist zu Kopliziert)
Ich will ja nicht jedes Prozent einzeln angeben.
(Alles was ich in der suche gefunden habe ist zu Kopliziert)
Nein. Du musst immer daran denken, dass ein Computer von Haus aus dumm ist. Du musst ihm immer ausführlich jeden Schritt einzelnd erklären (=programmieren).
So doof das auch ist, so interessant macht es aber die Sache aus.
So doof das auch ist, so interessant macht es aber die Sache aus.

Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Vielleicht mal in der Win32.hlp, bzw. MSDN oder PSDK nachlesen.
SHFileOperation_ mit gefüllter Structure vom Type SHFILEOPSTRUCT
aufrufen, dann kommt der windowstypische Dialog mit Fortschrittsanzeige, ohne weiteres zutun
SHFileOperation_ mit gefüllter Structure vom Type SHFILEOPSTRUCT
aufrufen, dann kommt der windowstypische Dialog mit Fortschrittsanzeige, ohne weiteres zutun

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Ja die Größe muss ermittelt werden und dann alle Größen der Dateien zusammengezählt werden.
Nur wie kann man programmieren dass der zb. 1% von der größe aller Daten ermittet und wenn er diesen 1% kopiert hat das der das dan in der Fort. Anzeige Anzeigt?
Also so musste das gehen ich kenne mich nur nicht mit % programmierung (oder wie das heißt
) aus!
Nur wie kann man programmieren dass der zb. 1% von der größe aller Daten ermittet und wenn er diesen 1% kopiert hat das der das dan in der Fort. Anzeige Anzeigt?
Also so musste das gehen ich kenne mich nur nicht mit % programmierung (oder wie das heißt

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Hier mal eine Procedure zum Copieren mit Fortschritt!
Ein Fenster ist erforderlich
Eine Linkliste, die die Dateinamen enthält.
Den Rest bitte dem Example entnehmen. wobei es noch viel mehr
Möglichkeiten gibt dies zu nutzen!
Aussehen tut es dann in etwa so:

Ein Fenster ist erforderlich
Eine Linkliste, die die Dateinamen enthält.
Den Rest bitte dem Example entnehmen. wobei es noch viel mehr
Möglichkeiten gibt dies zu nutzen!
Code: Alles auswählen
Procedure CopyWithProgress(ParendID.l, Sources.s(), Destination.s)
Protected File.SHFILEOPSTRUCT, *Mem.l, Length.l, Pos.l
*Mem = AllocateMemory(1)
With File
\hwnd = ParendID
\wFunc = #FO_COPY
ForEach Sources()
Length = Len(Sources()) + 1
ReAllocateMemory(*Mem, Pos + Length)
PokeS(*Mem + Pos, Sources(), Length)
Pos + Length
Next
\pFrom = *Mem
\pTo = @Destination
\fFlags = #FOF_FILESONLY
EndWith
If SHFileOperation_(File) = #S_OK
FreeMemory(*Mem)
ProcedureReturn #True
EndIf
FreeMemory(*Mem)
ProcedureReturn #False
EndProcedure
NewList MySources.s()
AddElement(MySources())
MySources() = #PB_Compiler_Home + "PureBasic.exe"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "SmartUpdate.exe"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "Visual Designer.exe"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "Examples\Sources\Billboard.pb"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "Examples\Sources\Camera.pb"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "Examples\Sources\CDAudio.pb"
AddElement(MySources())
MySources() = #PB_Compiler_Home + "Examples\Sources\Cipher.pb"
; hier bitte anpassen, etwas grösseres, sonst sieht man nicht viel
AddElement(MySources())
MySources() = "G:\Installation\CD-Images\Betriebssysteme\Kanotix\KANOTIX-2005-04.iso"
; usw.
If OpenWindow(0, #PB_Ignore, 0, 100, 100, "CopyWithProgress")
While WindowEvent() : Wend
CopyWithProgress(WindowID(0), MySources(), GetTemporaryDirectory())
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
