Gambas France BETA


Pas de compte ? Incription

[GB3]Fichier Binaire Écrire & Lire.

À propos de ce code

Bonjour.

J'ai parfois été obligé d'analyser une Variable "String",
parce-qu’elle m'affichait autres choses que celles attendues.
Donc Obligé de Coder a chaque fois, une Analyse de la dite "String".
Maintenant je la met dans un Binaire, que j' Édite dans GHex.
(C'est plus clair, et surtout à Analyser).
C'est pourquoi, le Code que je vous propose.

Vos remarques seront les bienvenues.

Code source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
' Gambas class file

' [GB3]Fichier Binaire Écrire & Lire.
' Fichier Binaire éditable avec GHex,
' installable via la Logithèque.
'
PUBLIC SUB form_Open()

DIM sPathFile AS STRING
DIM SstringTest AS STRING = Chr$(1) & "Pour Tester avec" & Chr$(0) & "Caractère non Imprimable."

PRINT SstringTest

'Récupère le Chemin du Dossier de l'Utilisateur connecté.
'Façon Shell:
'Shell "echo $HOME" To sPathFile

'Façon Gambasien: Merci Manu
'Et en plus ça Coule.
sPathFile = User.Home

'Supprime le caractère de Fin de chaîne,
'et rajoute le Nom du Fichier Binaire Cible.
'Ici " /myFileBin.bin ", par Défaut.
sPathFile = Trim$(sPathFile) & "/myFileBin.bin"

'Enregistre la Variable " SstringTest ", dans le Fichier Binaire Cible.
WriteFileBin(SstringTest, sPathFile)

'Affiche le Fichier Binaire Cible dans la Console.
PRINT ReadFileBin(sPathFile)

END

PUBLIC SUB WriteFileBin(sString AS STRING, sPathFile AS STRING)

DIM hMyFile AS File
DIM iLen, iWhl AS INTEGER

iLen = Len(sString)
iWhl = 1

hMyFile = OPEN sPathFile FOR CREATE
WHILE iWhl <= iLen
WRITE #hMyFile, Mid$(sString, iWhl, 1)
INC iWhl
WEND
CLOSE hMyFile

PRINT " myFileBin.bin is Créate."
PRINT

END

PUBLIC FUNCTION ReadFileBin(sSTring AS STRING) AS STRING

DIM hMyFile AS File
DIM iByte AS BYTE

hMyFile = OPEN sSTring FOR READ
sSTring = ""
WHILE NOT Eof(hMyFile)
READ #hMyFile, iByte
sSTring = sSTring & Chr$(iByte)
WEND
CLOSE hMyFile

PRINT " myFileBin.bin Contains:"

RETURN sSTring

END

Commentaires

Commentaire de manu, Le 13/6/2012 à 14:24:45
'Récupère le Chemin du Dossier de l'Utilisateur connecté.
Shell "echo $HOME" To sPathFile

Plus "gambasien" ;) :

sPathyFile = user.home

Commentaire de Reivillo, Le 14/6/2012 à 00:10:10
Bonsoir manu.

Nous retenons ton Retour.

Il va de soit qu'il faut Maximum Gambasiner.
User.Home, pas Chercher, donc pas Trouver!

C'est là, peut-être l'intéret,
de ce genre de Micro Code.

Correction du Code à venir.

Encore Merci pour ton Retour.

Reivillo.