/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Inkludere INI-fil i program?
Fra : Ukendt


Dato : 15-11-02 22:19

Jeg sidder og roder med Borland C++ Builder 5.0.

Jeg har nogle faste oplysninger i en INI-fil, som jeg ikke ønsker skal
være tilgængelige for brugeren. Derfor har jeg forsøgt, om jeg ikke
kan inkludere filen i mit program/projektet, på en måde så jeg stadig
kan bruge den som en rigtig INI-fil - altså så jeg kan læse data via
de funktioner man normalt bruger ved læsning fra INI-fil.

Det er informationer programmet skal læse under programopstart - og
jeg har mange. Og i stedet for at hardkode dem, så gemmer jeg dem i
stedet på en letlæselig måde - og som også er let at redigere.

Men jeg kan ikke få det til at virke. Nogen der ved om det overhovedet
er muligt? Hvis det ikke er muligt, er der så nogen der har
alternativer? På forhånd tak.

Mvh, Claus
--
I never apologize! I'm sorry, but that's the way I am.
- Homer Simpson

 
 
Bertel Lund Hansen (16-11-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-11-02 09:45

Claus Nielsen <> skrev:

>Jeg har nogle faste oplysninger i en INI-fil, som jeg ikke ønsker skal
>være tilgængelige for brugeren.

Hm, det forekommer mig en underlig idé, men dig om det.

Kunne du ikke lave en simpel kryptering? Så redigerer du
dokumentet i klar tekst og krypterer det. Programmet dekrypterer
det ved opstart og læser det ellers som en normal inifil. Der
bliver jo ikke brug for den helt vilde krypteringsmetode.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Ukendt (16-11-2002)
Kommentar
Fra : Ukendt


Dato : 16-11-02 20:44

>>Jeg har nogle faste oplysninger i en INI-fil, som jeg ikke ønsker skal
>>være tilgængelige for brugeren.
>
>Hm, det forekommer mig en underlig idé, men dig om det.

Det er en datadefinition jeg prøver at integrere i mit program. Den
indholder information om hvordan mine tabeller skal se ud - og hvis
der mangler tabeller og/eller felter, så oprettes de automatisk.

Det er indtil videre stadig i udviklingsfasen, og for at komme hurtigt
i gang har jeg valgt at gemme mine definitioner i inifil-format. Det
er naturligvis lavet således, at det kan skiftes ud, men inifi virker
faktisk så godt, at jeg gerne vil bibeholde dette - dog uden at der
skal ligge en inifil ved programmet, som brugeren kan pille i. Derfor
ville jeg integrere den i programmet.

>Kunne du ikke lave en simpel kryptering?

Hmm, jo det kunne jeg vel. Den løsning havde jeg ikke lige tænkt på.
Det skulle sådan set være en smal sag.

Mvh, Claus
--
I never apologize! I'm sorry, but that's the way I am.
- Homer Simpson

Bertel Lund Hansen (16-11-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-11-02 21:00

Claus Nielsen <> skrev:

>Det er en datadefinition jeg prøver at integrere i mit program. Den
>indholder information om hvordan mine tabeller skal se ud - og hvis
>der mangler tabeller og/eller felter, så oprettes de automatisk.

Så forstår jeg bedre at du vil holde brugerens fingre væk.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Thomas Lykkeberg (16-11-2002)
Kommentar
Fra : Thomas Lykkeberg


Dato : 16-11-02 10:01

On Fri, 15 Nov 2002 22:19:11 +0100, Claus Nielsen <> wrote:

>Jeg sidder og roder med Borland C++ Builder 5.0.
>
>Jeg har nogle faste oplysninger i en INI-fil, som jeg ikke ønsker skal
>være tilgængelige for brugeren. Derfor har jeg forsøgt, om jeg ikke
>kan inkludere filen i mit program/projektet, på en måde så jeg stadig
>kan bruge den som en rigtig INI-fil - altså så jeg kan læse data via
>de funktioner man normalt bruger ved læsning fra INI-fil.
>
>Det er informationer programmet skal læse under programopstart - og
>jeg har mange. Og i stedet for at hardkode dem, så gemmer jeg dem i
>stedet på en letlæselig måde - og som også er let at redigere.
>
>Men jeg kan ikke få det til at virke. Nogen der ved om det overhovedet
>er muligt? Hvis det ikke er muligt, er der så nogen der har
>alternativer? På forhånd tak.
Hvis du arbejder i Windows, så er Registreringsdatabasen et godt sted
at gemme programdata, som brugeren ikke umiddelbart kan se.

Kig i Win32 API'et for at finde funktioner du skal bruge til dette.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry_functions.asp

/Thomas

Bertel Lund Hansen (16-11-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-11-02 16:13

Thomas Lykkeberg skrev:

>Hvis du arbejder i Windows, så er Registreringsdatabasen et godt sted
>at gemme programdata, som brugeren ikke umiddelbart kan se.

.... men som man mærker de særeste konsekvenser af. Hold for vores
allesammens skyld snitterne fra den rodebutik og læg alle
relevante filer i samme mappe.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Thomas Lykkeberg (17-11-2002)
Kommentar
Fra : Thomas Lykkeberg


Dato : 17-11-02 01:17

On Sat, 16 Nov 2002 16:12:39 +0100, Bertel Lund Hansen
<nospam@lundhansen.dk> wrote:

>... men som man mærker de særeste konsekvenser af. Hold for vores
>allesammens skyld snitterne fra den rodebutik og læg alle
>relevante filer i samme mappe.
??

/Thomas

Bertel Lund Hansen (17-11-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-11-02 10:02

Thomas Lykkeberg skrev:

>>... men som man mærker de særeste konsekvenser af. Hold for vores
>>allesammens skyld snitterne fra den rodebutik og læg alle
>>relevante filer i samme mappe.
>??

Når jeg kører en ældre ghostfil ind med hele mit C-drev, virker
Agent og Opera uforandret. Deres filer og indstillinger ligger
alle lokalt sammen med installationen.

SimpleCheck derimod gemmer sin opsætning i registreringsdatabasen
og skal sættes op forfra igen.

Derudover hober der sig snask op i registreringsdatabasen fordi
langt fra alle programmer fjerner alle de indstillinger de har
pillet ved selv om man afinstallerer programmerne.

PS. Alle mine programmer bliver insstalleret på andre drev end C.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Ove Kjeldgaard (16-11-2002)
Kommentar
Fra : Ove Kjeldgaard


Dato : 16-11-02 22:49

Claus Nielsen <> wrote:

>Jeg sidder og roder med Borland C++ Builder 5.0.
>
>Jeg har nogle faste oplysninger i en INI-fil, som jeg ikke ønsker skal
>være tilgængelige for brugeren. Derfor har jeg forsøgt, om jeg ikke
>kan inkludere filen i mit program/projektet, på en måde så jeg stadig
>kan bruge den som en rigtig INI-fil - altså så jeg kan læse data via
>de funktioner man normalt bruger ved læsning fra INI-fil.
>
>Det er informationer programmet skal læse under programopstart - og
>jeg har mange. Og i stedet for at hardkode dem, så gemmer jeg dem i
>stedet på en letlæselig måde - og som også er let at redigere.
>
>Men jeg kan ikke få det til at virke. Nogen der ved om det overhovedet
>er muligt? Hvis det ikke er muligt, er der så nogen der har
>alternativer? På forhånd tak.
>
Det magiske ord kan måske være en Resource.
Den kan enten extern i en fil eller linket i EXE filen.

Jeg har ikke lige noget om C programmer i Windows, men i Delphi har man f.eks.:

function LoadStr(Ident: Integer): string;

Description:
LoadStr loads the string resource given by Ident from the application's
executable file. If the string resource does not exist, an empty string is
returned.


--
Med venlig hilsen, Ove Kjeldgaard
Natur og Friluftsliv: <http://hiker.dk>
Seneste opdatering: 3. november 2002

Ivan Johansen (17-11-2002)
Kommentar
Fra : Ivan Johansen


Dato : 17-11-02 00:21

Ove Kjeldgaard wrote:
> Jeg har ikke lige noget om C programmer i Windows, men i Delphi har man f.eks.:
>
> function LoadStr(Ident: Integer): string;
>
> Description:
> LoadStr loads the string resource given by Ident from the application's
> executable file. If the string resource does not exist, an empty string is
> returned.

Alle funktioner i Delphi findes også i C++ Builder, så samme funktion
kan anvendes der. Hvis formatet skal være det samme som ini-filer kan
TMemIniFile anvendes derefter.

Ivan Johansen


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste