Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

3 questions

3 réponses
Avatar
Salva
Bonjour a tous,

1° Comment faire pour détecter le lecteur de CD/DVD ?

2° Comment faire pour savoir le répertoire de Excel, WinWord,......?


3° Le problème de table Access.

Je créé un programme qui gère une collection de timbres.

Mon problème :

Un N° de timbre par Ex. : 100 Timbre de tourisme.

Le N° 100A le même timbre
mais avec une dentelure différente ou dentelée sur 2 ou 3 cotes

Le N° 100a le même timbre que le N°
100 mais avec une couleur legerment différente ou une surcharge,.....

J'ai crée une table qui comporte plusieurs champs dont :

N° timbre

Annee

Valeur faciale

......

Clef qui est compose de l'année et du N° du timbre + x 0
pour avoir la même longueur de champs.

ex.: 1997-1000100 pour l'exemple cite plus haut

1997-1000100A

1997-1000100a

Le problème se pose bien dans les champs Clef, qui est des champs indexer
sans doublon

Comment faire pour que les 3 types de N° soit pris en comptes ?

Merci de votre aide.

Desole pour le "bafouillage précédent "


Salva

3 réponses

Avatar
Jacques93
Salva a écrit :
Bonjour a tous,

1° Comment faire pour détecter le lecteur de CD/DVD ?

2° Comment faire pour savoir le répertoire de Excel, WinWord,......?




[...]

Seulement 2 réponses, j'y connais rien en philatélie ;-)
(Dans les deux cas on peut utiliser uniquement les API's)

Pour le point tu peux t'inspirer de :

' ------------------------------------------------------------------
Private Sub EnumDrive()
Dim fso As Object ' FileSystemObject : Microsoft Scripting RunTime
Dim drv As Drive
Dim s As String
Dim lResult As Long
Dim Buf As String, DosName As String
Dim i As Integer

' New FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
For Each drv In fso.Drives
Select Case drv.DriveType
Case 0: s = "Type Inconnu"
Case 1: s = "Disque Amovible"
Case 2: s = "Disque Dur"
Case 3: s = "Disque Réseau"
Case 4: s = "CD -Rom"
Case 5: s = "Disque RAM"
End Select
Buf = Space(512)
lResult = QueryDosDevice(drv.DriveLetter & ":", Buf, Len(Buf))
If lResult > 0 Then
DosName = Left(Buf, InStr(Buf, Chr$(0)) - 1)
End If
If drv.DriveType = Removable Then
If LCase(Left(DosName, 14)) <> "devicefloppy" Then
Debug.Print drv.DriveLetter & ": " & s & " (Non disquette)";
ElseIf LCase(Left(DosName, 14)) = "devicefloppy" Then
Debug.Print drv.DriveLetter & ": " & s & " (disquette)";
End If
Else
Debug.Print drv.DriveLetter & ": " & s;
End If
Debug.Print " - " & DosName & " ";
If drv.IsReady Then
Debug.Print " [" & drv.VolumeName & "]"
Else
Debug.Print ""
End If
Next drv
End Sub
' ------------------------------------------------------------------

Pour le deuxième :

' ------------------------------------------------------------------

Private Sub Command1_Click()
MsgBox "Word : " & GetPath("WinWord.exe")
MsgBox "Excel : " & GetPath("Excel.exe")
End Sub

Private Function GetPath(App As String)
Dim WshShell As Object

Set WshShell = CreateObject("WScript.Shell")
GetPath = WshShell.RegRead _
("HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Paths" _
& App & "Path")
Set WshShell = Nothing
End Function

--
Cordialement,

Jacques.
Avatar
Salva
Bonsoir Jacques

Merci pour tes reponses.

Je vais mettre ca en application.

PS. Pour la philatelie, si ca t'interesse....... je peux t'aider.
Le probleme c'est la database !!!!!

Merci encore

a bientot

Salva

"Jacques93" a écrit dans le message de news:

Salva a écrit :
Bonjour a tous,

1° Comment faire pour détecter le lecteur de CD/DVD ?

2° Comment faire pour savoir le répertoire de Excel, WinWord,......?




[...]

Seulement 2 réponses, j'y connais rien en philatélie ;-)
(Dans les deux cas on peut utiliser uniquement les API's)

Pour le point tu peux t'inspirer de :

' ------------------------------------------------------------------
Private Sub EnumDrive()
Dim fso As Object ' FileSystemObject : Microsoft Scripting RunTime
Dim drv As Drive
Dim s As String
Dim lResult As Long
Dim Buf As String, DosName As String
Dim i As Integer

' New FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
For Each drv In fso.Drives
Select Case drv.DriveType
Case 0: s = "Type Inconnu"
Case 1: s = "Disque Amovible"
Case 2: s = "Disque Dur"
Case 3: s = "Disque Réseau"
Case 4: s = "CD -Rom"
Case 5: s = "Disque RAM"
End Select
Buf = Space(512)
lResult = QueryDosDevice(drv.DriveLetter & ":", Buf, Len(Buf))
If lResult > 0 Then
DosName = Left(Buf, InStr(Buf, Chr$(0)) - 1)
End If
If drv.DriveType = Removable Then
If LCase(Left(DosName, 14)) <> "devicefloppy" Then
Debug.Print drv.DriveLetter & ": " & s & " (Non disquette)";
ElseIf LCase(Left(DosName, 14)) = "devicefloppy" Then
Debug.Print drv.DriveLetter & ": " & s & " (disquette)";
End If
Else
Debug.Print drv.DriveLetter & ": " & s;
End If
Debug.Print " - " & DosName & " ";
If drv.IsReady Then
Debug.Print " [" & drv.VolumeName & "]"
Else
Debug.Print ""
End If
Next drv
End Sub
' ------------------------------------------------------------------

Pour le deuxième :

' ------------------------------------------------------------------

Private Sub Command1_Click()
MsgBox "Word : " & GetPath("WinWord.exe")
MsgBox "Excel : " & GetPath("Excel.exe")
End Sub

Private Function GetPath(App As String)
Dim WshShell As Object

Set WshShell = CreateObject("WScript.Shell")
GetPath = WshShell.RegRead _
("HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Paths" _
& App & "Path")
Set WshShell = Nothing
End Function

--
Cordialement,

Jacques.


Avatar
LE TROLL
Il existe plein de logiciels gratuits de
philatélie...


--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Salva" a écrit dans le
message de news:

| Bonjour a tous,
|
| 1° Comment faire pour détecter le lecteur de
CD/DVD ?
|
| 2° Comment faire pour savoir le répertoire de
Excel, WinWord,......?
|
|
| 3° Le problème de table Access.
|
| Je créé un programme qui gère une collection de
timbres.
|
| Mon problème :
|
| Un N° de timbre par Ex. : 100 Timbre
de tourisme.
|
| Le N° 100A
le même timbre
| mais avec une dentelure différente ou dentelée
sur 2 ou 3 cotes
|
| Le N° 100a
le même timbre que le N°
| 100 mais avec une couleur legerment différente
ou une surcharge,.....
|
| J'ai crée une table qui comporte plusieurs
champs dont :
|
| N° timbre
|
| Annee
|
| Valeur faciale
|
| ......
|
| Clef qui est compose de l'année
et du N° du timbre + x 0
| pour avoir la même longueur de champs.
|
| ex.: 1997-1000100 pour
l'exemple cite plus haut
|
| 1997-1000100A
|
| 1997-1000100a
|
| Le problème se pose bien dans les champs Clef,
qui est des champs indexer
| sans doublon
|
| Comment faire pour que les 3 types de N° soit
pris en comptes ?
|
| Merci de votre aide.
|
| Desole pour le "bafouillage précédent "
|
|
| Salva
|
|