Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: meerdere keuzes mogelijk maken in vervolglijst  (gelezen 51664 keer)

0 leden en 1 gast bekijken dit topic.

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #60 Gepost op: 25 december 2014, 12:02:17 »
Pitufo,
in een ander topic, maar wel in dit verband, had ik ook een probleem met de comments die verdwijnen bij het kopieren via de cmdbutton.
dat lijkt opgelost te zijn door het bestand te bewaren als .xls.
Raar toch???

ivm met de lijsten meteo en ritten, die zouden inderdaad beperkt kunnen worden, maar dan misschien wel met een mogelijkheid tot volledige lijst.
hoe kan ik dat best voor mekaar krijgen?

in elk geval bedankt en een zalig kerstmis.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #61 Gepost op: 26 december 2014, 11:12:25 »
Hallo Adri,

ivm met de lijsten meteo en ritten, die zouden inderdaad beperkt kunnen worden
hoe kan ik dat best voor mekaar krijgen?

In één van je e-mails las ik dat je de lijsten al aflopend kon sorteren. Je zou dus gewoon het aantal in te lezen items kunnen vastleggen.
Andere mogelijkheid : met het dir-commando lees je nu al alle bestanden in. Een volgende instructie zou
fdatum = FileDateTime(fpath & fname)kunnen zijn, en dat kan je dan gebruiken om te kijken hoeveel dagen je teruggaat om ze op te nemen in de lijst.

maar dan misschien wel met een mogelijkheid tot volledige lijst

Het aantal dagen dat je teruggaat kan je in je procedure schrijven maar evengoed uit een cel halen. In diezelfde cel zou je een specifieke waarde kunnen voorzien die dan voor de volledige lijst zorgt.
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #62 Gepost op: 27 december 2014, 11:03:50 »
als ik ipv For I=1 to Ubound vervang door For I= 1 to 5,
dan krijg ik inderdaad maar 5 waarden.
maar ik krijg alleen de eerste waarden, niet de laatste.
als ik bovenstaande voor mijn sortering of na mijn sortering zet, hij blijft alleen de laatste tonen.(wel a-z of z-a).
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #63 Gepost op: 27 december 2014, 15:33:48 »
Hallo,

Bij mijn weten kan je de volgorde waarmee door het dir-commando bestanden worden opgehaald niet beïnvloeden. In elk geval zal je dir dus moeten gebruiken tot een lege string wordt opgehaald.
Het is me al eerder opgevallen dat je ze eerst in een array stopt en pas later in een listbox, en dus heb je mogelijkheden te over om in te grijpen in wat uiteindelijk in je listbox zal komen en in welke volgorde.
Zoals eerder gezegd zou je ook de bestandsdatum kunnen oproepen en verder als criterium gebruiken, ofwel, aangezien ik heb begrepen dat de naam van je bestanden ook een chronologische volgorde aanhoudt, die eerst in omgekeerde volgorde sorteren, en dan kan bv. "for i=1 to 5" moeilijk fout gaan.

Tussen haakjes, ik heb in je bestand volgend sorteeralgoritme aangetroffen :

    With Me.ListBox1
        For m = 0 To ListBox1.ListCount - 2
            For k = 0 To ListBox1.ListCount - 2
                If .List(k) < .List(k + 1) Then
                    knoop = .List(k)
                    .List(k) = .List(k + 1)
                    .List(k + 1) = knoop
                End If
            Next k
        Next m
    End With

Deze is even eenvoudig (en dus ook ver van de snelste), maar toch al merkelijk sneller, zeker als het over wat meer elementen gaat :

    With Me.ListBox1
        For m = 0 To ListBox1.ListCount - 2
            For k = m+1 To ListBox1.ListCount - 1
                If .List(k) < .List(m) Then
                    knoop = .List(k)
                    .List(k) = .List(m)
                    .List(m) = knoop
                End If
            Next k
        Next m
    End With

"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #64 Gepost op: 27 december 2014, 16:21:36 »
weet niet goed wat je bedoelt pitufo ivm met de lijsten.
zoals ik in vorige reactie al aangaf, kan ik ze aflopend of neergaand sorteren en beperken tot bv 5.
alleen blijft alles beperkt tot de eerste vijf.
vb meteo53;54;55;56;57;58;59;60.
nu alleen 53;54;55;56;57 of omgekeerd.
bedoeling is steeds de laatste 5 (60;59;58;57;56) te krijgen.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #65 Gepost op: 27 december 2014, 17:14:03 »
Ik vermoed dat je ze eerst in je array steekt, daar verder niets doet, en vervolgens de eerste 5 in je listbox steekt.
Als je op naam wil werken raakt dit makkelijkst opgelost als je eerst je array sorteert en dan een beperkt aantal in de listbox steekt.
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #66 Gepost op: 28 december 2014, 09:43:02 »
kan je misschien een vb geven pitufo?
en als het kan met wat uitleg over de verschillende stappen.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #67 Gepost op: 28 december 2014, 12:34:57 »
kan je misschien een vb geven pitufo?

Je hebt eerst dit in je procedure staan (gevolgd door identiek stukje voor bmp-files) :

    fName = Dir(fPath & "*.jpg")
    While fName <> ""
        I = I + 1
        ReDim Preserve fileList(1 To I)
        fileList(I) = fName
        fName = Dir()
    Wend

Daarmee stop je alle afbeeldingen in een array genaamd fileList

Als je ze daarin sorteert op naam, bv. op deze manier (ook I nemen we mee uit voorgaande code) :

     For m = 1 To I - 1
         For k = m+1 To I
             If fileList(k) > fileList(m) Then
                 knoop = fileList(k)
                 fileList(k) = fileList(m)
                 fileList(m) = knoop
             End If
         Next k
     Next m

en daarna beslist hoeveel er in je listbox moeten (bv. 5) :

For I = 1 To 5
     Me.ListBox1.AddItem fileList(I)
Next

dan zou je er moeten zijn.

en als het kan met wat uitleg over de verschillende stappen.

Meer nog : ik denk dat de verschillende stappen dan geen geheimen meer voor je zullen hebben  ;)
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: meerdere keuzes mogelijk maken in vervolglijst
« Reactie #68 Gepost op: 29 december 2014, 12:05:37 »
ok pitufo,
mijn fout was om eerst de waarden in de listbox te stoppen en dan te sorteren.
nogmaals bedankt.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

 


www.combell.com