Hej alla kunniga! När MyFile.ini ligger direkt under C: så blir det fel. Du kan inte använda en egenskap för att deklarera en konstant. Använd en variabel för sökvägen till inifilen istället. Som Åsa skriver. Du kan skriva: Ini-filer kan vara bra om man vill distribuera inställningar tillsammans med applikationen. Tack så mycket för alla svar, <b>Ini-filer kan vara bra om man vill distribuera inställningar tillsammans med applikatione</b> <b>.ini har funnits sedan Win95.</b> Alltså - registret passar utmärkt att spara inställningar som användaren påverkar genom applikationen. Ini-filer använder jag på samma sätt som dotnet-världens config-filer, dvs inställningar som är satta från början men som KAN ändras över tid och därför bör vara åtkomliga utanför exe-filen. <b>Kom ihåg att vb6 är ett gammalt program </b>Sökväg till fil
Jag har en sökväg till en ini fil som heter
Const INIFileName = "C:\MyFile.ini"
När jag försöker använda app.path & "\myfile.ini" så blir det compile error på path.
Det står Constant expression required
Vad är fel? Värför kan man visa adressen man skriver dit, men inte program mappen?
//JockeSv: Sökväg till fil
Om du kollar med MsgBox App.Path &"\MyFile.ini så kommer du att finna att det blir
C:\\MyFile.ini DVS App.Path lägger själv dit ett "\" då du kör direkt under C:
Vilket fö. inte är god programmeringssed. Lägg projekten i egna mappar.
Skriv så här
<code>
IniFileName = App.Path
If Right$(IniFileName, 1) = "\" Then
IniFileName = IniFileName & "MyFile.ini"
Else
IniFileName = IniFileName & "\MyFile.ini"
End If
</code>Sv: Sökväg till fil
Sv:Sökväg till fil
Det är ju trams att använda/låsa sökväg till en Constant.
Använd App.Path enl dom regler som jag beskriver.
Lägg projektet i en egen mapp ex. C:\MittIniproj\MinIni.ini
Då kommer <b>App.Path & "\MinIni.ini"</b> att funka.
<b>Använd mappar ! </b>
Ordning på/i kontor !!!Sv: Sökväg till fil
Public Property Get INIFileName() as String
INIFileName = app.path & "\myfile.ini"
End Property
För att skapa en skrivskyddad golabal dynamisk variabel.
Om du vill ha en skrivbar innställning för vart du kan hämta sin ini fil så kan du använda GetSettings och SaveSettings:
Private Const RegSectionSettings as String = "Settings"
Private Const RegKeyINIFileName as String = "INIFileName"
Public Property Get INIFileName() as String
INIFileName = GetSetting(app.title,RegSectionSettings, RegKeyINIFileName, app.path & "\myfile.ini")
End Property
Public Property Let INIFileName(Value as String)
SaveSetting app.title,RegSectionSettings, RegKeyINIFileName, Value
End Property
Frågan är varför du skall använda en INI fil. Du skulle enkelt kunna använda GetSetting och SaveSetting istället.
Sv:Sökväg till fil
Sv: Sökväg till fil
Svens förslag funkade (som vanligt):-)
Det var en liten applikation som jag hittade på nätet som jag håller på att bygga om lite, och då ville jag ha ini filen i program mappen och inte under c: som var fallet i programmet.
//JockeSv:Sökväg till fil
Alldeles rätt Åsa. Bra :-o
Dessa sk proffs ? som inte förstår hur funktionellt och bra det är.
<b>.ini</b> har funnits sedan Win95.
Då tycker dom "nissarana" att man skall köpa moderna lösningar.
En massa djä... programrader och helst 64 bitar DÅÅÅÅÅÅÅÅÅÅ blir det bra !!!???
Kvalificerat djä.... trams
Hatar när "nissar" går in i mitt Regdata och klottrar.Sv: Sökväg till fil
Det var med Win95 Microsoft föreslog att man gick över till register-värden.
INI-filer har funnits mycket längre tillbaka.Sv:Sökväg till fil
Kom ihåg att vb6 är ett gammalt program ;-)Sv: Sökväg till fil
Duger bra till en gammal stofil som jag.
Sven(70)