Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Pytanie o pliki INI
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003
Pytanie o pliki INI

Gdzie mógłbym znaleźć trochę teorii na temat plików ini i ich używania w VB


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

27-12-2003 18:24
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Chudy
[TLHW]Wiktor



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

Ja znalazłem tylko prostego sampla w apiguide:
'Example by Robin ()
'Visit his site at http://members.fortunecity.com/rbnwares1
Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Sub Form_Load()
    ' We will create a new section in the INI-file
    ' It's output will be:
    '
    ' [SectionName]
    ' Key=Value
    '
    ' Note that used this ONLY if you are creating a new
    ' section on the INI file, unless you wanted to erase
    ' its existing keys.
    Call WritePrivateProfileSection("SectionName", "Key=Value", App.Path & "\sample.ini"
    Dim szBuf As String * 255
    Call GetPrivateProfileSection("SectionName", szBuf, 255, App.Path & "\sample.ini"
    MsgBox szBuf
End Sub


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

28-12-2003 22:10
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Usiadłem na chwilę nad tą funkcją API i zauważyłem, że funkcja GetPrivateProfileSection w postaci jaką podał Chudy w zmiennej szBuf przechowa całość Key=Value nie sam Value. No nic będę kombinował dalej Dzięki Chudy jest zawsze od czego zacząć Podpowiedzi mile widziane


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

30-12-2003 22:55
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Jeżeli kogoś to jeszcze interesuje To znalazłem sposób na zapisywanie wartości w plikach INI funkcja: Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long rzeczywiście zdaje egzamin ale nie dokońca tak jak potrzebowałem Ponieważ dzięki niej można zapisać tylko jedną Sekcję jeden Klucz z jedną przyporządkowaną mu wartością Czyli:
[Sekcja]
Klucz=Wartość

To mnie nie satsfakcjonowało i odnalazłem funkcję:
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
Dodaje ona wiele sekcji, kluczy i wartości Chyba teraz wszyscy zainteresowani sobie poradzą Jeżeli nie to chętnie oddałbym projekt programu do edycji plików INI o ile takiego nie ma w dziale workshop

Walcze dalej


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

31-12-2003 16:34
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Mam małe pytanko nadal o plikach INI czy można dodawać do nich komentarze?


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

01-01-2004 13:32
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
kicaj




Typ: neutral
Postów: 271
Zarejestrowany: Aug 2003

nie pamietam dokladnie ale powinno byc po sredniku

03-01-2004 13:41
Pokaż profil kicaj  Wyślij email do kicaj        3914568
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003

A jak przeksztalcic zmienna textowa szBuf na polecenie ?
np. po odczycie szBuf="WspX=100"
i co zrobic aby zmienna WspX przyjela wartosc 100 ?

Jest inny sposob niz:

RownaSie = InStr(1, szBuf, "=" )
Zmienna = Trim(Left(szBuf, RownaSie - 1))
Wartosc = Val(Right(szBuf, Len(szBuf) - RownaSie))

Select Case Zmienna
    Case "WspX"
        WspX = Wartosc
    Case "WspY"
        WspY = Wartosc
....
End Select

05-01-2004 10:48
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
kicaj




Typ: neutral
Postów: 271
Zarejestrowany: Aug 2003

Niestety to jest jedyny sposob, ale zeby tego nie powtazrac stwoz sobie funkcje
np

Function Rozluz(ByVal Calosc as String, ByRef Co as String, ByRef Wartosc) as Integer
On Error GoTo Blad
Co=Mid(Calosc,1,InStr(Calosc,"="-1)
Wartosc=Mid(Calosc,InStr(Calosc,"="+1)
Rozluz=1

Blad:
End Function

funkcja zwraca 1 jesli sie powiodlo
argumentami sa cale Slowo z lini INI, zmienna dla Czego, Zmienna dla Wartości tego czegos
Rozumiesz

05-01-2004 19:42
Pokaż profil kicaj  Wyślij email do kicaj        3914568
kicaj




Typ: neutral
Postów: 271
Zarejestrowany: Aug 2003

Niestety to jest jedyny sposob, ale zeby tego nie powtazrac stwoz sobie funkcje
np

Function Rozluz(ByVal Calosc as String, ByRef Co as String, ByRef Wartosc) as Integer
On Error GoTo Blad
Co=Mid(Calosc,1,InStr(Calosc,"="-1)
Wartosc=Mid(Calosc,InStr(Calosc,"="+1)
Rozluz=1

Blad:
End Function

funkcja zwraca 1 jesli sie powiodlo
argumentami sa cale Slowo z lini INI, zmienna dla Czego, Zmienna dla Wartości tego czegos
Rozumiesz

05-01-2004 19:43
Pokaż profil kicaj  Wyślij email do kicaj        3914568
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Nie wiem czy się nad tym zastanawialiście: W jaki sposób usuwać wartości przy kluczach, klucze lub całe sekcje?? Oto odpowiedź dla zainteresowanych:

Usuwanie całej sekcji: WritePrivateProfileString Nazwa_Sekcji, vbNullString, vbNullString, Sciezka_Z_Nazwa_Pliku

Usuwanie całego klucza: WritePrivateProfileString Nazwa_Sekcji, Nazwa_Klucza, vbNullString, Sciezka_Z_Nazwa_Pliku

Usuwanie wartości danego klucza: WritePrivateProfileStringNazwa_Sekcji, Nazwa_Klucza, "", Sciezka_Z_Nazwa_Pliku

Jeżeli ktoś jeszce potrzebuje funkcję do operowania na plikach ini mówcie to podeślę na mail


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

26-01-2004 16:35
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Wszystkich odpowiedzi: 9 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1