stdProgress
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 32/100
調査の方向性
Start by locating the stdProgress entry point in the VBA library and map the constructors and instance methods listed in the spec. Review the examples to understand nested progress, form or frame binding, Step, self, and Finish behavior. Done means the listed API and the three demonstrated usage patterns work as described.
索引モデルが issue の本文から書いたものです。
説明
stdProgress
Concept
The concept is to be able to build a Progress object, which can continuously sub-divide progress (and ultimately update a progress bar). This progress object could also be supplied as a parameter to functions which increases the ease of using it as a progress meter.
Example 1:
With stdProgress.CreateFromPercents(0.9,0.1).bindForm(myProgressBar)
Dim allSheetNames as collection: set allSheetNames = new collection
With .CreateFromCount(workbooks.count)
For each wb in workbooks
With .CreateFromCount(wb.sheets.count)
for each sheet in wb.sheets
allSheetNames.add sheet.name
.step
next
End With
next
End With
With .CreateFromCount(allSheetNames.count)
Dim vSheetName
for each vSheetName in allSheetNames
debug.print vSheetName
.step
next
End with
End With
- We divide the work into a 0.9 and 0.1 split, i.e. 90% and 10%.
- We subdivide the 90% into
workbook.countparts. Assume 2 workbooks are open, so that's 45% each. - We subdivide the 45% into
wb.sheets.countparts. Assume 5 sheets per workbook so 9% per sheet. - We step for every sheet name added to the workbook incrementing up the tree till the parent, which updates the form.
- Upon finishing we've updated 90% of the progress, 10% remains
- We divide this 10% into the number of sheets (10) so 1% for each sheet.
- Each sheet we increment by this value
- We unload the object as progress is completed
Example 2
With stdProgress.CreateFromCount(3)
'do some task
.step()
'do some other task
.step()
'do some other task
.step() 'optional, as the progress bar will unload immediately after this method in this case
End With
Example 3
Sub test(pb)
with pb.CreateFromCount(workbooks.count)
for each wb in workbooks
if wb.name = sName then
debug.print workbook.fullname
pb.finish
exit function
end if
next
end with
End Sub
Spec
- Constructors
- stdProgress::CreateFromPercents(Paramarray params())
- stdProgress#CreateFromPercents(Paramarray params())
- stdProgress::CreateFromCount(iPartsCount as long)
- std{rpgress#CreateFromCount(iPartsCount as long) - split progress evenly amongst N parts
- self - Returns Me
- Instance methods
- bindForm(Optional Byval oUF as object, ByVal sUpdateMethodName as string) - binds a form with an update method, if no form supplied just return self
- bindFrame(Optional ByVal fr as frame) - binds a frame, the progress object will insert labels into the frame to visualise progress. If no fram supplied just return self
- Step - steps forward by 1 step of progress. Default is 0.01 if created from percents, otherwise it's 1 from counts.
- Finish - call if you need to urgently finish the progress accumulated.
- 主要言語
- VBA
- スター
- 412
- フォーク
- 70
- 平均マージ
- 20時間 38分
- マージ済み PR(30日)
- 18
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sancarn/stdVBA のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
sancarn/stdVBA#140 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
sancarn/stdVBA#138 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement lib-stdArray
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
-
enhancement megathread
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
bug duplicate enhancement priority: low ui
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
storytold/pdfcraft#5594 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug file-compat parity priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
请让 FPS 叠加层的字号大小可单独设置オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
parity priority: low ui
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
storytold/photocraft#10527 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Arch: launcher self-update ignores pacman/AUR ownership and fails with Permission denied on /usr/binオープンbug install linux priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
storytold/craft-launcher#1094 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信