Finns det nåt annat sätt att lagra information för ett program mellan det stängs av och startas igen, förutom ini-filer och registret? Ja det går mycket bra. Om du kollar din .exe i en HexEditor så finns det massor av utrymme Okej, nån sida där man kan läsa mer om det? För databasapplikationer så är det ju bara att spara sådan data i databasen, t ex genom att serialisera ett objekt och spara det i en tabell. Väldigt enkelt i .Net, lite bökigare i VB6. >Ini-filer är ute :-) Well...Sven...som jag skrev : "fast det är mer en åsikt än en rekommendation baserad på rationella argument. Ini-filer fungerar ju inte sämre idag än vad de gjorde när i stort sett alla program använde dem." <b>Ja det går mycket bra. Om du kollar din .exe i en HexEditor så finns det massor av utrymme >Bättre att lagra ini-filen i profilen, där det är tänkt att den ska lagras. ><b>Nu har det aldrig framgått vad för slags info den gode Molle vill lagra.</b> >Om det till slut överstiger antalet nollor menar jag... ><b>Så det får bli en ny.</b> Då är det så att du har ett område från adress 1009 - 4096 som du med 100 % Tyvärr kan jag inte det. Av den enkla anledningen att det här handlar om ett färdigt projekt. Utan det var bara en tanke som slog mig, för framtida projekt (och tidigare där jag använt ini-filer eller registret). Ja textsträngar som normalt står i Inifiler är inga som helst problem. Okej.. Ska vara ärlig med att det inte säger mig så mycket förrän jag får det mer förklarat för mig (väntar med andra ord på artikeln) >Ska vara ärlig med att det inte säger mig så mycket förrän jag får det mer förklarat för mig Jo, alltså jag fattar det. Men jag kan inte sätta in det i ett sammanhang innan jag får hela förloppet förklarat för mig (exempelvis i en fin och pedagogisk artikel)Lagra information
T.ex. om man kan skriva in i exe-filen själv, eller så?
Vet inte, men det känns som att det borde finns nåt sjysst sätt?Sv: Lagra information
som bara består av oanvända 0(nollor) där kan man "tjyvlagra" info.
Man konverserar med dessa platser med Put och Get och Open For Binary As.Sv: Lagra information
Ska kika in http://www.pellesoft.se/login/articles/other/binary.asp lite mer, men jag funderar fortfarande lite (tror jag, har inte läst igenom den så noga).
T.ex. hur har man koll på hur mycket utrymme det är kvar? Och kan man lägga till extra utrymme? Når mer djuplodande artikel om detta, helst på svenska?Sv: Lagra information
För mindre datamängder som t ex fönsterstorlek, databasinställningar, logininformation m m så fungerar registret utmärkt men jag skulle inte rekommendera att man sparar större mängder där eftersom registret läses in till minnet vid varje uppstart av datorn om jag inte har helt fel.
För större datamängder (ej databasapplikation) tycker jag att du ska skapa ditt egna binär- eller textfilformat. Serialisera dina objekt eller lagra på vanligt sätt med PRINT #, LINE INPUT # o s v.
Ini-filer är ute :-) Använd registret i stället, alternativt eget dataformat för större datamängder...fast det är mer en åsikt än en rekommendation baserad på rationella argument. Ini-filer fungerar ju inte sämre idag än vad de gjorde när i stort sett alla program använde dem.
SvenPon:s lösning är ju lite HardCore förstås, men den fungerar säkert. Om det är utrymmet som motsvarar skillnaden mellan filens faktiska storlek och storleken på de sektorer som den tar upp på hårddisken som avses så har man ju inte så många kB att leka med där. Med 4kB:s sektorer så har man ju i snitt 2kB att lagra information i.Sv: Lagra information
Det säger alla sk. moderna nissar för att dom aldrig orkat lära sig tekniken.
Ini filer är inte Ute ;-) ,dom är perfekta att lagra info i. Men Obs ! då skall
Inifilen ligga i samma mapp som .exe
Tycker som vanligt
Sven
PS
Roade mig med att kolla en VB kompilerad .exe.Hittade 3.5 Kbyte nollor på
flera ställe.Det är en himla massa bokstäver och siffror.Vet inte så noga
men en pocketboksida ligger väl något i den trakten.
Sen finns det ju ett trix till man kan leka med.Implementera en Resoursefil
Den kan man göra hur stor som helst och sedan manipulera med.
DSSv: Lagra information
Jag vet precis vad ini-"tekniken" klarar, men jag tycker fortfarande att det för de flesta ändamål finns bättre alternativ.Sv: Lagra information
som bara består av oanvända 0(nollor) där kan man "tjyvlagra" info.
Man konverserar med dessa platser med Put och Get och Open For Binary As.</b>
Då kan ju inte olika användare på datorn ha olika inställningar... Lite jobbigt vi uppgradering av programmet också (byte av exe-fil). Dessutom har en normal användera i normala fall inga skrivrättigheter på programfilen.
<b>Men Obs ! då skall Inifilen ligga i samma mapp som .exe</b>
Där har normalanvändaren inga skrivrättigheter, dessutom är det bökigt med individuella inställningar i ett fleranvändarsystem (ej olösligt dock). Bättre att lagra ini-filen i profilen, där det är tänkt att den ska lagras.
/JohanSv: Lagra information
Jo det är helt riktigt så skall slipstenen dras.
Det ok så länge man ger fae.. i Registret,där finns redan alldeles för mycket skräp.
Nu har det aldrig framgått vad för slags info den gode Molle vill lagra.Sv: Lagra information
Att du kunde skriva så trevligt om någon, det visste jag inte ;)
Jag tänkte väl använda det till lite olika saker. Men mest sköna standardinställningar som ska ligga kvar efter användning. Som det verkar så är det ingen idé att upprepade gånger skriva in information där? Om det till slut överstiger antalet nollor menar jag...
Kan du inte klämma fram en artikel i ämnet Sven?Sv: Lagra information
Det blir ingen risk med det, du skriver alltid samma sak till samma adress.
Så finns det plats första gången kommer det alltid finnas plats
Men om du alltid vill att programmet skall starta med vissa grundinställningar
är det bättre att använda en ResourceFil.Dvs du skall inte ändra när du väl bestämt dig.
>Kan du inte klämma fram en artikel i ämnet Sven?
Jo när jag kollade den gamla jag skrivit så ser den ganska "sunkig" ut
Så det får bli en ny.Sv: Lagra information
Kalas! Hoppas det går snabbt :)
><b>Men om du alltid vill att programmet skall starta med vissa grundinställningar...</b>
Nej, det är ju det som är poängen. Jag vill kunna variera inställningarna här.Sv: Lagra information
säkerhet kan lägga in egen information, dvs drygt 3 kByte (många tecken)
Kan du ge ett exempel på ungefär hur många tecken den längsta strängen innehåller.Sv: Lagra information
Men t.ex. en text som detta:
"Då är det så att du har ett område från adress 1009 - 4096 som du med 100 %
säkerhet kan lägga in egen information, dvs drygt 3 kByte (många tecken)
Kan du ge ett exempel på ungefär hur många tecken den längsta strängen innehåller."
(Ska du skriva det i artikeln kan du ju ta nåt enklare istället)Sv: Lagra information
Låt oss säga att du har en inifilsträng på 200 tecken(onormalt) då får det plats med 15 sådana
väl definierade på olika adresser.Sv: Lagra information
Sv: Lagra information
Vet inte om det är värt besväret om du inte fattar det ovan skrivna.Sv: Lagra information