[ TAG 581 ][23.10.2022] -Erfolgreich -IAP-20220403-20220403-1150

Ich beginne mit meinen letzten Arbeitsstand. Es ist sehr schwer die Disziplin zu bewahren, wenn man Familie mit Kindern und eine Arbeitsstelle hat um die Kinder ernähren zu können.

Jedoch wächst man an seinen Herausforderungen. Und ich bin mir sicher, nach dem ich diese Herausforderungen bewältigt habe, werde ich noch viel besser, leistungsstärker und weiser sein.

Kommen wir zurück zu meinen letzten Arbeitsstand. Folgende Felder wurden überarbeitet und ergänzt.
  • [ SysINDX ]
    • Ich habe neue Indizes für die Verteilungs-Keys definiert.
  • [ FRM.py ]
    • Ich habe die Variablenbezeichnung des [ remainder_ ] für die zurückgegebenen Tuples in [ chld_mrg_h_ ] umbenannt.
  • [ H_MARGIN_DIST_KEY_000 ]
    • Ich habe die Bezeichnungen der Parameter [ remainder_ ] zu [ chld_mrg_h ] verändert.
    • Der logische Fehler der Parameter [ m2_l ] und [ m2_r ] wurde behoben. Der Fehler bestand darin, dass ich die Integer-Differenz als Betrag von den Parametern [ m1_l ] und [ m1_r ] genommen habe. Dies hätte dazu führen könnne, wenn der Fehler bzw. die Differnz positiv und größer wäre als die verfügbaren Margins, dann wäre [ m2_l ] und [ m2_r ] negativ geworden. Was schon mal nicht sein kann und nicht sein darf.
    • Das Vorzeichen des [ a_ ]-Parameters muss auf den [ junk_ ]-Parameter übertragen werden. Somit muss die Methode [ H_MARGIN_DIST_KEY_000 ] erweitert werden.

Ich benötige einen Mechanismus, dass den Parameter [ junk_ ] dekrementiert und auf 0 setzt. Die Schwierigkeit besteht darin, dass der Parameter [ junk_ ] Vorzeichenbehaftet ist.

Wenn [ junk_ ] negativ ist, dann muss er von den Margins abgezogen werden. Das negative Vorzeichen des Parameters [ junk_ ] bedeutet, dass die angegebene Breite des [FRM]-Elementes kleiner ist, als die gesamte Größe deren Kindelemente.

def H_MARGIN_DIST_KEY_000(stl_key, userstl, ref_user):
key_ = {}
junk_ = 0
chld_mrg_h_ = 0

a_ = userstl[si_chld_err_width]
b_ = userstl[si_chld_mrg_h]
c_e = GET_CHLD_STLKEYS(stl_key=stl_key, userstl=ref_user, event_elm=False)
e_ = 0

if a_ < 0:
if abs(a_) > b_:
if a_ > 0:
a_ = b_
else:
a_ = b_*(-1)

for c_ in c_e:
m1_l = ref_user[c_][si_ml]
m1_r = ref_user[c_][si_mr]
if b_ == 0:
mp_l = 0
mp_r = 0
else:
mp_l = m1_l/b_
mp_r = m1_r/b_

df_l = a_ * mp_l
df_r = a_ * mp_r

if df_l > 0:
di_l = int(abs(df_l))
else:
di_l = int(abs(df_l))*(-1)

if df_r > 0:
di_r = int(abs(df_r))
else:
di_r = int(abs(df_r))*(-1)

e_ += di_r + di_l
m2_l = m1_l + di_l
m2_r = m1_r + di_r
chld_mrg_h_ += m2_l + m2_r
itm = {
f"{c_}": {
f"{si_m1_l}": m1_l,
f"{si_m1_r}": m1_r,
f"{si_m2_l}": m2_l,
f"{si_m2_r}": m2_r,
f"{si_mp_l}": mp_l,
f"{si_mp_r}": mp_r,
f"{si_df_l}": df_l,
f"{si_df_r}": df_r,
f"{si_di_l}": di_l,
f"{si_di_r}": di_r
}
}
key_.update(itm)

junk_ = abs(a_) - abs(e_)
if a_ < 0:
junk_ = junk_*(-1)

return key_, junk_, chld_mrg_h_


def H_JUNK_DIST_KEY_000(dist_key, junk, chld_mrg_h):
dist_key_ = dist_key
junk_ = junk
chld_mrg_h_ = chld_mrg_h

for k_ in reversed(dist_key_):
m2_l = dist_key_[k_][si_m2_l]
m2_r = dist_key_[k_][si_m2_r]
di_l = dist_key_[k_][si_di_l]
di_r = dist_key_[k_][si_di_r]
j_ = abs(junk_)
if j_ > 0:
if junk_ > 0:
m2_r = m2_r + 1
chld_mrg_h_ = chld_mrg_h_ + 1
di_r = di_r - 1
junk_ = junk_ - 1
elif junk_ < 0:
m2_r = m2_r - 1
chld_mrg_h_ = chld_mrg_h_ - 1
di_r = di_r + 1
junk_ = junk_ + 1

j_ = abs(junk_)
if j_ > 0:
if junk_ > 0:
m2_l = m2_l + 1
chld_mrg_h_ = chld_mrg_h_ + 1
di_l = di_l - 1
junk_ = junk_ - 1
elif junk_ < 0:
m2_l = m2_l - 1
chld_mrg_h_ = chld_mrg_h_ - 1
di_l = di_l + 1
junk_ = junk_ + 1
dist_key_[k_][si_m2_l] = m2_l
dist_key_[k_][si_m2_r] = m2_r
dist_key_[k_][si_di_l] = di_l
dist_key_[k_][si_di_r] = di_r

return dist_key_, junk_, chld_mrg_h_

Ausgabe:
-----------------------------------------------------------
[ PAS_FNC_LVL2_FRM ] wurde ausgeführt
stl_key: WND00-GRP02-FRM08
CHK_020
elmts: ['WND00-GRP02-FRM08-LBL00', 'WND00-GRP02-FRM08-LBL01']
dist_key_: {
'WND00-GRP02-FRM08-LBL00': {
'FIRST-MARGIN-LEFT': 8,
'FIRST-MARGIN-RIGHT': 8,
'SECOND-MARGIN-LEFT': 1,
'SECOND-MARGIN-RIGHT': 1,
'PERCENT-MARGIN-LEFT': 0.4,
'PERCENT-MARGIN-RIGHT': 0.4,
'DIF-FLOAT-MARGIN-LEFT': -7.2,
'DIF-FLOAT-MARGIN-RIGHT': -7.2,
'DIF-INT-MARGIN-LEFT': -7,
'DIF-INT-MARGIN-RIGHT': -7
},
'WND00-GRP02-FRM08-LBL01': {
'FIRST-MARGIN-LEFT': 2,
'FIRST-MARGIN-RIGHT': 2,
'SECOND-MARGIN-LEFT': 0,
'SECOND-MARGIN-RIGHT': 0,
'PERCENT-MARGIN-LEFT': 0.1,
'PERCENT-MARGIN-RIGHT': 0.1,
'DIF-FLOAT-MARGIN-LEFT': -1.8,
'DIF-FLOAT-MARGIN-RIGHT': -1.8,
'DIF-INT-MARGIN-LEFT': 0,
'DIF-INT-MARGIN-RIGHT': 0
}
}
junk_: 0
chld_mrg_h_: 2

[ PAS_FNC_LVL2_FRM ] wurde ausgeführt
stl_key: WND00-GRP02-FRM08
CHK_020
elmts: ['WND00-GRP02-FRM08-LBL00', 'WND00-GRP02-FRM08-LBL01']
userstl: {
'x': 42,
'y': 294,
'width': 270,
'height': 15,
'bg': '#101110',
'CHLD-WIDTH': 270,
'CHLD-HEIGHT': 15,
'CHLD-TOTAL-WIDTH': 268,
'CHLD-TOTAL-HEIGHT': 15,
'CHLD-MIN-WIDTH': 120,
'CHLD-MIN-HEIGHT': 15,
'CHLD-MARGINS-VERTICAL': 0,
'CHLD-MARGINS-HORIZONTAL': 20,
'CHLD-ERR-WIDTH': -18,
'CHLD-ERR-HEIGHT': 0,
'CHLD-MAXERR-WIDTH': 150,
'CHLD-MAXERR-HEIGHT': 0,
'margin-right': 0,
'margin-left': 0,
'margin-top': 0,
'margin-bottom': 0,
'alignment': 'HORIZONAL',
'widget': None,
'CHLD-MARGINS-WIDTH': 288,
'CHLD-MARGINS-HEIGHT': 15
}
dist_key_: {
'WND00-GRP02-FRM08-LBL00': {
'FIRST-MARGIN-LEFT': 8,
'FIRST-MARGIN-RIGHT': 8,
'SECOND-MARGIN-LEFT': 1,
'SECOND-MARGIN-RIGHT': 1,
'PERCENT-MARGIN-LEFT': 0.4,
'PERCENT-MARGIN-RIGHT': 0.4,
'DIF-FLOAT-MARGIN-LEFT': -7.2,
'DIF-FLOAT-MARGIN-RIGHT': -7.2,
'DIF-INT-MARGIN-LEFT': -7,
'DIF-INT-MARGIN-RIGHT': -7
},
'WND00-GRP02-FRM08-LBL01': {
'FIRST-MARGIN-LEFT': 2,
'FIRST-MARGIN-RIGHT': 2,
'SECOND-MARGIN-LEFT': 0,
'SECOND-MARGIN-RIGHT': 0,
'PERCENT-MARGIN-LEFT': 0.1,
'PERCENT-MARGIN-RIGHT': 0.1,
'DIF-FLOAT-MARGIN-LEFT': -1.8,
'DIF-FLOAT-MARGIN-RIGHT': -1.8,
'DIF-INT-MARGIN-LEFT': 0,
'DIF-INT-MARGIN-RIGHT': 0
}
}
junk_: 0
chld_mrg_h_: 2













Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325