Hello,

I do get items in a list view that are checked to put in an array/hash/what
ever.  My code list the contents of a directory and puts them in a list
view what I want is that after someone selects the files they want by
checking the box next to it.  They click on a button and it copies the
selected file to a new location.  Any ideas?

Thanks,

Joe

Here is my code:

use Win32::GUI;

$Window = new GUI::Window(
    -name   => "Window",
    -text   => "WEB Deploy v1.0.0",
    -width  => 800,
    -height => 400,
    -left   => 100,
    -top    => 100,
);

$Window->AddListView(
    -name      => "ListView",
    -text      => "hello world!",
    -left      => 10,
    -top       => 10,
    -width     => 780,
    -height    => 180,
    -style     => WS_CHILD | WS_VISIBLE | 1,
    -fullrowselect => 1,
    -gridlines => 1,
    -checkboxes => 1,
#    -hottrack   => 1,
);

$width = $Window->ListView->ScaleWidth;

$Window->ListView->InsertColumn(
    -index => 0,
    -width => $width/4,
    -text  => "File",
);
$Window->ListView->InsertColumn(
    -index   => 1,
    -subitem => 1,
    -width   => $width/1.33,
    -text    => "Path",
);

sub InsertListItem {
    my($name, $description) = @_;
    my $item = $Window->ListView->InsertItem(
        -item  => $Window->ListView->Count(),
        -text  => $name,
        # -index => $Window->ListView->Count(),
    );
    $Window->ListView->SetItem(
        -item    => $item,
        -subitem => 1,
        -text    => $description,
    );
}

$whereami = `chdir`;
chomp($whereami);

$dir = "L:\\Inetpub\\Timesheet";
push @dir,$dir;
chomp($dir);

while ($dirs=pop @dir){
  chomp($dirs);
  chdir $dirs;
  while (<*>) {
    next if ($_ eq ".");
    next if ($_ eq "..");
    if (-d $_) {
      next if (-l $_);
      print "\t Dir-> ",$_,"\n" if $DEBUG;
      push @dir,$dirs."/".$_;
    } else {
     InsertListItem($_, $dirs);
        print "\t File-> ",$_," => $size\n" if $DEBUG;
    }
  }
  exit if $DEBUG;
  chdir $whereami;
}

# $Window->ListView->TextColor(hex("0000FF"));

$Window->Show();

$Window->Dialog();






Reply via email to