mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Can anyone explain why the drop down box referenced by $did(2) is a lot longer than the one in $did(4)? It looks like the box is a minimum of 8 times the size that it needs to be.

Here's the layout for the dialog:
Code:
 dialog Observer {
  title "Observer"
  size -1 -1 665 215
  option pixels
  text "Account", 1, 5 5 120 16, center
  combo 2, 5 21 120 100, edit drop
  text "Route", 3, 125 5 60 16, center
  combo 4, 125 21 60 100, edit drop
  text "Name", 5, 190 6 50 16
  edit "", 6, 240 5 285 20
  text "Address", 7, 190 27 50 16
  edit "", 8, 240 25 230 20
  text "Apt", 9, 475 27 20 16
  edit "", 10, 495 25 45 20, right
  text "Phone", 11, 545 6 30 16
  edit "", 12, 575 5 85 20
  text "Special Directions", 13, 190 45 50 40, center
  edit "", 14, 240 45 420 40, multi
  box "Deliveries", 15, 5 120 70 90
  check "Daily", 16, 7 134 50 16
  check "MP/LL", 17, 7 150 50 16
  check "Sat. Only", 18, 7 166 65 16
  check "Vacation", 19, 7 182 65 16
  box "Billing", 20, 73 120 60 90
  radio "PIO", 21, 75 134 40 16, group
  radio "CMP", 22, 75 150 40 16
  radio "Mthly", 23, 75 166 45 16
  radio "Bi-Wkly", 24, 75 182 55 16
  text "Start", 25, 190 125 100 15, center
  list 26, 190 140 100 70, size
  text "Stop", 27, 290 125 100 15, center
  list 28, 290 140 100 70, size
  text "Deliveries", 29, 390 125 55 15, center
  list 30, 390 140 55 70, size
  text "Billing", 31, 445 125 50 15, center
  list 32, 445 140 50 70, size
  text "Payment Amount && Date", 33, 495 125 150 15, center
  list 34, 495 140 50 70, size
  list 35, 545 140 100 70, size
  edit "", 37, 495 105 50 20
  text "Balance", 38, 545 106 50 16, center
  edit "", 39, 595 105 50 20, read
  button "OK", 40, 135 125 50 18, ok
  button "Save", 41, 135 145 50 18
  button "Apply", 42, 135 165 50 18, default
  text "Paid To", 43, 190 90 100 16, center
  edit "", 44, 190 105 100 20, right
  text "Expiry", 45, 290 90 100 16, center
  edit "", 46, 290 105 100 20, read right
  button "Cancel", 36, 135 185 50 18, cancel
  text "Postal Code", 47, 545 27 60 16
  edit "", 48, 605 24 55 21
}
 

Last edited by RusselB; 27/06/06 11:41 PM.
Joined: Jul 2004
Posts: 31
H
Ameglian cow
Offline
Ameglian cow
H
Joined: Jul 2004
Posts: 31
both drop down lists have the same length for me.

Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Thanks. If that's the case, then something is happening to the length of the drop down list when I add items to the list (or at least that's what I'm thinking would be the problem).

here's the section of the dialog that loads the information into those two id's
Code:
 on *:dialog:Observer:init:*:{
  if !$hget(Observer) { .hmake Observer 100 }
  if $exists(Observer.hsh) { .hload Observer Observer.hsh }
  var %a = 1, %b = $hget(Observer,0).item
  while %a <= %b {
    set %rtes $addtok(%rtes,$gettok($hget(Observer,%a),1,44),32)
    inc %a
  }
  did -r $dname 4
  didtok $dname 4 32 %rtes
  did -bh $dname 40
}
on *:dialog:Observer:sclick:4:{
  set %rte $did(4).seltext
  did -r $dname 2,6,12,8,10,48,14,44,46,37,39,26,28,30,32,34,35
  did -u $dname 16,17,18,19,21,22,23,24
  var %a = 1, %b = $hget(Observer,0).item
  while %a <= %b {
    var %sub = $hfind(Observer,$+(%rte,*),%a,w).data
    did -a $dname 2 %sub
    inc %a
  }
}
 


A couple of examples of the data stored in the hash table are:
Quote:
49070325 33,161,Nelson,801,J. McNally,O, ,06/28/2006,D
49055125 446,371,Brock S, ,Cooper Elizabeth,O, ,11/04/2006,D


The 8 digit number at the beginning is the hash table item, the rest of the information is the data comma separated

There's a total of 276 items currently in the hash table

Joined: Apr 2006
Posts: 400
K
Fjord artisan
Offline
Fjord artisan
K
Joined: Apr 2006
Posts: 400
RusselB, are you talking about Length-wise, or height-wise?
this is what the dialog looks like for me:


-Kurdish_Assass1n
Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Top to bottom, not left to right.

Joined: Oct 2005
Posts: 1,741
G
Hoopy frood
Offline
Hoopy frood
G
Joined: Oct 2005
Posts: 1,741
Can you post a picture of the problem you are having?

-genius_at_work

Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Yeah..I think this should do the trick..should've thought about posting it earlier.


As you can see, the box for the dialog is a lot longer than what is required for the data to show.

Joined: Oct 2005
Posts: 1,741
G
Hoopy frood
Offline
Hoopy frood
G
Joined: Oct 2005
Posts: 1,741
I noticed you are using a loop and /didtok to load the combo box. As a test, maybe try putting a regular /did command in the loop and forgetting about the /didtok.

You could try to determine exactly how many extra spaces there are (ie 6 extra spaces for every proper line). As for a cause, I can't see anything in that code that could be causing the extra spaces.

-genius_at_work

Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Wrong part of the code. This dialog box is referenced as ID 2 (Account), which does use a loop, but not the didtok.
The didtok line is used to fill ID 4 (Route)

Joined: Dec 2002
Posts: 1,245
M
Hoopy frood
Offline
Hoopy frood
M
Joined: Dec 2002
Posts: 1,245
one other thing, not sure if you intended it if you remove the drop style on the combo, then your size of 100 fits ID 2 and 4 veritcally in that clear space

Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Thank you for noticing that. I don't think it was intentional, however, I've been working on this in spurts for the past couple of months (after loosing one that was complete due to a hard drive crash), and sometimes when I'm more awake than others. That effectively solves the problem I was having (although it was purely a problem with the visual appearance rather than how the dialog actually works).

I'd still be interested in knowing if someone could explain why the drop down list was allocating so much space. Based on some rough calculations, it almost looks like it was allowing space to accomodate an entry for each item in the hash table.

Joined: Apr 2004
Posts: 759
M
Hoopy frood
Offline
Hoopy frood
M
Joined: Apr 2004
Posts: 759
Quote:

Based on some rough calculations, it almost looks like it was allowing space to accomodate an entry for each item in the hash table.

Isn't that what looping from 1 to $hget(Observer,0).item would do ?
Code:
var %a = 1, %b = $hget(Observer,0).item
  while %a <= %b {
    var %sub = $hfind(Observer,$+(%rte,*),%a,w).data
    did -a $dname 2 %sub


if %sub = $null it will still add null to the list as an item.


$maybe
Joined: Aug 2004
Posts: 7,252
R
RusselB Offline OP
Hoopy frood
OP Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Bingo...that was the problem. Easily countered by checking if %sub == $null before adding to the list.

Thanks to all who worked on this problem.


Link Copied to Clipboard