Avatar billede dmg Nybegynder
10. juni 2003 - 13:49 Der er 13 kommentarer og
1 løsning

Hvis indhold af bibliotek

Er der nogen der ved, hvordan man kan få vist indholdet af et bibliotek?

Jeg har lavet en lille kode der laver nogle speciale filer. Herefter skal man kunne trykke på en knap, hvor man vil få vist antalet af filer i det bibliotek?

How do i do that?
Avatar billede arne_v Ekspert
10. juni 2003 - 13:55 #1
Det er platform specifikt.

Unix: opendir/readdir

DOS: findfirst/findnext

Windows: FindFirstFile/FindNextFile

VMS: LIB$FIND_FILE

etc.etc.
Avatar billede dmg Nybegynder
10. juni 2003 - 13:57 #2
Ok. Jeg laver koden i c++ til dos, men alle maskinerne den skal køre på er windows 2000
Avatar billede arne_v Ekspert
10. juni 2003 - 14:14 #3
På DOS 6.22 eller i en DOS box på Windows et-eller-andet med
en Win32 compiler i command-lien mode ?
Avatar billede dmg Nybegynder
10. juni 2003 - 14:20 #4
altså koden laver jeg i borland C++ builder 5.0. Programmet skal kunne køre på en windows 2000. Kan jeg evt bruge:

readdir eller opendir?
Avatar billede arne_v Ekspert
10. juni 2003 - 14:29 #5
#include <stdio.h>

#include <windows.h>

int main()
{
  WIN32_FIND_DATA data;
  HANDLE h = FindFirstFile("*.c",&data);
  printf("%s\n",data.cFileName);
  while(FindNextFile(h,&data)) {
      printf("%s\n",data.cFileName);
  }
  return 0;
}

burde også virke med BCB (ja med enhver Windows compiler).
Avatar billede arne_v Ekspert
10. juni 2003 - 14:30 #6
Ovenstående finder alle *.c filer (du bør nok lige teste
på h for at fange situationen med ingen match).
Avatar billede tam Nybegynder
10. juni 2003 - 14:48 #7
Arne_v> du mangler lige en FindClose(data); inden return 0; ;)
Avatar billede tam Nybegynder
10. juni 2003 - 14:50 #8
dmg> Du laver ikke DOS kode med Borlan C++ Builder 5, du laver en Console Application, hvilket er en 32-bit Windows Application uden brugerflade.
Avatar billede arne_v Ekspert
10. juni 2003 - 15:00 #9
Du mener vel:
  FindClose(h);

(men ja det vil nok være det pæneste)
Avatar billede tam Nybegynder
10. juni 2003 - 15:05 #10
Aheam, ja, jeg mener
FindClose(h);

Men det vil ikke "være det pæneste" det svarer til at bruge malloc() uden free()...

(jeg hader resource og memory leaks)
Avatar billede arne_v Ekspert
10. juni 2003 - 15:19 #11
Jeg har en formodning om at den data struktur der ligger bag ved
vil blive automatisk releaset når programmet afslutter.

Er det en forkert antagelse ?
Avatar billede tam Nybegynder
10. juni 2003 - 15:46 #12
Det er rigtigt nok, men det vil allokeret hukommelse også...

Er det en undskyldning for sjusket programmering?
Avatar billede arne_v Ekspert
10. juni 2003 - 15:56 #13
Jeg overgiver mig betingelsesløst og undskylder at jeg ikke havde den
FindClose med.
Avatar billede dmg Nybegynder
11. juni 2003 - 09:44 #14
Helt sikkert. Det virker jo perfekt! Nårr ja. Jeg skulle måske ha skrevet Console Application hehe---->>>> sorry.

Tak for hjælpen ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester