En win98 startdiskette anvender ramdrive.sys til at oprette et 2 MB stort virtuelt drev.
I config.sys: devicehigh=ramdrive.sys /E 2048
Jeg har ikke kigget på linket ovenfor, men direktivet i config.sys skal altså udføres derfra. Du kan ikke senere gøre det fra VB.
Men du kan oprette et array, evt. i flere dimensioner. Hvor stor er den fil du vil opbevare og hvad er formålet? Skal du kunne søge i den f.eks.? Indeholder den \"hårde linieskift\" ascii(13) & ascii(10) så kan du anbringe hvert afsnit i en plads i array\'et.
Ideen med at benytte ram er vel at du ønsker hurtigere acces end du kan få fra disken? Uddyb for bedre svar.
Det er da at gå over åen efter vand. Swapfilen tager windows ikke i anvendelse så længe der er fysisk ram at tage af. Bruger du ram til en virtuel disk er det jo mindre til rådighed for andre opgaver. Med de ram-priser vi har for øjeblikket er det da også bare med at fylde soklerne op. Det bliver aldrig billigere. Ang. swapfil så er det en fordel at lave den permanent fremfor at lade windows bestemme. Det bedste er at lave en permanent swap straks efter styresystemet er installeret, så kommer den længst frem på disken med den korteste accesstid. Endnu bedre er det at have den på en anden fysisk disk, og da som det første.
Har man 512 MB ram eller mere kommer swapfilen formentlig aldrig i brug. Dr.Hardware, Sandra eller lignende værktøjsprogrammer kan vise om swap er i anvendelse. Jeg mener ikke at msinfo32 kan det.
hej grunden til at jeg vil lave en virtuel fil er at jeg vil unzippe filer fra en database som entligt bare består af pakkede filer...men jeg ønsker ikke at oprette tmpfiler som ikke bliver slettet ordentligt hvis programmet ikke lukkes ordentligt ned...hvis jeg kunne oprette et RAMDRIVE inde fra VB ville det være helt fint men det går heller ikke at have et program som ændrer på system config på den måde. Jeg tænkte lidt på om der kunne være en metode ligesom man kan oprette et virtuelt DC bare et slags virtuelt FC (file content) ;-)
Du har nok også kigget på en startdiskette, siden du lige vælger 2048 kB :-) Men newbie har åbentbart ikke lyst at ændre sin config.sys. Har men ikke en DOS fortid er det jo også usikkert. I øvrigt er der vist ikke sådan en i ME og 2000, der er næppe heller en ramdrive.sys. Men jeg har jo selv foreslået det samme tidligere i dette spørgsmål.
Jeg synes nu newbie er for følsom. Og det er jo let at indbygge en funktion der sletter alle filer i en mappe.
kill dinsti *.*
Nu må newbie snart hoste op med sine point, hvordan han så vil fordele dem. Giver han dem til sig selv bliver vi sure, ik\'
joern>> Nope, jeg holder mig til mit link fra microsoft.
Til en zip-fil finder jeg 2048kb til ramdisk fornuftigt, men kan selvfølgelig være meget større (Hvis man f.eks. skal distribuerer win2k på netværk. - Hér kræver det så ca. 1GB (1000MB*1024=1024000kb)
Læg også lige mærke til at de 2048kb er placeret FØR /E i mit indlæg.
joern: Rolig nu i skal nok få jeres point...mit problem er bare at jeg ikke vil have at filerne bliver liggende på disken/ramdisken...jeg kender godt kill strfile ;-) det skal lige siges at jeg ikke er så newbie længere det var dengang jeg startede på experten, men der er sket meget siden.
-
Hvad gør fx et spil som quake...den gemmer nogen filer i en pakket fil kaldet .pak...når den så skal have adgang til filerne så pakker den ikke filerne ud som tmp filer...den har direkte adgang til filerne. Hvordan kan dette lade sig gøre...altså med at hente dem i hukommelsen uden at lægge dem ud som tmp filer ?
Tak for svaret, der har lige været en debat om folk der selv finder et svar og så giver pointene tilbage til sig selv. Jeg mangler ikke point, men indtil robert spurgte var du lidt tavs. Det med at programmer kan hente data i filer der er pakket er ikke så ualmindeligt. Men i øvrigt vil jeg stå af denne debat nu. Angående parameteren /E i ramdrive direktivet, så betyder det at Extended memory skal anvendes, der er også mulighed for /A som vil anvende Expanded memory, hvis dette findes. EMM386 skal være indlæst. I gamle, gamle dage hvor man satte udvidelsesram på instikskort fik det status af expanded, og en del programmer, både spil og seriøse blev skrevet til at anvende expanded (det er den med et 64 kB \"vindue\" i low level ram, altså under 640 k-grænsen). Men parameteren skal stå til sidst.
Den pakker faktisk .pak filen ud og placere den i dine ram istedet for på din harddisk i en temp-fil. - Når den er færdig med at bruge filen eller når programmet bliver \"slukket\", bliver den slettet igen.
hmm vil det sige at den opretter et byte array og lægger filen over i det eller har den en anden tilgang filerne som du siger den lægger i rammen ?
I for jeres point nu, fordi jeg i princippet kan bruge det med ramdrive...bare ikke til det program jeg sidder med nu men til noget andet :-)
Synes godt om
Ny brugerNybegynder
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.