Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Pliki INI
gibcio




Typ: neutral
Postów: 39
Zarejestrowany: Oct 2004
Pliki INI

Potrzebuję żeby ktoś napisał prosty przykład tworzenia zapisywania i odczytywania danych z pliku INI.

Z góry dzięki

01-11-2004 10:54
Pokaż profil gibcio  Wyślij email do gibcio        1654622
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Pozwoliłem sobie wyciąć krótki sampel z API-Guide:
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail:
    Dim Ret As String, NC As Long
    'Write the setting to the file (c:\test.ini) under
    '  Project1 -> Keyname
    WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini"
    'Create a buffer
    Ret = String(255, 0)
    'Retrieve the string
    NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini"
    'NC is the number of characters copied to the buffer
    If NC <> 0 Then Ret = Left$(Ret, NC)
    'Show our string
    MsgBox Ret
    'Delete the file
    Kill "c:\test.ini"
End Sub



_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

01-11-2004 12:34
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Z zapisywania... hmm... mogę się pomęczyć, ale jeżeli chodzi o odczyt, to w dziale OCX, pierwsza pozycja!


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

01-11-2004 12:34
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Do modułu wrzuć:

Option Explicit

' Ścieżka do pliku INI
Public PlikINI As String

'Deklaracja funkcji do obsługi pliku INI
Private Declare Function GetPrivateProFileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal Appname As String, ByVal KeyName As Any, ByVal NewString As Any, ByVal Filename As String) As Integer

Public Sub SkasujDzial(ByVal Dzial As String)
  WritePrivateProfileString Dzial, 0&, "", PlikINI
End Sub

Public Sub ZapiszDoINI(Dzial As String, Klucz As String, Wartosc As String)
  WritePrivateProfileString Dzial, Klucz, Wartosc, PlikINI
End Sub

Public Function CzytajZINI(Dzial As String, Klucz As String) As String
Dim retval As Variant
Dim t As String * 255

  retval = GetPrivateProFileString(Dzial, Klucz, "", t, Len(t), PlikINI)

  If retval > 0 Then
      CzytajZINI = Left$(t, retval)
  End If
 
End Function

A teraz w kodzie piszesz:

'Otwarcie pliku do operacji
modini.PlikINI=App.Path & "\Settings.ini"
'Zapisanie wartości
modini.ZapiszDoINI "Dział", "Klucz", "Wartość"
'Odczyt wartości
MsgBox modini.CzytajZINI("Dział", "Klucz"
'Skasowanie działu
modini.SkasujDzial "Dział"


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


01-11-2004 17:56
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
gibcio




Typ: neutral
Postów: 39
Zarejestrowany: Oct 2004

Wielkie dzięki

01-11-2004 18:08
Pokaż profil gibcio  Wyślij email do gibcio        1654622
Wszystkich odpowiedzi: 4 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1