Accueil > > > FICHIER INI + FONCTIONS SAUVE POSITION + TAILLE FENETRE, METTRE VAL VITE,...
FICHIER INI + FONCTIONS SAUVE POSITION + TAILLE FENETRE, METTRE VAL VITE,...
Information sur la source
Description
'Voila un code que tout le monde cherche, même si il est déjà posté, il y'a qq plus... 'Copiez tout dans un module. L'utilisation est decrite plus bas Utilisation : Dans form_load, ou qq part, du moment que ce soit executé avec les readini, writeini,... mettez : INISetup app.path & "\" & "param.ini" _______________ ECRIRE : WriteINI "Section", "Clé", "Valeur" LIRE : Val = ReadINI ("Section", "Clé", "Valeur Défaut") EFFACER CLé : DeleteKey "Section", "Clé" EFFACER SECTION : DeleteSection "Section" LIRE CLES : ReadKeys "Section" LIRE SECTION : ReadSections Sauvegarder positions, tailles d'une form : IniPosSet Me ' ou IniPosSet Form1 (remplacer form1 par nom de la form Remettre positions, taille : IniPosGet Me Sauvegarder vite une info ( sans taper la section) : QuickSet "Cle", "Valeur" Lire vite une info ( sans taper la section, defaut) Val = QuickGet ("Clé")
Source
- Option Explicit
-
- 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
- Dim m_File As String, m_Buffer As Long
-
- Function DeleteKey(iSection As String, iKeyName As String)
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : Taille Buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Fichier non configuré"
- End If
- WritePrivateProfileString iSection, iKeyName, vbNullString, m_File
-
- End Function
-
- Public Function DeleteSection(iSection As String)
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Nom de fichier fichier non indiqué"
- End If
- WritePrivateProfileString iSection, vbNullString, vbNullString, m_File
-
- End Function
-
- Public Function INISetup(iniFile As String)
-
- m_Buffer = 400
- m_File = iniFile
-
- End Function
-
- Public Function ReadIni(iSection As String, iKeyName As String, Optional iDefault As String)
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
- End If
-
- Dim ret As String, NC As Long
-
- ret = String(m_Buffer, 0)
- NC = GetPrivateProfileString(iSection, iKeyName, iDefault, ret, m_Buffer, m_File)
-
- If NC <> 0 Then
- ret = Left$(ret, NC)
- Else
- ret = ""
- End If
-
- ret = Replace(ret, "%%&&Chr(13)&&%%", vbCrLf)
- ReadIni = ret
-
- End Function
-
- Public Function ReadKeys(iSection As String)
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
- End If
- Dim ret As String, NC As Long
-
- ret = String(m_Buffer, 0)
- NC = GetPrivateProfileString(iSection, vbNullString, vbNullString, ret, m_Buffer, m_File)
-
- If NC <> 0 Then
- ret = Left$(ret, NC - 1)
- End If
-
- ReadKeys = ret
-
- End Function
-
- Public Function ReadSections()
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
- End If
- Dim ret As String, NC As Long
-
- ret = String(m_Buffer, 0)
- NC = GetPrivateProfileString(vbNullString, vbNullString, vbNullString, ret, m_Buffer, m_File)
-
- If NC <> 0 Then
- ret = Left$(ret, NC - 1)
- End If
-
- ReadSections = ret
-
- End Function
-
- Public Sub WriteIni(iSection As String, iKeyName As String, iValue As Variant)
-
- If m_Buffer = 0 Then
- Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
- ElseIf m_File = "" Then
- Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
- End If
-
- iValue = CStr(iValue)
- iValue = Replace(iValue, vbCrLf, "%%&&Chr(13)&&%%")
- WritePrivateProfileString iSection, iKeyName, CStr(iValue), m_File
-
- End Sub
-
-
- Public Function IniPosSet(FormName As Form)
- On Error Resume Next
- If FormName.WindowState = 0 Then
- WriteIni FormName.Name, "Left", FormName.Left
- WriteIni FormName.Name, "Top", FormName.Top
- WriteIni FormName.Name, "Width", FormName.width
- WriteIni FormName.Name, "Height", FormName.Height
- End If
- If FormName.WindowState <> 1 Then WriteIni FormName.Name, "WindowState", FormName.WindowState
- End Function
-
- Public Function IniPosGet(FormName As Form)
- On Error Resume Next
- If ReadIni(FormName.Name, "WindowState", 0) = 2 Then
- FormName.Left = ReadIni(FormName.Name, "Left")
- FormName.Top = ReadIni(FormName.Name, "Top")
- FormName.width = ReadIni(FormName.Name, "Width")
- FormName.Height = ReadIni(FormName.Name, "Height")
- FormName.WindowState = 2
- Else
- FormName.Left = ReadIni(FormName.Name, "Left")
- FormName.Top = ReadIni(FormName.Name, "Top")
- FormName.width = ReadIni(FormName.Name, "Width")
- FormName.Height = ReadIni(FormName.Name, "Height")
- FormName.WindowState = 0
- End If
- End Function
-
- Public Function QuickSet(kKey As String, kVal As String)
- On Error Resume Next
- WriteIni "APP.GLOBAL", kKey, kVal
- End Function
-
- Public Function QuickGet(kKey As String) As String
- On Error Resume Next
- QuickGet = ReadIni("APP.GLOBAL", kKey)
- End Function
Option Explicit
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
Dim m_File As String, m_Buffer As Long
Function DeleteKey(iSection As String, iKeyName As String)
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : Taille Buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Fichier non configuré"
End If
WritePrivateProfileString iSection, iKeyName, vbNullString, m_File
End Function
Public Function DeleteSection(iSection As String)
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Nom de fichier fichier non indiqué"
End If
WritePrivateProfileString iSection, vbNullString, vbNullString, m_File
End Function
Public Function INISetup(iniFile As String)
m_Buffer = 400
m_File = iniFile
End Function
Public Function ReadIni(iSection As String, iKeyName As String, Optional iDefault As String)
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
End If
Dim ret As String, NC As Long
ret = String(m_Buffer, 0)
NC = GetPrivateProfileString(iSection, iKeyName, iDefault, ret, m_Buffer, m_File)
If NC <> 0 Then
ret = Left$(ret, NC)
Else
ret = ""
End If
ret = Replace(ret, "%%&&Chr(13)&&%%", vbCrLf)
ReadIni = ret
End Function
Public Function ReadKeys(iSection As String)
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
End If
Dim ret As String, NC As Long
ret = String(m_Buffer, 0)
NC = GetPrivateProfileString(iSection, vbNullString, vbNullString, ret, m_Buffer, m_File)
If NC <> 0 Then
ret = Left$(ret, NC - 1)
End If
ReadKeys = ret
End Function
Public Function ReadSections()
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
End If
Dim ret As String, NC As Long
ret = String(m_Buffer, 0)
NC = GetPrivateProfileString(vbNullString, vbNullString, vbNullString, ret, m_Buffer, m_File)
If NC <> 0 Then
ret = Left$(ret, NC - 1)
End If
ReadSections = ret
End Function
Public Sub WriteIni(iSection As String, iKeyName As String, iValue As Variant)
If m_Buffer = 0 Then
Err.Raise "670", "INIReadWrite", "Erreur : taille buffer"
ElseIf m_File = "" Then
Err.Raise "670", "INIReadWrite", "Nom de fichier non indiqué"
End If
iValue = CStr(iValue)
iValue = Replace(iValue, vbCrLf, "%%&&Chr(13)&&%%")
WritePrivateProfileString iSection, iKeyName, CStr(iValue), m_File
End Sub
Public Function IniPosSet(FormName As Form)
On Error Resume Next
If FormName.WindowState = 0 Then
WriteIni FormName.Name, "Left", FormName.Left
WriteIni FormName.Name, "Top", FormName.Top
WriteIni FormName.Name, "Width", FormName.width
WriteIni FormName.Name, "Height", FormName.Height
End If
If FormName.WindowState <> 1 Then WriteIni FormName.Name, "WindowState", FormName.WindowState
End Function
Public Function IniPosGet(FormName As Form)
On Error Resume Next
If ReadIni(FormName.Name, "WindowState", 0) = 2 Then
FormName.Left = ReadIni(FormName.Name, "Left")
FormName.Top = ReadIni(FormName.Name, "Top")
FormName.width = ReadIni(FormName.Name, "Width")
FormName.Height = ReadIni(FormName.Name, "Height")
FormName.WindowState = 2
Else
FormName.Left = ReadIni(FormName.Name, "Left")
FormName.Top = ReadIni(FormName.Name, "Top")
FormName.width = ReadIni(FormName.Name, "Width")
FormName.Height = ReadIni(FormName.Name, "Height")
FormName.WindowState = 0
End If
End Function
Public Function QuickSet(kKey As String, kVal As String)
On Error Resume Next
WriteIni "APP.GLOBAL", kKey, kVal
End Function
Public Function QuickGet(kKey As String) As String
On Error Resume Next
QuickGet = ReadIni("APP.GLOBAL", kKey)
End Function
Conclusion
Voila, n'hesitez pas a noter la source et à mettre un commentaire.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|