Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
16
Task/Align-columns/Visual-Basic/align-columns-1.vb
Normal file
16
Task/Align-columns/Visual-Basic/align-columns-1.vb
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
Sub AlignCols(Lines, Optional Align As AlignmentConstants, Optional Sep$ = "$", Optional Sp% = 1)
|
||||
Dim i&, j&, D&, L&, R&: ReDim W(UBound(Lines)): ReDim C&(0)
|
||||
|
||||
For j = 0 To UBound(W)
|
||||
W(j) = Split(Lines(j), Sep)
|
||||
If UBound(W(j)) > UBound(C) Then ReDim Preserve C(UBound(W(j)))
|
||||
For i = 0 To UBound(W(j)): If Len(W(j)(i)) > C(i) Then C(i) = Len(W(j)(i))
|
||||
Next i, j
|
||||
|
||||
For j = 0 To UBound(W): For i = 0 To UBound(W(j))
|
||||
D = C(i) - Len(W(j)(i))
|
||||
L = Choose(Align + 1, 0, D, D \ 2)
|
||||
R = Choose(Align + 1, D, 0, D - L) + Sp
|
||||
Debug.Print Space(L); W(j)(i); Space(R); IIf(i < UBound(W(j)), "", vbLf);
|
||||
Next i, j
|
||||
End Sub
|
||||
12
Task/Align-columns/Visual-Basic/align-columns-2.vb
Normal file
12
Task/Align-columns/Visual-Basic/align-columns-2.vb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Sub Main() 'usage of the above
|
||||
Const Text$ = "Given$a$text$file$of$many$lines,$where$fields$within$a$line$" & vbLf & _
|
||||
"are$delineated$by$a$single$'dollar'$character,$write$a$program" & vbLf & _
|
||||
"that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$" & vbLf & _
|
||||
"column$are$separated$by$at$least$one$space." & vbLf & _
|
||||
"Further,$allow$for$each$word$in$a$column$to$be$either$left$" & vbLf & _
|
||||
"justified,$right$justified,$or$center$justified$within$its$column."
|
||||
|
||||
Debug.Print vbLf; "-- Left:": AlignCols Split(Text, vbLf), vbLeftJustify
|
||||
Debug.Print vbLf; "-- Center:": AlignCols Split(Text, vbLf), vbCenter
|
||||
Debug.Print vbLf; "-- Right:": AlignCols Split(Text, vbLf), vbRightJustify
|
||||
End Sub
|
||||
Loading…
Add table
Add a link
Reference in a new issue